summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* frameworks/base refactoringMathias Agopian2012-02-2042-110/+360
| | | | | | create the new libandroidfw from parts of libui and libutils Change-Id: I1584995616fff5d527a2aba63921b682a6194d58
* Power HAL PowerManagerService hookupTodd Poynor2012-02-173-1/+25
| | | | | | | Use PowerHAL to set system awake/suspend state. Change-Id: If58a6f548564ea141b68f304455997d9ff04eace Signed-off-by: Todd Poynor <toddpoynor@google.com>
* Merge "frameworks/base refactoring."Mathias Agopian2012-02-1758-89/+89
|\
| * frameworks/base refactoring.Mathias Agopian2012-02-1758-89/+89
| | | | | | | | | | | | step 2: move libutils headers to their new home: androidfw Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
* | Correctly offset the dirty bounds by 0.5px in every directionRomain Guy2012-02-171-1/+2
|/ | | | | | The existing code was behaving differently for the leaf view and its parents. Change-Id: I14c1ce5cc149ff840ad957408d6a41bbb4137264
* Merge "Work around VSync signal while screen is off."Jason Sams2012-02-171-0/+4
|\
| * Work around VSync signal while screen is off.Jason Sams2012-02-171-0/+4
| | | | | | | | Change-Id: I0a9637170ee658ff84a363e91c558892dce5cfaf
* | Merge "Add transient state tracking to Views"Adam Powell2012-02-178-12/+229
|\ \
| * | Add transient state tracking to ViewsAdam Powell2012-02-178-12/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Transient state is temporary bookkeeping that Views need to perform that the app should not need to be aware of. Examples include text selection regions and animation state. Transient state is a problem for AdapterViews like ListView that do view recycling. Unless the app takes responsibility for tracking and restoring transient state as if it were a part of the adapter's data set, it cannot correctly recycle views. Selections disappear when an EditText is scrolled out of sight and animations seem to play on the wrong views. Views can now flag themselves as having transient state. (As the name implies, this should be a temporary condition.) If a ViewGroup contains a child with transient state, that ViewGroup also has transient state. AbsListView's recycler now tracks views with transient state separately. Views with transient state will be retained, and until a data set change occurs the same view will be reused for that position instead of calling the adapter's getView() method. The API to set and check transient state is currently hidden. Change-Id: Idfd8eaac2c548337686d8d9f98fda4c64be5b8a0
* | | Fix build break.Jeff Brown2012-02-171-3/+3
| | | | | | | | | | | | Change-Id: I0bc8ac6e76ff28bd4c3585afbd6b3aa1930bf710
* | | Merge "frameworks/base refactoring."Jeff Brown2012-02-1742-77/+95
|\ \ \ | |/ / |/| |
| * | frameworks/base refactoring.Mathias Agopian2012-02-1742-77/+95
| | | | | | | | | | | | | | | | | | First step. Move libui includes to their new home: androidfw. Change-Id: Ic042b52fdba72f30edc3cc6339bf30b4c1b99662
* | | Merge "Record possible clip rejects when recording display lists"Romain Guy2012-02-1715-90/+236
|\ \ \
| * | | Record possible clip rejects when recording display listsRomain Guy2012-02-1715-90/+236
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This optimization allows us to quickly skip operations that lie entirely outside of the known bounds of a display list. Because of ViewGroup.setClipChildren, we must keep the operations recorded in the display list. setClipChildren(false) is however a very uncommon operation and we will therefore often benefit from this new optimization. Change-Id: I0942c864e55298e6dccd9977d15adefbce3ba3ad
* | | | Merge "gltrace: Trace thread time and wall clock time."Siva Velusamy2012-02-178-1334/+3138
|\ \ \ \
| * | | | gltrace: Trace thread time and wall clock time.Siva Velusamy2012-02-178-1334/+3138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For each gl function, trace both the thread and wall clock times. Change-Id: I32b6caa67fa50bf915dab89b3c5021ee82e28d55
* | | | | Merge "libs/utils: replace malloc() + memset() to zero with calloc()"Iliyan Malchev2012-02-172-10/+4
|\ \ \ \ \
| * | | | | libs/utils: replace malloc() + memset() to zero with calloc()Iliyan Malchev2012-02-172-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I8bdf4360147e51e35c162856c9a859aed6acac34 Signed-off-by: Iliyan Malchev <malchev@google.com>
* | | | | | Merge "Revert "Revert "The com.android.athome api classes are moving ↵Mike Lockwood2012-02-172-10/+10
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | android.support.place."""
| * | | | | | Revert "Revert "The com.android.athome api classes are moving ↵Mike Lockwood2012-02-172-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | android.support.place."" This reverts commit 9dede89795a88268ab735a1b28e628f2a77922fe.
* | | | | | | Merge "bluetooth: replace malloc() + memset() to zero with calloc()"Iliyan Malchev2012-02-171-9/+4
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | / / | |_|_|_|/ / |/| | | | |
| * | | | | bluetooth: replace malloc() + memset() to zero with calloc()Iliyan Malchev2012-02-171-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I86b0ee4babc79189184b09c51757ec1162517c7b Signed-off-by: Iliyan Malchev <malchev@google.com>
* | | | | | Merge "Remove unused private APIs"Romain Guy2012-02-174-655/+0
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | Remove unused private APIsRomain Guy2012-02-174-655/+0
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ib22005c7ed9923120089a1f1c806bca55bb90967
* | | | | | Merge "Import translations."Eric Fischer2012-02-1749-2/+196
|\ \ \ \ \ \
| * | | | | | Import translations.Eric Fischer2012-02-1749-2/+196
| | |/ / / / | |/| | | | | | | | | | | | | | | | Change-Id: Ibe6f792ad6e88dfbfd6d523dfe4f24e8e93f4066
* | | | | | Merge "Update prototype remote fifo. Tested primary connection using only ↵Jason Sams2012-02-173-74/+143
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | fifo data transport."
| * | | | | | Update prototype remote fifo. Tested primary connectionJason Sams2012-02-163-74/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | using only fifo data transport. cleanup cl. Change-Id: I9b5f5e5a256b7f66b387bd801c1da0e642761200
* | | | | | | Merge "Rename three header files to free namespace for api."Jason Sams2012-02-1712-11/+11
|\ \ \ \ \ \ \ | |/ / / / / / | | | | / / / | |_|_|/ / / |/| | | | |
| * | | | | Rename three header files to free namespace for api.Jason Sams2012-02-1612-11/+11
| | |_|_|/ | |/| | | | | | | | | | | | | Change-Id: Ie9ef65a477373c30b2d5b02248f62e768b6f27ae
* | | | | Merge "Remove bit fields to improve performance"Glenn Kasten2012-02-173-21/+32
|\ \ \ \ \
| * | | | | Remove bit fields to improve performanceGlenn Kasten2012-02-173-21/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | uint16_t enabled is (mostly) changed to bool in a separate CL Change-Id: Ied9f8c034b2479cee9a8778cee7b8ff92ae75b7b
* | | | | | Merge "Ignore broken input channel when finishing input event."Jeff Brown2012-02-172-10/+9
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | |
| * | | | | Ignore broken input channel when finishing input event.Jeff Brown2012-02-172-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are occasional races during application shut down where the input dispatcher will close an input channel before the application has finished its last event. So just ignore EPIPE. Also tweak the logging for failed input event injection to make it clearer which pid was trying to perform the injection. Bug: 6013004 Change-Id: I7bbb01441d41762b03eafd4d39dcf0323e1cadf3
* | | | | | Merge "Fix remaining issue with bug #5904777"Philip Milne2012-02-171-55/+65
|\ \ \ \ \ \
| * | | | | | Fix remaining issue with bug #5904777Philip Milne2012-02-161-55/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LEFT alignment in an RTL environment had the wrong 'gravity'. This was due to a modelling error in GridLayout which is fixed in this CL. Also apply some very minor simplifications and refactorings following the addition of RTL support. Change-Id: I153bc06d3c22dcb9954e4cbdfa89625823239b89
* | | | | | | Merge "Revert "The com.android.athome api classes are moving ↵Mike Lockwood2012-02-172-10/+10
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | android.support.place.""
| * | | | | | | Revert "The com.android.athome api classes are moving android.support.place."Mike Lockwood2012-02-172-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to fix the build This reverts commit 1aeecce8e9fe2749d1ad7ec86e40fe5a892f8f05
* | | | | | | | Merge "New clock sync control loop."Mike Lockwood2012-02-177-205/+151
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | |
| * | | | | | | New clock sync control loop.Kent Ryhorchuk2012-02-177-205/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change clock sync control to velicity form PI loop. Tuned for office LAN and WiFi conditions, will probably perform better in clean environments. Improve packet filtering to prevent clock sync on bad rtt. Changed diag interface to take rtt times, P, I, D are no longer supported. Change-Id: Iad2b26eb44cd222ec5f219b49669e2d6baec9d1c
* | | | | | | | Merge "Simplify code"Glenn Kasten2012-02-175-45/+20
|\ \ \ \ \ \ \ \
| * | | | | | | | Simplify codeGlenn Kasten2012-02-175-45/+20
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use DefaultKeyedVector::valueFor to avoid extra test Make local variables as local as possible No double parentheses No typedef for single use No parentheses around indirect function call No AudioFlinger:: prefix when not needed Remove unnecessary casts Remove block with only one line Saves 128 bytes Change-Id: I3a87430eeb01b81e7b81a1c38f6fdd3274ec48f3
* | | | | | | | Merge "Put a bandaid on a segfault in timed audio track handling."Mike Lockwood2012-02-171-4/+17
|\ \ \ \ \ \ \ \
| * | | | | | | | Put a bandaid on a segfault in timed audio track handling.John Grossman2012-02-161-4/+17
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a bandaid to prevent a segfault which can occur while handling timed audio buffers. There is a deeper problem which should eventually be addressed, but for now this fix should prevent any crashing. The deeper problem is as follows. When the AudioFlinger mixer gets data to mix from an AudioTrack, it ends up getting a structure filled out which points into an IMemory region owned by the AudioTrack. Unfortunately, this structure is not holding a refcount on the IMemory which it points into. If the IMemory refcount hits 0 and the chunk of RAM is retuned to the binder heap it came from, there can still be a Buffer object being held by the AudioFlinger mixer which points into the region of memory which was retuned to the binfer heap. If AF reads from this buffer, it could read corrupt data (if the region of memory gets handed back out to a writer), or it could segfault (if the heap has been freed and the pages unmapped). Similar problems could happen if AF attempts to write to the buffer, heap corruption in one case, segfaulting in the other. In the past, this has not been an issue for AF, because tracks allocate a single IMemory (which serves as a ring buffer) and the IMemory lives for as long as the track lives. As an artifact of the way the code came out, the mixer cannot be holding a Buffer structure pointing into the IMemory which used to be owned by a track if the track no longer exists. Tracks cannot come into or out of existence during a mix operation, which is the only thing which makes this safe. TimedTracks work differently, however. Timed tracks each allocate a small binder heap, and then hand out IMemory instances broken out of this heap. The heap lives as long as the track, so the worst which could happen here is that a TimedTrack's IMemory gets returned to the heap while there is still a buffer structure in flight pointing into the memory region, then the region gets handed out again and overwritten by new data causing the mixer to mix the wrong audio. The timing to cause this to happen is very difficult to encounter, and you to generate the timing conditions required, you need to be in a pretty bad failure state where audio is already breaking up and skipping, so its unlikely that anyone would notice (which is why I'm band-aiding the segfault and letting the deeper issue slide for now). In general, however, it might be a good idea to revisit this buffering design. On principal, if someone is going to hold pointers into a refcounted object, they should be holding a ref on the object at the same time. Failure to do this will usually lead to a situation where there are corruption or segfault issues, or to a system where the refcounted object's lifetime must be implicitly managed very carefully in ways which are usually non-obvious and are easy to break by new engineers on a project. Change-Id: Ib391075395ed0ef46a03c37aa38a82d09e88abeb
* | | | | | | | Merge "The com.android.athome api classes are moving android.support.place."Mike Lockwood2012-02-172-10/+10
|\ \ \ \ \ \ \ \ | |/ / / / / / /
| * | | | | | | The com.android.athome api classes are moving android.support.place.Joe Onorato2012-02-162-10/+10
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | Change-Id: Ibb9b8cfc8e7d0676df43359f5abaaed5e9e1112d
* | | | | | | Merge "Fixed possible heap corruption in EffectDesc"Glenn Kasten2012-02-172-22/+35
|\ \ \ \ \ \ \
| * | | | | | | Fixed possible heap corruption in EffectDescGlenn Kasten2012-02-162-22/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "EffectDesc *effect = new EffectDesc(*effects[i]);" was relying on the default copy constructor for EffectDesc, but the default copy constructor does a member-by-member copy. This works OK for mUuid, but a member copy of mName and mParams shares pointers. This could result in heap corruption later on due to a double free. Changed to add an explicit copy constructor that does a deep copy of both mName and mParams. A malloc() and strdup() were being freed by delete, but the correct matching API for these is free(). Fortunately our current memory runtime implementation ignores the difference. Changed to use free(). EffectDesc and InputSourceDesc member fields were being torn down by the code that does delete. Changed to do the tear-down in ~EffectDesc() and ~InputSourceDesc(). Added constructor EffectDesc() with name and UUID parameters, rather than having caller fill in the object after construction. Made ~EffectDesc() and ~InputSourceDesc() non-virtual to save memory, since they have no subclasses. Change-Id: Ibb5cc2e6760d72e0c4cf537068ac4432c717bafd
* | | | | | | | Merge "Import translations."Eric Fischer2012-02-1649-3/+253
|\ \ \ \ \ \ \ \
| * | | | | | | | Import translations.Eric Fischer2012-02-1649-3/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I1e49ee47c0975b3462fea3a72152c978f3719619