Follow latest split screen UX model, it should only reparent
the top task to split for app-pair model.
Fix: 201480664
Bug: 202740040
Test: manual
Test: pass existing tests
Change-Id: I4b360a31ce8e7366a77216a94b5f1b19bba848e9
This is necessary to fix "Unable to save trace file /sdcard/flicker/startRotationServiceTest_layers_trace.winscope" in the library self tests
Bug: 202288112
Bug: 202366188
Bug: 188993244
Test: atest FlickerTests WMShellFlickerTests
Change-Id: I9d6d6025be8b659d2f062771cfbd2f6c0982c2be
* changes:
[DO NOT MERGE] Dump windowing mode in Winscope traces
[DO NOT MERGE] Dump SurfaceControl's layerId to proto
[DO NOT MERGE] Dump WindowContainer SurfaceControls to proto
[DO NOT MERGE] Expose SurfaceControl's native mLayerId property to Java
[DO NOT MERGE] Sync flicker from master to sc-v2
If the overflow is empty when the last bubble
is dismissed we collapse the stack. If it's not empty
we show the overflow contents.
We were overflowing bubbles AFTER making the choice
to select the overflow or collapse the stack which
causes problems.
Test: atest BubbleDataTest
Test: manual - have 1 bubble and an empty overflow
- navigate to the overflow, dismiss the bubble
=> no crash
Bug: 202320538
Change-Id: Ic838c5c61bcd714d8de94672d3c4ed753d4f6fa6
Creates controllers in the Shell that manipulate
SurfaceControl leashes of the current active
split screen surfaces based on the current
unfold transition progress.
Bug: 193795566
Test: manual
Change-Id: Ib80807c632444b2939e9b075fb24fd40cc14648a
When going from a non-launcher task to another non-launcher task
that is in a different orientation, we just animate the new task
opening in the new orientation (no screen rotation animation). To
make this work, though, we need to unrotate all the going-away
windows because they are in the old orientation.
Added CounterRotator to a utility area in shell so it can be
shared with other components (like Sysui shared lib).
Bug: 183993924
Test: atest OpenAppColdTest
Change-Id: I0263dfb8d529b6fc3dfbe3775e3e6e0b77f6ca8a
The tasksnapshot starting window could stuck on task if the task never
gain focus, this could happen when launch multiple tasks to front, e.g.
split screen, or add snapshot starting window to a pip task.
As using task focus to judge the task snapshot removal may error-prone.
(i.e. unexpected window focus in/lost, non-focusable task window..)
To ensure the tasksnapshot removal works stable, extanding
MAX_DELAY_REMOVAL_TIME_IME_VISIBLE timeout from 450ms to 600ms and also
reference mayImeShowOnLaunchingActivity to know whether IME showing on
this activity.
Bug: 199377815
Bug: 201264769
Bug: 200778734
Test: atest ActivityRecordTests StartingSurfaceDrawerTests
SplashscreenTests
Test: manual launch apps with IME from Recents.
Test: enter pip, power on/off, verify starting window is removed.
Test: manual enter split screen, verify starting window is removed.
Change-Id: I81b048a655124923a5f19e7f236511502bbf4c91
(cherry picked from commit a4f760bee7)
Set divider bar surface position after the corresponding leash ready.
Make sure app pair renders rounded corners with proper insets. And
prevent re-inflating divider bar redundantedly.
Fix: 201966641
Fix: 201966626
Test: atest WMShellUnitTests
Test: manual check divider bar behavior while in app pair split.
Change-Id: I70305df9ab8d77a8b474f573cea82026b9eb5298
Update the style of side stage outline to match the current design. And
make sure the outline will interact properly with task bar expanding,
collapsing, swipe up, drag to split, recents shortcut to split and drag
divider bar to resize gestures.
Bug: 200850654
Test: atest WMShellUnitTests
Test: enable side stage outline, observed it behaves properly.
Change-Id: I3f0795adc34a0efb19d35b78d54364da4189a043
Creates a controller in the Shell that manipulates
SurfaceControl leash of the current active full
screen task and animates it based on the current
unfold transition progress.
Bug: 193795714
Test: manual
Test: atest com.android.wm.shell.fullscreen.FullscreenTaskListenerTest
Change-Id: I8b9f4e0530042b333c3b6b793d39049932878bb8
This CL fixes the following issues:
- addListenerForType for multi-types can invoke onTaskAppeared
more than once.
- removeListener for mulit-types listener removes the first type only.
Bug: 200322591
Test: atest ShellTaskOrganizerTests
Change-Id: If53085ab229e3a1525b36aa3d964def0f228200c
Flicker on master diverged form sc-v2, to make it easier to debug
flicker issues on sc-v2, push the current version of flicker into sc-v2
Test: atest FlickerTests WMShellFlickerTests
Bug: 183993924
Change-Id: Icf40d1aa707ffe80e46dcfd2c616355cf48e6719
into reach" will not able to trigger it at first time
Update notifyShortcutStateChanged() when swipe down from Show
notification settings changed.
Bug: 198395550
Test: manual switch shortcut FAB to test
Test: Test: atest WMShellUnitTests
Change-Id: Ic550586c651a0a6c61f7f672afffbcb83ccf25ff
Split surface might be offsetted twice by RemoteAnimationController and
StageCoordinator#onStageVisibilityChanged. This removes surface
positioning from onStageVisibilityChanged because the split surface
should have been offsetted already by remote animation.
Bug: 199377815
Test: atest WMShellUnitTests
Test: trigger split from recent shortcut, observed split surfces are
placed properly.
Test: drag to split, observed split surfaces been placed correctly.
Test: shell cmd to split, observed split surfaces been placed correctly.
Change-Id: I2ae1223eec130fa849e2aaa6d2e73ec3c9a845f2
multiple user mode
User id mismatch when switching to multi-user, refactor some
switch multiple user code.
Bug: 199748164
Test: Manually switch to multiple users to test.
Test: atest WMShellUnitTests
Change-Id: I6ac4d13c5251141d2c65a3ef2b6e2f1f0ca0f650
Uses the same animation setup in InsetsController when animate rounded
corners with insets changed. Also remove divider bar expanding animation
to prevent it overlapping with rounded corners and stage outline.
Bug: 200850654
Bug: 196272915
Test: atest WMShellUnitTests
Test: manul check the behavior of rounded corners when
expanding/collapsing task bar.
Change-Id: I00449e1c25ca717305be7be9704f5805667adf45
As code review in CL[1] from sc-dev, we should preserve the previous
logic to remove home task snapshot immediately, in order to show latest
content as soon as possible for unlocking to home.
Note that this CL is to sync the logic CL[1] in sc-dev for the
downstream branch (qpr1 and v2, and internal master)
[1] I81031f64966b1aeb55cc09f381d4d83ec3460dc9 (sc-dev)
Bug: 192065018
Test: ateset StartingSurfaceDrawerTests#\
testRemoveTaskSnapshotWithImeSurfaceWhenOnImeDrawn
Test: manual tests by
1) launching Android Message with focusing an editor
2) swiping out to home and launch another apps (e.g. chrome)
3) swiping up to overview, tapping Android Message task
4) verify if IME is flickering after switched back.
Change-Id: Ic0cb07504acc11707327360051612df9cce565bd
- Include the bottom nav inset when placing the dismiss
view for bubbles + pip.
- Add a window inset listener in pip.
- Make sure a couple of res values were being updated
in bubble's dismiss view.
Bug: 197119627
Test: manual - have a bubble & drag to dismiss
- ensure the dismiss target is completely
visible & above any navbar & changes
if navbar visibility changes
Change-Id: Ib05e294eade874bbdbdd025d412d0841314f8d7d
1. Support fade animation with rotation delta 0.
Rotation animation is also used to cover display configuration
change, e.g. density, font size.
2. Use normal rotation animation when app requests orientation,
e.g. from Activity#setRequestedOrientation.
3. Fix flickering of rotation animation
The layers are:
Transition Root
- Animation leash
- RotationLayer
- Windowing layer
So the higher layer should be leash instead of RotationLayer.
Bug: 199836343
Test: ShellTransitionTests
Test: setprop persist.debug.shell_transit 1; reboot
Change font size in Settings, there should be a fade
out animation for transiting to new configuration.
Toggle portrait and landscape from app without specifying
rotation animation type, seamless rotation should not
be used.
Change-Id: I7ec9553cc8df2b98f89b6fbda67c3834d018883b
ImePositionProcessor didn't handle dim if it didn't not offset
layout, but when landscape, the layout will not offset. It cause
dim value didn't apply.
Fix this by checking both offset and dim value.
Fix: 200757897
Test: manual
Test: pass existing tests
Change-Id: I709b69c8e2d102d0e8237998b26f45c70805bf23
No user report of this but found in CTS.
I haven't been able to repro this, I think the
expanded view needs to be animating when the bubble
is removed but I haven't been able to reproduce this
via the unit tests or manually to confirm.
Bug: 200603814
Test: atest NotificationManagerTest watch logs and make sure there
isn't an exception
Change-Id: I70c286a67410d4cd6bbd272a4f27562a5ae1cb99
Bug: 200771843
Test: show empty splash screen when launch a trampoline activity
from notification.
Change-Id: Ib167a3b66a8c4274a96faaa3ff4c2e902e929dab