* changes:
Adjust split layout with IME animation in split (5/N)
Adjust split layout with IME animation in split (4/N)
Adjust split layout with IME animation in split (3/N)
Adjust split layout with IME animation in split (2/N)
Adjust split layout with IME animation in split (1/N)
Originally the cost would increase in proportion to the size.
Now the draw time becomes almost irrelevant to size. And the
visual appearance is almost the same as previous approach.
The icon draw time:
News : 32ms -> 10ms
Clock : 46ms -> 23ms
Dialer: 30ms -> 14ms
Bug: 187104264
Test: OpenAppMicrobenchmark
Change-Id: I9edeb367c671315374f8579bf3b91dc778bad302
Previously if user do not trigger OHM, target view was attached
to window and setVisbility INVISIBLE.
Refactor to improve memory & perforamcne for systemui, and align
the state changes of one handed controller
1) Bind OneHandedController OneHandedState to handle target view
attach and remove from window.
2) Do NOT create view and attach to window until STATE_ENTERING,
remove legacy redundant visibility change flow.
3) Detach view from window when STATE_NONE
4) Refine OneHandedState static field definition
5) Consolidate OneHandedTutorialHandlerTest
Test: atest WMShellUnitTests
Test: atest OneHandedTutorialHandlerTest
Test: adb shell dumpsys activity service com.android.systemui
Test: adb shell settings put secure one_handed_tutorial_show_count 0
Test: manual trigger OHM
Test: Trigger OHM and invoke onConfigurationChanged()
Bug: 185558765
Change-Id: I3e9666e2379bceb23e3f80f0d8617a7884100a72
This handles the case were exitPip is called while there is a
animateResize PIP ongoing, such the menu expand/unexpand animation.
When that was the case, the first finishResize was applied at the same
time as the exit WCT, resulting in bad frames at the end of the exit
animation.
This CL makes it so that the first finishResize is skipped if we
know exitPip is handling the exit and will eventually call its
own finishResize operation.
Bug: 185306679
Test: enter PIP with YT, tap on menu to show it and immediately
tap on the app launcher icon to expand PIP - verify the exit
transtion runs smoothly
Change-Id: I230a94b53d2a96331021c1ea49510caa92fa991e
Only move split controlling tasks to split secondary root when entering
split. So that it could align with launch root rule while in split.
Fix: 187892355
Test: enter split screen while having assist type task in recent,
observed it won't reparent assist type task to split-secondary-root.
Change-Id: I648dc74e2e44d62a0e40d50b29b08dd23b85ed26
Context : ag/11948950
The divider view itself isn't really relayouted (because now
it's surface just gets moved around). This means we actually
need to update its touch region when moving the surface instead
of in relayout. Additionally, because the views themselves
don't move, update the touch-region from divider position
instead.
What changes:
After onLayout() mHandle has the final position on screen,
we reference mHandle's left or top position based on orientation
and update for corresponding touch-region
Test: atest WMShellUnitTests
Test: Enable A11y talkback, check the divider handle can be focused
Test: add log in notifySplitScreenBoundsChanged() check the split
handle touch region dose NOT locate at screen left or top edge
Bug: 175687842
Change-Id: I7530e3e1daa373926654c3ae8bc2084566650d62
- Launcher will create a new surface which is faded in over the app,
and as it finishes the recents animation, we transfer the overlay
from the leash to the task (as with the transform), and when the
pip task organizer receives it, it can fade out and remove the
surface
- Fixes flash of status bar colors when going from light status bar
to home (dark status bar) by deferring whether a task affects the
sysui flag until it enters pip (only for autoenter)
https://recall.googleplex.com/projects/e3f080d7-2818-43f0-a087-405000b8fdf5/sessions/971a84c8-a622-4b34-a9de-4e595595da42
Bug: 184703546
Test: Swipe up from app with auto-enter but no source hint rect
Change-Id: I0a00cdb98d0a599ef065206e0cd2cfc0e6cc72b1
1) UX mentioned the swipe gesture in 3-Button NavgationBar area
may confuse user from taping NavBar buttons(Back, Home, Recents).
They decide to disable the swipe gesture and allow user to trigger
One Handed Mode(3 Button Mode) through A11y shortcut.
However, user can still use OHM by enabled shortcut button on
both Gesture Navigation & 3-Button mode.
2) OHM gestural handler consume the touch event while window
Magnification overlap with NavigationBar area in 3-button mode,
this result Magnification function can no long obtain the control.
Bug: 184903678
Bug: 179648683
Test: manual
Test: atest WMShellUnitTests
Change-Id: Ib9a06e19d749707e6f5e08c3ef803c1681f86bbc
Added a permssion to allow an application to capture screenshots of
layers that would normally be blacked out.
Test: Builds, screenshots still work as before
Test: ScreenshotTests
Bug: 173746627
Change-Id: I27237c8e340904cbaa82c7e5793de35cab85d8de
Bug: 187922869
Previously, we turned on rounded corners with a sysprop in
bf309e63d4. Now that a bug in rendering
them in landscape has been fixed, remove the sysprop and always use
the rounded corners radius specified in the xml file.
Change-Id: Ib0f61bbcbee6ead82beec2b149b0892836492b78
This used to be OR (pip is not stashed), but it should be AND.
Bug: 186499713
Test: Double tap on where the play button should be even when the menu
is not visible, no longer pauses
Change-Id: If8e101286ddfbb83caf0d6a85a1089e6c257f996
Dismiss multi window from Shell if the task no longer supports multi
window.
Bug: 176061101
Test: manually test with fold/unfold
Change-Id: Ie8bdb70ed63805c6e51a20e6db8f02e91f18dd35
Update Task/ActivityRecord to use the new elgibility check and update
tests
Bug: 176061101
Test: pass existing
Change-Id: Ibb78a43d5901a604b02904be0a0bfdc6da0eb421
Since not all paddings are created the same, let's respect the correct
top/bottom or left/right pair based on PIP orientation.
Bug: 187525862
Test: Open vertical PIP, rotate to landscape, maximize PIP - respects
maximum space now
Change-Id: Ib04ac72328e246302b45fe6630dc01d0c081cfcc
Adjust split bounds to match the IME animation.
Fix: 179262787
Test: atest WMShellUnitTests
Test: observed split bounds been offset properly when rotating devices
or changing focus while IME showing.
Change-Id: I70d8cdf5a019f77873a75bc0881b1c100b372664
Update split surface dim value to match IME animation.
Bug: 179262787
Test: atest WMShellUnitTests
Test: manual checks split surface dim properly with IME animation.
Change-Id: I17c03def1a7e19d6bdbfc44fa846da4b1efa3275
Listen to IME position changes in SplitLayout to make sure it updates
divider view status after re-inflated. Also add functions to get IME
position of split which is needed for integrating IME animation with
new split implementations.
Bug: 179262787
Test: atest WMShellUnitTests
Test: observed divider bar won't change to interactive after rotating
devices with IME shown.
Change-Id: Ic01c23e61ffb666cfc292e56dd6dcf4646be749b
This CL polishes the app reveal animation after a cold start. It does so
by:
1. Fading out the icon during 233ms before revealing the app, as spec'ed
in the direct [1].
2. Animating the reveal gradient opacity from 0 too 100% (instead of
starting at 100% opacity directly).
See b/184830058#comment7 and #comment13 for before/after videos.
[1] https://direct.googleplex.com/#/spec/241550001
Bug: 184830058
Test: atest SplashscreenTests StartingSurfaceDrawerTests
Change-Id: Ie4561887a259eec398f8f347050f27a094026945
If the launching app is fullscreen on default display, the task
config should be the same as current global config. Then it is
unnecessary to create a context again.
Use diffPublicOnly because task config may have specified windowing
mode, which won't affect resources resolving.
It saves up to 4ms when adding splash screen starting window.
Also simply the initialization a bit.
Bug: 187104264
Test: OpenAppMicrobenchmark
Change-Id: I2bc7e8dfba3b1d8ad501f6935080a86f2c45f032
Add surface utils to help establishing dim surface layer for splits.
Bug: 179262787
Test: atest WMShellUnitTests
Change-Id: I0c268e0b1891fddcf717e8e54e0d29acbf8c5f24
Update StagePosition to more general SplitPosition so that it could be
shared among split implementations.
Bug: 179262787
Test: atest WMShellUnitTests
Change-Id: I6f461fac62d350f50171136f079cb0254b06d767