... and directly reset the animation state for other cases.
Fixes: 222769294
Test: BackAnimationControllerTest#verifyAnimationFinishes
Change-Id: If04885065076ef7e3c15f5cce2c1d040bd92b494
topFocussedWindowChanged() api.
- This is helpful when DisplaySystemBarsController needs to show/hide
the bars depending on what the window has requested.
Bug: 224883596
Test: atest DisplayInsetsControllerTest
Change-Id: If00231b96153c9c7830fd948003e00a93c8294cd
Bug: 226417634
Bug: 226723586
Test: Try swiping back on multiple devices. It seems it's easier to
repro on bluechip devices. A good test case for me was to bring up and
dismiss all apps folder repeatedly on a p22 device.
Change-Id: I4dc5f5ee1f67822206a5e0442f26a52114cf63f0
Waiting for the wrong surface makes the transition crash
Fixes: 227308870
Test: atest ExitPipViaExpandButtonClickTest
Change-Id: I3be2da3c344301586cc61201b962ffce3937e77d
1. Prevent updating split layout twice during rotation with
configuration changed. If the only difference is orientation, it
means we've handled bounds changes for rotation before, the only
thing thing left is to make sure divider bar will be rendered
with proper resources that matching with the new orientation.
2. When handling child task changes, make sure to also update crop if
it's not sharing the same bounds with its parent.
3. Also exclude adjusting bounds of tasks created-by-organizer while
display changed, since the organizer created them should handle
that instead. This is needed to prevent their bounds being rotated
twice in organizer and wm-core.
Bug: 207185041
Bug: 206487881
Test: atest WMShellUnitTests
Test: enable shell-transition, enter split screen, check the rotation
behavior of split screen.
Change-Id: I63e4a8566bdc4f3fcad7d4bae59fa23ad03929ac
Make direct children of a created-by-organizer task organizable.
Add a single-top root task which the split divider bar can attach to. So
we can remove the special logic of the divider bar z-ordering in the
followup patch.
Bug: 207185041
Fix: 215322621
Test: atest ZOrderingTests
Test: atest com.android.wm.shell.splitscreen
Test: manual check the divider bar z-order setup with pip window and
assistant voice plate
Change-Id: Ia36d7529ef52685be4516b6f6ea5d7179fc26fd6
- Use the focused window instead of the topApp window
- Instead we now rely on WindowManagerService to get
the focused window.
- SystemUI does not have ActivityRecord so we can't rely
on the top window of the Task to find the correct
window on which the callback will be called.
- Introduce a Builder for BackNavigationInfo
- This reduces the number of variable needed outside the synchonized
block.
- It also reduces the number of early return of BackNavigationInfo
instances
- Adding log messages to help further debug the method.
Test: BackNavigationControllerTests
Test: Manual dismiss of SystemUi dialog in QS
Bug: 216604581
Fixes: 221458292
Change-Id: I9ba2c7f89956f34d6338824502c210b3e58dc076
Introduce builder for BackNavigationInfo
Change-Id: I14b4a4b3abc8f417998b7b32831cb3d5c4faa491
Bug: 183746978
Test: atest PipControllerTest, manually via extra log statement I noticed it's not being receiving the keep clear areas changes
Change-Id: Iaae4aad3dfd1dd5a5dbab79f91efab3d52b94f80
- We have the existing api TaskView.setObsucredTouchRect(), but introduce new api to provide more flexibility.
- go/aaos-taskview-improvements
Bug: 225388469
Test: Check the behavior in the sample app with 2 buttons.
Change-Id: I3db7fcc45b73523fb17039f5a88d015cefce4819
TaskInfo#userId should be used instead of Context#getUserId because the
latter isn't correct following user switch.
In addition, don't mark the education as seen for the current user until
the dialog enter animation is done, to make sure the dialog is fully
visible to the user.
Fix: 225840105
Test: atest WMShellUnitTests:LetterboxEduWindowManagerTest
Change-Id: Ic99c59bc866735bdc1420513f7a3eade4253e391
This results in the compat UI clicks reaching KidsModeTaskOrganizer instead of ShellTaskOrganizer.
Test: tested manually
Fix: 225137584
Change-Id: I1c79dd400810cc31c1d0f938887e45ab11ecf6fa
controllers.
Test: m -j.
Test: Open and swipe back on pre-T and T apps.
Test: atest BackNavigationControllerTests
Test: atest BackAnimationControllerTest
Bug: 195946584
Change-Id: I981f8deff9fad75355ee0e8bbe08b375f4da6e74
When rotation, it will re-init the split divider for new rotation on
DAinfoChanged callback, but when shell transition, we should do it on
startAnimation to make transition smooth and make didider could release
by specfic Transcation to avoid it hide immediately but didn't sync with
transition.
Fix: 222158856
Test: manual
Test: pass existing tests
Change-Id: I797ffd0ea35d89b4ec1e3ef4828ce36e18c860be
The PiP is placed in a way to avoid keep clear areas.
If no areas overlapping the default PiP anchor position are defined,
the PiP will stay at its anchor position.
Otherwise, it will try to move to a free location closest to its anchor
position. Unrestricted areas can cause the PiP to move across the entire
screen, but restricted areas have limited influence and can only move
the PiP a short distance.
If no free position is found, the PiP will be stashed for some time.
To find the position to move to once the PiP unstashes, a relaxed search
is performed, excluding a restricted keep clear area. If this still does
not yield a position to move to, only unrestricted areas will be taken
into account. The PiP is stashed along the edge closest to the unstash
position.
Bug: 218416347
Bug: 218494300
Test: atest TvPipKeepClearAlgorithmTest
Change-Id: I76c6527320fc403bb604b188f38eed505eeaab89
GKS requested that app's bounds should not overlap with the nav bar area
when kids mode is enabled except for Launcher.
Creates a dedicate task organizer for kids mode. When kids mode is
enabled, create a root task with its bounds excluding the nav bar area
and tasks except launcher will be launched into it.
Bug: 161689887
Test: manual:
1. adb shell settings put secure "nav_bar_force_visible" "1"
2. choose 3-buttons navigation mode in
Settings>System>Gestures>System navigation
3. check winscope and see if bounds are set correctly
Test: atest KidsModeTaskOrganizerTest
Test: atest WindowOrganizerTests
Change-Id: I93af1bc5b2696654d8ca5055dbbbebf5a41f89aa
This will cause talkback to read the title and the rest of the dialog when the user swipes right.
Bug: 222112590
Test: atest WMShellUnitTests:LetterboxEduDialogLayoutTest
Test: atest WMShellUnitTests:LetterboxEduWindowManagerTest
Change-Id: Id850520380144055c9efa95f6006b7b277cf8eb9
This fixes an issue where compat UI is hidden even when keyguard is dismissed (but still considered occluded because the activity could occlude the keyguard).
Bug: 206627721
Test: atest SystemUITests:WMShellTest
Test: atest WMShellUnitTests:CompatUIControllerTest
Change-Id: I95f5b4d75d46a4958763c5ea3cdadb09b88f9836
Make sure the surface bounds of split root tasks will be properly set
after enabled shell-transition. So client apps can inherit the correct
touch region.
Fix: 222163100
Test: atest StageCoordinatorTests
Test: manual check with the repro steps
Change-Id: I5c71e54513ad37d43347f9716081751aad477149
The setup waited for a ROTATION_0, but this test starts at ROTATION_90
Bug: 219773854
Bug: 220977327
Test: atest WMShellFlickerTests:SetRequestedOrientationWhilePinnedTest
Change-Id: Ib2bde1f66f248adbe69acf5c344322e32b364eb2
When the windowing mode is changed during fixed rotation, we don't want
to animate to the fixed rotation anymore, because the fixed rotation
will be cancelled later.
Bug: 214324061
Test: atest WMShellFlickerTests:SetRequestedOrientationWhilePinnedTest
Change-Id: I24b5389ec2b6ea28ce3ba7abf38fbd269566edf3