Because ag/18529596 change the drop position, the test need to modify
the expected position of the app.
Bug: 232878493
Test: atest EnterSplitScreenByDragFromAllApps
Change-Id: Ib4823a899aa42ab2c0b23f9e654cbf13becb02bd
The algorithm computes a new position for PiP based on the registered
keep clear areas within the system. If no occlusion happens the original
position is being returned. Otherwise, the bounds are moved in one of the
available directions so that none of the keep clear areas are occluded
while keeping PiP within the display bounds.
Test: atest PipKeepClearAlgorithmTest
Bug: 183746978
Change-Id: Ic2d11861329a46e2da0448f90283f67f6e7125d7
Add more assertions for layers become visible.
Bug: 232878493
Test: atest EnterSplitScreenByDragFromAllApps
Change-Id: Ida948525b618b800915813cf2927523600e23724
BackNavigationController was still relying on a debug setting. Now the
animation request is handled via a boolean parameter passed by sysui,
which has access to the developer option.
Test: Existing test modified
Bug: 231502692
Change-Id: Icda4692e05396407d961610de0ce709492adadc1
Merged-In: Icda4692e05396407d961610de0ce709492adadc1
Create the base split screen flicker test and the CUJ of entering split
by dragging from all apps.
Bug: 231399426
Bug: 232878493
Test: atest EnterSplitScreenByDragFromAllApps
Change-Id: Ic684474457f5da28554ff801f3e03d585e8db9fb
- I had accidentally swapped the values in removeBubblesForUser
in one place which could lead to a crash, it's actually simpler
to just do the removal there since it's the parentUser that was
removed so we can remove all of those entries.
- In other places I've added a null check before performing the
removeIf to be safe
- Added a test checking bad input
Bug: 232847471
Test: atest BubbleVolatileRepositoryTest
Change-Id: I10f5b24e591db62edbb63ad40e588ba19ab621c1
- Update the NotificationLockscreenUserManager code to listen for
account removals and notify the new listener method onUserRemoved
- Use this to trigger removals in the bubble data repository / UI
Some users may have a parent user (e.g. work profile can belong to
a parent user). We store persisted bubbles under the parent user and
have a separate field for the specific bubble user. To support this,
I pass the parent of the removed user.
Test: atest BubbleVolatileRepositoryTest BubbleDataTest
Bug: 218525763
Change-Id: Ia147cbac15ebce70bbbcc52926089f33901a99dc
Merged-In: Ia147cbac15ebce70bbbcc52926089f33901a99dc
* Remove existing coloured background.
* Add a background with a layout that includes a
badged icon of the app being opened.
Manual testing steps:
* Set up device with a work profile using TestDPC
* Set a fingerprint in the work profile
* Open a work app
* Lock the device
* Verify the background protection is shown behind
the biometric prompt
Screenshots:
* Dark mode: https://screenshot.googleplex.com/3SwGWrBREYoZFaH
* Light mode: https://screenshot.googleplex.com/8bzX9wLoFGJ2ado
Bug: 206761107
Test: Manual testing
WorkLockActivityControllerTest
TaskStackListenerImplTest
Change-Id: I90d117a97d7457a3186953c16db8bd0bbac048ed
The bug is caused by allowing a second swipe to restart animation in
BackAnimationController. This CL adds a flag to reject incoming gestures
when an uninterruptable transition (e.g. commit transition, cancel
transition) is already in progress.
To prevent an unfinished transition from failing all future swipes, this CL also introduces a timeout mechanism to start accepting gesture again after a fixed period.
Bug: 221394367
Test: Do two quick consecutive swipes and observe the back to home
animation.
Merged-In: Ib969afb72cc15bd268613546f3495008b6bc9125
Change-Id: Ib969afb72cc15bd268613546f3495008b6bc9125
If there was a deferred info, that means PiP params was saved but not
applied earlier. Force apply it.
Bug: 232104080
Test: Double tap on YouTube after exiting earlier Map PiP, aspect ratio
is correct
Change-Id: I52e9f38d4a923fdfee06e7ff37eb61a599caba04
Move bubbles expanded view up when user is performing the home gesture.
This gives immediate visual feedback to the user when swiping up to
collapse the expanded bubble.
Updating the expanded view collapse animation so that it works well
together with swipe up gesture.
Bug: 170163464
Test: atest PlatformScenarioTests:android.platform.test.scenario.sysui.bubble
Test: atest frameworks/base/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles
Change-Id: I834ef8de73dc4f9682583fa727ef42db21c19a7f
This CL adds synchronization of applying of the window
container transaction with split-screen layout changes after
the display size change. This is needed for the unfold
animation to have the split screen layout ready
for the first frame of the unfold animation on foldable
devices.
The flow is similar to the display rotation synchonization,
now it is triggered on both physical display change and
rotation.
Bug: 204925795
Test: folding/unfolding, rotating with a split layout
when Shell transitions enabled/disabled
Change-Id: I30f391dae69cf38768daf49361660d87165f886d
This should be final clean patch, remove legacy split screen
package and its windowing modes
Bug: 199236198
Test: build pass
Test: pass existing tests
Ignore-AOSP-First: remove whole package
Change-Id: Ib2af42834938032bf525b8c16b1046b4c898b8d5
Add a fade-in animation for showing the divider bar. And make sure it
animates in-sync with task bar by deferring the fade-in animation until
keyguard dismissed.
When quickswitch or overview switch back to a split pair, the launch
split tasks remote animation will get onAnimationCancelled due to the
app transition was handled by recent animation controller. So leaves
divider bar fade-in animation to launcher when the remote animation got
cancelled.
Fix: 229613465
Fix: 208651526
Test: atest WMShellUnitTests
Test: launch a split pair and a fullscreen app, switch from overview or
quickswitch back and forth between split pair and the fullscreen
app. Observed divider bar animates in in-sync with task views.
Test: verified divider bar animates in-sync with task bar after keyguard
dismissed.
Change-Id: I2f9064a089c446711545afda8204557a708545c5
This is used for surfaces
Bug: 200310506
Test: presubmit tests (since there is no behavior change)
Change-Id: I8c17777d14c1e8445ea426d9154580731b10632d
This change moves temporary decor handling out of the KeepClearAlgorithm
as it does not factor into keep clear area avoidance, and separating it
allows us to animate out the edu text without re-calculating the overall
PiP position. The PiP does not move immediately in response to keep
clear area changes, as it waits for the PiP position to stabilize - but
changes to temporary decor, such as edu text, should still be applied
immediately.
Bug: 226583836
Test: test TvPipBoundsControllerTest TvPipKeepClearAlgorithmTest
Change-Id: I49d32c18af13978a8a31b9a573273905fce934fd
To prevent erratic movements of the TV PiP window, this change causes
changes to the PiP window position to be delayed by 300ms. Only if the
target position of the PiP stays uncontested for that time will the PiP
actually move there.
Bug: 226583836
Test: atest KeepClearRectsTests
Test: TvPipKeepClearAlgorithmTest TvPipBoundsControllerTest
Change-Id: I8e8736fc26b2382b8e540be82d335e0b00a3c62a
Ensure we could get the proper focused window token what it's during
updating the focus if user touched down on another non-focused window.
It also called `startBackNavigation` when received first move that next
to down event to ensure the `WMS.onPointerDownOutsideFocus` could be
processed first.
Test: atest BackAnimationControllerTest BackNavigationControllerTests
Test: enabled split-screen, trigger back gesture on non-focused window
Bug: 230442550
Bug: 227724016
Change-Id: I81c4f02d43299c03f94dc295bb23ba80d46bded8
Merged-In: I81c4f02d43299c03f94dc295bb23ba80d46bded8