- We were incorrectly setting the OnClickListener to null to try to do
this, which still causes the touch event to be consumed by the button
view, so instead we should just set the clickable state directly.
Bug: 27859552
Change-Id: Ida3b4a467c6f325ce8fe5a90b0b77c2bdda5a936
We used the system proterties as a shared memory mechanism
to propagate information to local settings caches when the
content has changed and the cache should be cleared. The
system properties are unfortunately updated asynchronously
leading to cases where clients may read stale data.
This change adds a simple int array data structure backed
by shared memory which guarantees individual values are
atomically read and updated without memory tear. Multi-
index opearations are not synchronized between each other.
The settings provider is using the new data structure to
propagate the settings generation which drives when caches
are purged.
We have a single memory array keeping the generation for
different settings tables per user. Since memory array is
not a compact data structure and the user space exceeds
the memory array size we use an in-memory map from keys
to indices in the memory array where the generation id of
a key is stored. A key is derived by the setting type in
the 4 most significant bits and the user id in the 28 least
significant bits.
The mapping from a key to an index is cleared if the user is
removed and the corresponding index in the memory arry is
reset to make it available for other users. The size of the
memory array is derived from the max user count that can be
created at the same time.
bug:18826179
Change-Id: I64009cc5105309ef9aa83aba90b82afc8ad8c659
When setting the vertical location of the gear we need the collapsed
height of the parent, the parent might not be fully laid out so move
setting the vertical location into onLayout instead
Bug: 28390732
Change-Id: I7c1bf14a54e9f1ef0a693fa13e1a6533f5967631
If USB is opened in DocumentsUI from storage settings and format it from
context menu, a user expects it goes back to storage settings after
formatting the storage. However, previous we show Downloads as a result
of redirect from the previous USB storage.
The CL changes the logic for callback so that it finishes the activity
if DocumentsUI is opened for the specific root and the root was removed
while a user stays at the root.
Fixes: 28246076
Change-Id: I5548152fc27fd13bd9b75b3083bcfbdd9f93509e
- When we get a collapse before the layout happened in SystemUI,
don't expand the panel after the layout.
- Don't reset waitingToShow when coming out of sleep. This will cause
win.isVisibleOrBehindKeyguardLw to return false and then occluded
state will change rapidly from true -> false -> true, leading to
flickering in SysUI.
Bug: 23898941
Change-Id: I2b941188de777086bb2b477f5bfc00cc0cd6abe0
In some cases, recents didn't get resumed, so divider was never
notified and thus we didn't start the animation. Instead, move
the first drawn logic into onStart.
Bug: 28366529
Change-Id: Ia71d6b517451bba727ae31a184bb55cecf5af198
OnDismissAction() should return true only when the dismiss should be
deferred, but the annonymous class on
executeRunnableDismissingKeyguard() was always return true, which was
cause a janky timeout when the runnable didn't launch an activity.
BUG: 28303552
Change-Id: I1f9e299102d6cebba44794c026a69cf43ea06990
- Ensure we clear deferred relayouts after finishing all animations in
case they trigger a deferred layout in the animation-end callback.
Bug: 28287904
Change-Id: I6d71328fb3dc4595ea67ee18cfa57d85d741e6c6
Low ram devices don't have assistants. Worth noting, but not
making a big stink about it.
Change-Id: I5a49be99bf688a5f1b800a1124b14a589ecf5b52
Fixes: 27210719