OSDN Git Service
Johan Euphrosine [Fri, 22 May 2015 22:28:24 +0000 (22:28 +0000)]
Merge "frameworks/native/docs: add doxygen configuration"
Johan Euphrosine [Thu, 21 May 2015 08:15:34 +0000 (01:15 -0700)]
frameworks/native/docs: add doxygen configuration
Change-Id: I7803d9beceac46488869e4874f6f5f7a7925a796
Elliott Hughes [Sat, 16 May 2015 00:26:09 +0000 (00:26 +0000)]
Merge "Don't use TEMP_FAILURE_RETRY on close in frameworks/native."
Elliott Hughes [Sat, 16 May 2015 00:05:40 +0000 (17:05 -0700)]
Don't use TEMP_FAILURE_RETRY on close in frameworks/native.
Bug: http://b/
20501816
Change-Id: Id13a62f02243c6c4831e2f47944dc34fa822f5b6
Dan Stoza [Thu, 14 May 2015 17:56:27 +0000 (17:56 +0000)]
Merge "SurfaceFlinger: Handle EGL errors more cleanly"
Dan Stoza [Thu, 14 May 2015 16:27:25 +0000 (09:27 -0700)]
SurfaceFlinger: Handle EGL errors more cleanly
Adds some more safety checking for cases where we get an error while
trying to create the EGLImage. The checking puts the Layer into a
failed state after detecting an error, since the shadow queue may no
longer be synchronized.
Bug:
20957332
Change-Id: I68b4c40eab3e58731b875ed5752f2c7d17f14bcb
(cherry picked from commit
65476f3332641066a99e22338bf5cf49ce4af642)
Hiroshi Yamauchi [Wed, 13 May 2015 22:47:42 +0000 (22:47 +0000)]
Merge "Replace JNI primitive array critical calls with non-critical ones."
Hiroshi Yamauchi [Wed, 13 May 2015 20:11:30 +0000 (13:11 -0700)]
Replace JNI primitive array critical calls with non-critical ones.
The glgen part.
(cherry pick commit
4e7de461c18278a31be83e7c9074a02fbb6e9475)
Bug:
19235243
Change-Id: I0d1e78acf39feb37a67e857216a6d52f4cede180
Dan Stoza [Wed, 13 May 2015 17:53:22 +0000 (17:53 +0000)]
Merge "Fix PTS handling for buffer replacement"
Dan Stoza [Wed, 13 May 2015 17:52:46 +0000 (17:52 +0000)]
Merge "binder: add uint64 support to Parcel."
Dan Stoza [Tue, 12 May 2015 19:56:16 +0000 (12:56 -0700)]
Fix PTS handling for buffer replacement
This changes the way that SurfaceFlinger's shadow buffer management
works such that instead of tracking the size of the shadow queue in the
BufferQueue, SF tracks the last frame number it has seen, and passes
that into the acquireBuffer call. BufferQueueConsumer then ensures that
it never returns a buffer newer than that frame number, even if that
means that it must return PRESENT_LATER for an otherwise valid buffer.
Change-Id: I3fcb45f683ed660c3f18a8b85ae1f8a962ba6f0e
(cherry picked from commit
a4650a50a0b35e9e4342d6600b6eb24fd94bb8e5)
Ronghua Wu [Mon, 16 Mar 2015 18:11:07 +0000 (11:11 -0700)]
binder: add uint64 support to Parcel.
Bug:
19620911
Change-Id: Ifce5319e4e35afd344dead67ab7ba1cd399476a3
(cherry picked from commit
2d13afdfa1f43973bf3cb917c7d6496a38baa446)
Dan Stoza [Tue, 12 May 2015 22:33:38 +0000 (22:33 +0000)]
Merge "libgui: Always allow allocation on connect"
Johan Euphrosine [Tue, 12 May 2015 22:05:21 +0000 (22:05 +0000)]
Merge "frameworks/native: document native types and enums"
Dan Stoza [Tue, 12 May 2015 21:55:15 +0000 (14:55 -0700)]
libgui: Always allow allocation on connect
This change places BufferQueue into a predictable state where
allocation is allowed whenever a producer connects. This allows clients
to disconnect and reconnect without having to worry about being locked
out of allocation.
Bug:
20554276
Change-Id: Ic0f920a3d4204f2cafdfa69e46f3bb4204571d7e
(cherry picked from commit
2b83cc920ac98498bee161e2b0e7befdfc82ca2b)
Johan Euphrosine [Sat, 28 Mar 2015 00:15:43 +0000 (17:15 -0700)]
frameworks/native: document native types and enums
Change-Id: Id94b610f27b87426abb30e13484cbd16990aa995
Dan Stoza [Tue, 12 May 2015 17:18:11 +0000 (17:18 +0000)]
Merge "libgui: Hook up onFrameReplaced"
Dan Stoza [Mon, 11 May 2015 22:33:01 +0000 (15:33 -0700)]
libgui: Hook up onFrameReplaced
This completes the plumbing from ConsumerListener::onFrameReplaced into
SurfaceFlinger (and other consumers that may care).
Change-Id: I376e78ace95d6748e8662e6b4d47c0dfa697a300
(cherry picked from commit
dc13c5b85b099050c73297a19f1ef89308f7620b)
Jesse Hall [Mon, 11 May 2015 21:31:44 +0000 (21:31 +0000)]
Merge "libEGL: whitelist the EGL_KHR_create_context_no_error extension"
Jesse Hall [Fri, 24 Apr 2015 08:40:42 +0000 (01:40 -0700)]
libEGL: whitelist the EGL_KHR_create_context_no_error extension
Allow EGL implementations to expose the
EGL_KHR_create_context_no_error extension if they wish.
https://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_create_context_no_error.txt
Change-Id: I3290ccc2a69a1fa0b00ec3f1aa4f876906c64bfb
Chris Craik [Thu, 7 May 2015 16:20:52 +0000 (16:20 +0000)]
Merge "Added Voltage and Current regulator ftrace events to atrace"
Dan Stoza [Wed, 6 May 2015 16:50:38 +0000 (16:50 +0000)]
Merge "SF: Apply pending transactions to new sidebands"
Dan Stoza [Tue, 5 May 2015 21:00:52 +0000 (14:00 -0700)]
SF: Apply pending transactions to new sidebands
When a Layer's sideband stream is set, apply any pending transactions.
Otherwise they would never be applied since sideband streams don't
trigger updates by pushing new buffers.
Bug:
20125898
Change-Id: I0c7a91cdf84e6205801f4ab64eee0b09e4c0b3e0
(cherry picked from commit
3b04e1383eca6cb1d43ebe23a421c427007690c7)
Dan Stoza [Mon, 4 May 2015 16:57:53 +0000 (16:57 +0000)]
Merge "libgui: Clear frame number while freeing slot"
Dan Stoza [Fri, 1 May 2015 23:42:55 +0000 (16:42 -0700)]
libgui: Clear frame number while freeing slot
Clears the frame number of a slot when it is freed, since it is used
to determine if a released buffer is stale.
Bug:
20445852
Change-Id: I02415e7b25a1eafe7414d6eb1cedf62ac5543cd9
(cherry picked from commit
52937cd9a543fe66696c38ae50ec141aa70ec1e4)
Mark Salyzyn [Fri, 1 May 2015 21:48:51 +0000 (21:48 +0000)]
Merge "dumpstate: report per-partition MMC performance"
Dan Stoza [Fri, 1 May 2015 20:28:47 +0000 (20:28 +0000)]
Merge "SurfaceFlinger: Fix PTS on stale buffers"
Dan Stoza [Tue, 28 Apr 2015 21:42:06 +0000 (14:42 -0700)]
SurfaceFlinger: Fix PTS on stale buffers
SurfaceFlinger's (Layer's) shadow copy of the BufferQueue queue was
getting out of sync for a few reasons. This change fixes these by
doing the following:
- Adds a check to re-synchronize the shadow copy every time we
successfully acquire a buffer by first dropping stale buffers before
removing the current buffer.
- Avoids trying to perform updates for buffers which have been rejected
(for incorrect dimensions) by SurfaceFlinger.
- Adds IGraphicBufferConsumer::setShadowQueueSize, which allows the
consumer to notify the BufferQueue that it is maintaining a shadow
copy of the queue and prevents it from dropping so many buffers
during acquireBuffer that it ends up returning a buffer for which the
consumer has not yet received an onFrameAvailable call.
Bug:
20096136
Change-Id: I78d0738428005fc19b3be85cc8f1db498043612f
Dan Stoza [Thu, 30 Apr 2015 22:09:37 +0000 (22:09 +0000)]
Merge "SurfaceFlinger: Limit to 4k Layers"
Dan Stoza [Thu, 30 Apr 2015 21:57:15 +0000 (21:57 +0000)]
Merge "SurfaceFlinger: Fix integer overflow in Mesh ctor"
Dan Stoza [Thu, 30 Apr 2015 21:49:39 +0000 (21:49 +0000)]
Merge "Close Fence FDs in error cases of Surface and GraphicBufferMapper"
Dan Stoza [Thu, 30 Apr 2015 20:29:25 +0000 (13:29 -0700)]
SurfaceFlinger: Limit to 4k Layers
Sets a limit of 4k Layers which SurfaceFlinger will allow to be in
existence at any given time. An attempt to create Layers in excess of
this limit will fail with NO_MEMORY.
Bug:
20674586
Change-Id: I2dfaf59643d826f982b2fa44e8a9ed643176d972
Mark Salyzyn [Thu, 30 Apr 2015 16:49:41 +0000 (09:49 -0700)]
dumpstate: report per-partition MMC performance
Change-Id: If5cabe186d8377056effa1c0672a90e277cd7221
Dan Stoza [Wed, 29 Apr 2015 20:30:31 +0000 (13:30 -0700)]
SurfaceFlinger: Fix integer overflow in Mesh ctor
Performs range checking on the inputs to Mesh::Mesh() before allocating
the storage array.
Bug:
20674682
Change-Id: I4fc918a8c312d967dd6d9f91a098b2e0a7081027
Dan Stoza [Thu, 30 Apr 2015 19:36:24 +0000 (19:36 +0000)]
Merge "Remove gamma correction from color correction shader"
Dan Stoza [Thu, 30 Apr 2015 16:34:11 +0000 (16:34 +0000)]
Merge "Avoid closing invalid FD in Surface and GraphicBufferMapper"
Taiju Tsuiki [Thu, 30 Apr 2015 13:13:14 +0000 (22:13 +0900)]
Avoid closing invalid FD in Surface and GraphicBufferMapper
GraphicBufferMapper::lockAsync{,YCbCr} close the fence FD even when the FD
is invalid.
Change-Id: Ia2b4dae3b2c06426e34f623f19ba92435f486ab7
Taiju Tsuiki [Thu, 30 Apr 2015 13:15:33 +0000 (22:15 +0900)]
Close Fence FDs in error cases of Surface and GraphicBufferMapper
Surface::{cancel,queue}Buffer and GraphicBufferMapper::lockAsyncYCbCr take the
ownership of |fenceFd|s. Though they don't close it on error cases.
Change-Id: I49a7ce8837d5c510c4ac4ad4649f310d18610e80
Alan Viverette [Wed, 29 Apr 2015 00:15:57 +0000 (17:15 -0700)]
Remove gamma correction from color correction shader
Gamma correction was incorrectly skewing both color inversion and
Daltonization, which resulted in washed-out colors.
Bug:
20346301
Change-Id: I34d879f902c3be115b2d23f09c3ed3902799759e
(cherry picked from commit
3acd9f1d8fdffc0ed0837ebbabcac0c4014015b3)
Dan Stoza [Wed, 29 Apr 2015 17:21:49 +0000 (17:21 +0000)]
Merge "BufferQueue: Add NATIVE_WINDOW_BUFFER_AGE query"
Dan Stoza [Wed, 29 Apr 2015 17:17:52 +0000 (17:17 +0000)]
Merge "libgui: Implement onTransact for sideband streams"
Nick Kralevich [Wed, 29 Apr 2015 04:16:23 +0000 (04:16 +0000)]
Merge "Parcel.cpp: use calloc instead of malloc"
Nick Kralevich [Tue, 28 Apr 2015 23:21:30 +0000 (16:21 -0700)]
Parcel.cpp: use calloc instead of malloc
Bug:
20669363
Change-Id: Ia4c8d8ca9d8b4b87954d7267e8b1c94cf4e570e1
Dan Stoza [Thu, 26 Feb 2015 00:49:08 +0000 (16:49 -0800)]
BufferQueue: Add NATIVE_WINDOW_BUFFER_AGE query
Adds a NATIVE_WINDOW_BUFFER_AGE query, which returns the age of the
contents of the most recently dequeued buffer as the number of frames
that have elapsed since it was last queued.
Change-Id: Ib6fd62945cb62d1e60133a65beee510363218a23
Dan Stoza [Tue, 28 Apr 2015 20:18:07 +0000 (13:18 -0700)]
libgui: Implement onTransact for sideband streams
Implements the GET_SIDEBAND_STREAM case of
IGraphicBufferConsumer::onTransact
Change-Id: I46138b87ce2d70dde48b3561dcd378ce5fd8f383
Dan Stoza [Tue, 28 Apr 2015 17:36:54 +0000 (17:36 +0000)]
Merge "libgui: Change detachNextBuffer to return sp<GB>"
Dan Stoza [Mon, 27 Apr 2015 18:06:01 +0000 (11:06 -0700)]
libgui: Change detachNextBuffer to return sp<GB>
Changes Surface::detachNextBuffer to return an sp<GraphicBuffer>
instead of an ANativeWindowBuffer* to ensure that reference counting
works correctly.
Bug:
20092217
Change-Id: I3979ea6121aaf14845f0554477b778770413581e
Andreas Gampe [Mon, 27 Apr 2015 15:14:42 +0000 (15:14 +0000)]
Merge "Installd: Add debug.gencfi to run_dex2oat"
Andreas Gampe [Fri, 24 Apr 2015 21:30:04 +0000 (14:30 -0700)]
Installd: Add debug.gencfi to run_dex2oat
Add the debug.gencfi system property that forces generation of
CFI data.
Change-Id: Ida66f8c1567634d05cfdbba1a982be3684e94369
Michael Wright [Mon, 27 Apr 2015 14:13:21 +0000 (14:13 +0000)]
Merge "Check orientation range has been initialized first"
Dan Stoza [Fri, 24 Apr 2015 15:50:09 +0000 (15:50 +0000)]
Merge "libgui: Allow an IGBProducer to disable allocation"
Dan Stoza [Fri, 24 Apr 2015 15:48:37 +0000 (15:48 +0000)]
Merge "libgui: Change BufferQueue to use free lists"
Dan Stoza [Thu, 23 Apr 2015 22:53:36 +0000 (22:53 +0000)]
Merge "libgui: Fix some bitrot/warnings in tests"
Dan Stoza [Thu, 23 Apr 2015 22:51:00 +0000 (22:51 +0000)]
Merge "libui/libgui: Fix errors in parceling"
Dan Stoza [Fri, 17 Apr 2015 00:28:43 +0000 (17:28 -0700)]
libgui: Allow an IGBProducer to disable allocation
Adds a new method IGBP::allowAllocation, which controls whether
dequeueBuffer is permitted to allocate a new buffer. If allocation is
disallowed, dequeueBuffer will block or return an error as it
normally would (as controlled by *ControlledByApp).
If there are free buffers, but they are not of the correct dimensions,
format, or usage, they may be freed if a more suitable buffer is not
found first.
Bug:
19801715
Change-Id: I0d604958b78b2fd775c2547690301423f9a52165
Dan Stoza [Thu, 23 Apr 2015 20:20:51 +0000 (13:20 -0700)]
libgui: Change BufferQueue to use free lists
BufferQueue used to choose free buffers by scanning through its array
of slots and picking one based on timestamp. This changes that
mechanism to use a pair of free lists: one with buffers attached and
one without. This makes it easier to choose either type of free slot
depending on the needs of the current operation.
Fixes an issue with the first version of this change, found in bugs
20482952,
20443314, and
20464549.
Bug:
13175420
Change-Id: I9b6e83cfe8f9b4329a976025cb8e291d51fb6d4a
Dan Stoza [Wed, 22 Apr 2015 23:57:28 +0000 (23:57 +0000)]
Merge "SF: Always perform sideband transactions"
Dan Stoza [Wed, 22 Apr 2015 21:59:08 +0000 (14:59 -0700)]
SF: Always perform sideband transactions
On normal Layers, we defer applying resize transactions until a buffer
of the correct size arrives. This breaks with sideband streams, because
buffers are not seen by SurfaceFlinger. This change applies
transactions immediately for Layers which have a sideband stream
attached to avoid that problem.
Bug:
20428254
Change-Id: I379d8aaef460d467cdf8432764b4a504928fb65a
(cherry picked from commit
c300b8b506536e1bf94ffd8a3b75d46e776923e0)
Dan Stoza [Wed, 22 Apr 2015 18:59:01 +0000 (18:59 +0000)]
Merge "Revert "libgui: Change BufferQueue to use free lists""
Dan Stoza [Wed, 22 Apr 2015 18:57:39 +0000 (18:57 +0000)]
Revert "libgui: Change BufferQueue to use free lists"
This reverts commit
8dddc990103b71137be2a6365a26b1ac36598e68.
Change-Id: I0b0fed9f1394c6f6ae812f6c562ead4473a8226e
Dan Stoza [Wed, 22 Apr 2015 00:07:51 +0000 (00:07 +0000)]
Merge "libgui: Fix CPU rendering on Surface"
Dan Stoza [Tue, 21 Apr 2015 23:42:49 +0000 (16:42 -0700)]
libgui: Fix CPU rendering on Surface
When the surface damage code went in, it incorrectly assumed that if
an application was doing CPU rendering, it would be using lock and
unlockAndPost instead of dequeue and queue, so it repurposed the dirty
region too aggressively. This change keeps it from clobbering the
dirty region if a CPU producer is attached.
Bug:
20431815
Change-Id: Id4dfd71378311ea822f0289f6de2d20a7bd84014
Dan Stoza [Mon, 20 Apr 2015 19:09:38 +0000 (12:09 -0700)]
libgui: Fix some bitrot/warnings in tests
These tests hadn't been run in a while and had accumulated some rot.
This fixes most of the compile warnings and some tests which fail
incorrectly, but 2 failures remain on N6.
Change-Id: I7fee78cd058a32f4d7df40ec9f899ff767f68517
Dan Stoza [Mon, 20 Apr 2015 19:07:13 +0000 (12:07 -0700)]
libui/libgui: Fix errors in parceling
BufferItem and GraphicBuffer were not parceling correctly, which had
not been noticed because the libgui tests (specifically, one that
tests placing a BufferQueue in a separate process from the IGBP/C)
had not been run recently. This change fixes the errors found in
those classes.
Change-Id: Ie224361a534a79115a3481d83ff97f21d154d4f5
Dan Stoza [Mon, 20 Apr 2015 20:14:13 +0000 (20:14 +0000)]
Merge "libgui: Change BufferQueue to use free lists"
Dan Stoza [Thu, 16 Apr 2015 22:39:18 +0000 (15:39 -0700)]
libgui: Change BufferQueue to use free lists
BufferQueue used to choose free buffers by scanning through its array
of slots and picking one based on timestamp. This changes that
mechanism to use a pair of free lists: one with buffers attached and
one without. This makes it easier to choose either type of free slot
depending on the needs of the current operation.
Bug:
13175420
Change-Id: Ic8398e7511bd11a60a1c82e3ad2ee271c9822be1
Dan Stoza [Wed, 15 Apr 2015 21:37:19 +0000 (21:37 +0000)]
Merge "SF: Permit changing DispSync offsets at runtime"
Dan Stoza [Tue, 14 Apr 2015 18:34:01 +0000 (11:34 -0700)]
SF: Permit changing DispSync offsets at runtime
This modifies EventThread such that its phase offsets for both
Choreographer and SurfaceFlinger may be modified at runtime. It also
plumbs this functionality up to the SurfaceFlinger debug interface so
that it is possible to rapidly test different offsets without
restarting the framework.
Change-Id: I426873f8553f931250dfebc9a8a4a78e9f1f4309
Dan Stoza [Wed, 15 Apr 2015 20:34:50 +0000 (20:34 +0000)]
Merge "SurfaceFlinger: Pass surface damage to HWC"
Dan Stoza [Wed, 15 Apr 2015 20:26:55 +0000 (20:26 +0000)]
Merge "libgui: Pass surface damage through BufferQueue"
Dan Stoza [Mon, 23 Mar 2015 22:50:23 +0000 (15:50 -0700)]
SurfaceFlinger: Pass surface damage to HWC
Passes the surface damage from the incoming SurfaceFlingerConsumer
BufferQueue down to the hardware composer HAL interface, if the
HWC version number is 1.5 or greater.
Bug:
11239309
Change-Id: Ic4305210593874a8d6deba3319055b2b8c57e926
Dan Stoza [Tue, 17 Mar 2015 23:23:42 +0000 (16:23 -0700)]
libgui: Pass surface damage through BufferQueue
This change adds support for passing surface damage all of the way
down from the EGL interface through the consumer side of the
BufferQueue. Depends on system/core change
Ie645e6a52b37b5c1b3be19481e8348570d1aa62c
Bug:
11239309
Change-Id: I4457ea826e9ade4ec187f973851d855b7b93a31b
Dan Stoza [Wed, 15 Apr 2015 20:13:53 +0000 (20:13 +0000)]
Merge "libui: Clean up Fence and Region flattening"
Dan Stoza [Wed, 15 Apr 2015 20:08:35 +0000 (20:08 +0000)]
Merge "libEGL: Add wrappers for partial update functions"
Dan Stoza [Mon, 23 Mar 2015 20:46:14 +0000 (13:46 -0700)]
libui: Clean up Fence and Region flattening
Fence was flattening incorrectly, causing issues with any fields
flattened after it, and Region was relying on being the last object
flattened. This change addresses both.
Change-Id: If49de061de6e2f11f4d846b4d8c18627dfb7e109
Dan Stoza [Thu, 19 Feb 2015 23:27:36 +0000 (15:27 -0800)]
libEGL: Add wrappers for partial update functions
This adds EGL wrapper functions for the following EGL extensions:
EGL_EXT_buffer_age
EGL_KHR_partial_update
EGL_KHR_swap_buffers_with_damage
Change-Id: I407acda1e0310f7f01a5efe9c915721a941138a4
Dan Stoza [Tue, 14 Apr 2015 17:50:39 +0000 (17:50 +0000)]
Merge "Fix a memory corruption issue when vector resize"
baik.han [Tue, 14 Apr 2015 10:49:28 +0000 (19:49 +0900)]
Check orientation range has been initialized first
To avoid nan or infinity when orientation value is used for
calculation without being initialized, check mOrientedRanges.haveOrientation
value before using mOrientedRanges.orientation.min or .max value.
Change-Id: I68ed9ab36819c5faa6422e9f061e1275aeed11e3
Signed-off-by: Baik Han <baik.han@lge.com>
Jeff Sharkey [Fri, 10 Apr 2015 21:00:41 +0000 (21:00 +0000)]
Merge "Command to move private app data between volumes."
Jeff Sharkey [Thu, 9 Apr 2015 03:56:42 +0000 (20:56 -0700)]
Command to move private app data between volumes.
New "mvuserdata" command will move all private app data from one
volume UUID to another. It leverages the existing "cp" toybox
command to do the heavy lifting for all known users, preserving
details like timestamps and permissions. It invokes restorecon()
to correctly label the new location when the copy is finished.
Changes installd to no longer drop capabilities, so we run as root
again. This also allows us to exec "cp" with CAP_DAC_OVERRIDE and
CAP_FOWNER still in effect.
Bug:
19993667
Change-Id: I1f407a7c4a1af97ca5afc27b04eb16b4936cbdef
ywen [Thu, 26 Mar 2015 11:51:12 +0000 (19:51 +0800)]
Fix a memory corruption issue when vector resize
There is memory corruption in below code
const Rect* prev = &dst[prevIndex];
dst.add(Rect(prev->right, top, right, bottom));
prev points to a memory of vector dst, when dst resize in add()
call, the memory that prev points to will be copy to the new
allocated vector memory and the old memory will become undefined
Avoid pointer in this case, use a local copy instead
Change-Id: I4d95ceedd00c8fb615ac153082ade1b1ce0d0fa8
Jeff Sharkey [Thu, 9 Apr 2015 21:41:11 +0000 (21:41 +0000)]
Merge "Start accepting volume UUIDs from framework."
Jeff Sharkey [Thu, 9 Apr 2015 20:10:03 +0000 (13:10 -0700)]
Start accepting volume UUIDs from framework.
We're now parsing and passing through volume UUIDs sent across the
command socket. The "!" argument value is treated as null, which
means internal storage.
Bug:
19993667
Change-Id: I17729a769ce687a2e94e85991a6338c77ded0b66
Jeff Sharkey [Thu, 9 Apr 2015 19:45:03 +0000 (19:45 +0000)]
Merge "More volume UUID awareness."
Jeff Sharkey [Thu, 9 Apr 2015 18:34:03 +0000 (11:34 -0700)]
More volume UUID awareness.
Teach free_cache() and restorecon_data() about building per-volume
paths. Also clean up restorecon_data() by using std::string when
building paths.
Clearer names for path building utility methods, and tests to verify.
Bug:
19993667
Change-Id: Iacfbcdaa5b901cc2490bc8eba366dfdeb44f1d93
Andreas Gampe [Thu, 9 Apr 2015 16:55:48 +0000 (16:55 +0000)]
Merge "Installd: Fix Clang build"
Andreas Gampe [Thu, 9 Apr 2015 16:52:45 +0000 (09:52 -0700)]
Installd: Fix Clang build
Remove some unused parameters and variables.
Change-Id: I507ae48fe1744b800ceb29192d463fd26c2ccda7
Jeff Sharkey [Thu, 9 Apr 2015 16:27:18 +0000 (16:27 +0000)]
Merge "Plumb through volume UUID when building paths."
Richard Uhler [Thu, 9 Apr 2015 14:13:27 +0000 (14:13 +0000)]
Merge "installd: Add support for SELF_PATCHOAT_NEEDED."
Mark Salyzyn [Wed, 8 Apr 2015 18:03:35 +0000 (18:03 +0000)]
Merge "dumpstate: scrub APANIC"
Mark Salyzyn [Wed, 8 Apr 2015 17:51:51 +0000 (10:51 -0700)]
dumpstate: scrub APANIC
Bug:
19525200
Change-Id: Ia2d2857cac953fb4ceafb66ddf775d89d7a777b1
Jeff Sharkey [Wed, 8 Apr 2015 01:14:05 +0000 (18:14 -0700)]
Plumb through volume UUID when building paths.
Since app data paths can live on expanded storage devices, accept the
target volume UUID when building paths. The null UUID indicates the
default internal storage.
To improve readability, start using std::string in several places,
which throws when allocations fail. For now, perform last-second
sanity checks on incoming path arguments, but we'll eventually want
to check arguments as they come through installd.cpp, instead of
crashing the entire daemon.
Also remove "lib" symlink code from install() and make_user_data(),
since we're no longer supporting /data/app-lib. The framework
already uses linklib() to create the right symlink for the selected
ISA-specific library dir.
Bug:
19993667
Change-Id: Ib9343575ffb62bf3981e19375de8f3822fc31e28
Richard Uhler [Thu, 26 Mar 2015 22:47:38 +0000 (15:47 -0700)]
installd: Add support for SELF_PATCHOAT_NEEDED.
Change-Id: Ib9a6373f98474f1242367b5285086251a9d580e5
Dan Stoza [Tue, 7 Apr 2015 22:38:00 +0000 (22:38 +0000)]
Merge "libgui: Plumb detachBuffer through ConsumerBase"
Dan Stoza [Fri, 3 Apr 2015 21:22:05 +0000 (14:22 -0700)]
libgui: Plumb detachBuffer through ConsumerBase
Exposes IGraphicBufferConsumer::detachBuffer as a ConsumerBase
method. attachBuffer is not currently exposed, because all current
clients will be recycling buffers through the allocator.
Bug:
19628705
Change-Id: I3e519767fa43d5d880c1d5695e31b60f6ad588af
Jeff Sharkey [Tue, 7 Apr 2015 21:04:28 +0000 (21:04 +0000)]
Merge "Switch installd to compile as C++."
Jeff Sharkey [Tue, 7 Apr 2015 21:03:41 +0000 (21:03 +0000)]
Merge "Valid APK paths now include expanded storage."
Jeff Sharkey [Tue, 7 Apr 2015 19:44:51 +0000 (12:44 -0700)]
Switch installd to compile as C++.
This is the minimal change needed to switch it over to C++, which
paves the way for using more robust utilities like std::string.
Change-Id: I80ed6280146875eb6ddbbb340c05450388ca13f0
Jeff Sharkey [Mon, 6 Apr 2015 23:19:39 +0000 (16:19 -0700)]
Valid APK paths now include expanded storage.
Apps on expanded storage live at /mnt/expand/<uuid>/app/com.example,
so we need to relax one more directory level.
Bug:
19993667
Change-Id: I347ec7b92435ea69e632ed5d5fdfabe38ce0b56e
Fyodor Kupolov [Tue, 7 Apr 2015 20:09:43 +0000 (20:09 +0000)]
Merge "Use AID_SYSTEM as uid when creating oat dir"