Making the notfication delete-all animation smoother by carefully
choreographing the various parts of it. The problem with the previous
animation was that there was simply too much going on at the
same time, causing things like layout and recreating display-lists
in the middle of animations that became choppy as a result. This
approach swipes all items off quickly, then scrolls the shade up to the
top, making both sets of animations smoother as a result.
Fixes#5431207: Notification delete-all should be smoother
Change-Id: Iefe8ab5d661e05adcd10379dab85227d17904450
* commit 'f755a2e8aabfd6b26df4f3f56f0e9cdfb06cc173':
docs: a couple notes for a11y methods in View and cleanup to the A11y service HTML to be semantically correct and thus improve its accessibility :)
This will be used only for adjusting the alarm volume when an
alarm ringtone is being selected.
Bug: 5164828
Change-Id: Ia4a12b1946fb0715e97101bfd389c6bd33c448c7
A LayerScreenshot is a special type of layer that contains a screenshot of
the screen acquired when its created. It works just like LayerDim.
Bug: 5446982
Change-Id: I7814aff2380e7e146937f2b641907be2a30c76cc
Additionally, start using setSystemUiVisibility() where
possible in the keyguard to allow activities and dialogs to
re-enable some of the navigation keys (notably: home but not
recents).
Finally, stop disabling MENU for activities atop the keyguard.
Bug: 5380495 // no home in driveabout, clock
Bug: 5396134 // able to show home/recent in keyguard
Change-Id: I04eb224554ee8cff79476b85148c4cda75bb0b62
The window manager now uses the app screen dimensions to compute
the various configuration properties, as it should.
This means that prime is official a "not long" device. Poor prime.
It probably feels inadequate now.
Because it is.
Oh and all that other stuff? Debugging logs. Turned off. And
why the heck not, debugging logs are great.
Change-Id: Iaaf8ef270d986d34fd046d699ef4c0ecea1981fc
Bug: 5011907
Introduce a 150ms delay in handling volume down keys
while waiting to see if a power key will follow.
Don't trigger the screenshot chord if both volume up and
volume down are pressed together.
Don't trigger the long-press power menu if volume keys are
also pressed.
Require the user to press both keys in the chord within
the debounce time and continue long-pressing them in order
to trigger the screenshot action.
Change-Id: I248968d37b73c09d6d08e7f62667c443eba32da0
Bug: 5011907
Introduce a 150ms delay in handling volume down keys
while waiting to see if a power key will follow.
Don't trigger the screenshot chord if both volume up and
volume down are pressed together.
Don't trigger the long-press power menu if volume keys are
also pressed.
Require the user to press both keys in the chord within
the debounce time and continue long-pressing them in order
to trigger the screenshot action.
Change-Id: I248968d37b73c09d6d08e7f62667c443eba32da0
This is only for voice capable devices, as tablets will still have notification
volume be a first-class citizen and doesn't make sense to show a phone icon
for notification volume.
Bug: 5431744
Change-Id: I28eed3ebc4cda173986c2f15e137e81641ee0a7c
The methods were hidden for the previoud release since they were added
too close to the SDK final date.
bug:5424373
Change-Id: I812b9809223db75636b04549500f023820b6eb5a
The PhoneWindowManager is now responsible for hiding and showing
the nav bar.
For hiding, it just moves it off the screen (easy way to get a
nice slide animation on and off). At the same time, we use a
new WM facility to put up a fake input window to capture all
touch events.
When a touch event is received, we force the system UI to clear
the navigation hiding bit so it will be shown again.
This removes a bunch of code from the system UI for hiding and
showing the nav bar. Also removes the code calling from userActivity()
to the system UI, which was bad. (Also no longer using userActivity()
fixes bugs around re-showing the nav bar due to key presses and
other wrong things.)
Change-Id: I8c3174873b5bcaa36a92322a51e8f7993e88e551
This cleans up how ui flags are managed between the client and window manager.
It still reports the global UI mode state to the callback, but we now only clear
certain flags when the system goes out of a state (currently this just means the
hide nav bar mode), and don't corrupt other flags in the application when the
global state changes.
Also introduces a sequence number between the app and window manager, to avoid
using bad old data coming from the app during these transitions.
Change-Id: I40bbd12d9b7b69fc0ff1c7dc0cb58a933d4dfb23
1. ScrollView/HorizontalScroll view were reporting only the scroll X and Y but
failed to convey the max scroll along X and Y so the position can be determined.
2. WebView was not reporting correctly its scroll position for accessibility.
3. Some descendants of AdapterView were reporting incorrect position information.
4. Updated the accessibility docs with some details about the scroll information.
5. Cleaned up duplicated code.
bug:5412132
bug:5412265
Change-Id: I165e73ecde027dad811425b9f395a3f758c923ba
When a transition occurs, layout change listeners are added to the container
being transitioned as well as every container up the view hierarchy. The
parent views were not having those listeners removed, so every time a transition
ran, more listeners would be added. Adding to that, the use of an ArrayList
as the collection to hold the listeners meant that adding duplicate items
would just increase the size of the list. There's now a sanity-check on the add
call to make sure that the listener does not exist already, but more importantly
we remove all listeners added when the transition ends.
Change-Id: I4ea05adf30765db091124065539b0ffd32729b3b
When the SystemUi becomes visible, the activity window resizes.
The hardware renderer was not begin resized to suit, so it was drawing
to a surface larger than that of the activity window, and some of the
rendering (like the action bar) appeared off the screen.
The fix is to keep track of the surface size in HardwareRenderer and to
recreate the surface when the size changes.
This change also removes the BUFFER_CHANGE flag from WindowManager.LayoutParams.
The only reason the flag existed was to trigger a hardware surface recreation,
but checking the old/new size is a more direct way of handling this.
Change-Id: I9d6bf6385794886d1d93c60609c170864cdcdfab
...a tiny dialog (works fine in GB and HC)
I found two problems:
- When first binding an application, we were not correctly computing
the compat configuration.
- When retrieving the display metrics to hand to Resources, we were
using the one with compat applied. This is not right, because
Resources will apply the compat itself, so in some cases the compat
scaling was applied twice.
Change-Id: I22c9cfed9e271290c1a7544fa3ffa54a2e65daf9