summaryrefslogtreecommitdiff
path: root/core/java/android/view/IPinnedStackController.aidl
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup IPinnedStackController and IPinnedStackListener 1/NHongwei Wang2020-12-031-32/+0
| | | | | | | | | | | | | Remove the IPinnedStackController aidl interface. The only method was left in IPinnedStackController is the getDisplayRotation and used only by PipTouchHandler. Switched that over to Context.getDisplay#getRotation Video: http://rcll/aaaaaabFQoRHlzixHdtY/bO1xoqLNemseqmk603y9us Bug: 174702196 Test: verify the original bug (b/36879891) is still fixed, see video Test: atest PinnedStackTests \ WMShellUnitTests Change-Id: I65814b25ed9a1fb28dad4d6eae88b949efc15e3c
* Move PiP animation to SysUI packageHongwei Wang2020-02-211-24/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The bounds animation is cleaned up within window manager and it's now the SysUI component listening on callbacks from TaskOrganizer for entering to and exiting from PiP mode. Additionally, the expand and move of the PiP window is now part of SysUI as well. Known issues: - Black background when in transition from PiP to fullscreen. The wallpaper gets into hidden state too early - App gets into PiP mode too early when entering PiP, need to defer the configuration change sent to app in this case Bug: 146594635 Bug: 148198539 Bug: 138144750 Bug: 149569903 Test: atest PinnedStackTests Test: atest PipAnimationControllerTest Test: atest RecentsAnimationTest Test: atest RecentTasksTest Test: atest com.android.server.wm.ActivityStarterTests Change-Id: Id0c8ce03fa26952daf5e3687b18b2eb2375b7d20
* Removes default/movement PiP bounds from WMHongwei Wang2020-01-271-5/+0
| | | | | | | | | Per discussion in go/pip-ctc-strategy, SysUI will not report default/movements bounds to window manager. Bug: 141200935 Test: atest PinnedStackTests Change-Id: Ibdffe18640e167928285fb0efc5c88f82abe18e6
* Move rotation bounds calculation into SysUIHongwei Wang2019-12-191-0/+13
| | | | | | | | | | | | | | Also included in this CL - Cleanup all bounds calculation in PinnedStackController - Move PipSnapAlgorithm to SysUI Bug: 139016833 Bug: 139016576 Bug: 145133340 Test: atest PinnedStackTests Test: atest MultiDisplayActivityLaunchTest Test: atest MultiDisplaySystemDecorationTests Change-Id: Ifa0621a1cb69e76498e020aef7d8fa815df4ce48
* Move bounds calculation and snap fraction to SysUIHongwei Wang2019-09-181-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Major changes in this CL - Added PipBoundsHandler in SysUI package handles the bounds calculation and save/restore the snap fraction - Added IPinnedStackListener.onSaveReentrySnapFraction and IPinnedStackListener.onResetReentrySnapFration, both called from PinnedStackController (WM) to SysUI - Added IPinnedStackListener.onPrepareAnimation, called from WM to SysUI to notify that an animation for pinned stack is about to happen - Added IPinnedStackController.startAnimation, called from SysUI to WM to actually start the pinned stack animation - Updated tv/PipManager to use PipBoundsHandler as well Known issues and what's next - Shelf height is set after the animation is started, therefore one may notice the PiP window is hovering over the shelf. This is tracked separatedly by b/139016518 - Bounds calculations still exist in PinnedStackController since onTaskStackChanged callback requires so. Once we addressed b/139016833 (move rotation bounds calculation to SysUI), they should be all gone. - Move the pinned stack animation from WM to SysUI and we can furthre remove IPinnedStackListener.onPrepareAnimation and IPinnedStackController.startAnimation More details: go/pip-sysui-migration Bug: 139015463 Bug: 139015142 Test: atest PinnedStackTests Test: atest PinnedStackControllerTest Change-Id: Ib62d8152ecc7b18a671ec403af44cc517612169e
* Revert "Move bounds calculation and snap fraction to SysUI"Hongwei Wang2019-09-171-11/+7
| | | | | | | | This reverts commit e3ff139062e6aac658ac54f5e11b9d22e540d600. Reason for revert: PinnedStackTests#testEnterPictureInPictureDiscardSavedPositionOnFinish flaky Change-Id: I067c94d536b1db94523ef3eec3d443e0dc4cb575
* Move bounds calculation and snap fraction to SysUIHongwei Wang2019-09-121-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Major changes in this CL - Added PipBoundsHandler in SysUI package handles the bounds calculation and save/restore the snap fraction - Added IPinnedStackListener.onSaveReentrySnapFraction and IPinnedStackListener.onResetReentrySnapFration, both called from PinnedStackController (WM) to SysUI - Added IPinnedStackListener.onPrepareAnimation, called from WM to SysUI to notify that an animation for pinned stack is about to happen - Added IPinnedStackController.startAnimation, called from SysUI to WM to actually start the pinned stack animation - Updated tv/PipManager to use PipBoundsHandler as well Known issues and what's next - Shelf height is set after the animation is started, therefore one may notice the PiP window is hovering over the shelf. This is tracked separatedly by b/139016518 - Bounds calculations still exist in PinnedStackController since onTaskStackChanged callback requires so. Once we addressed b/139016833 (move rotation bounds calculation to SysUI), they should be all gone. - Move the pinned stack animation from WM to SysUI and we can furthre remove IPinnedStackListener.onPrepareAnimation and IPinnedStackController.startAnimation More details: go/pip-sysui-migration Bug: 139015463 Bug: 139015142 Test: atest PinnedStackTests Test: atest PinnedStackControllerTest Change-Id: I76c2b40ea0fe95e3a8019b434d39ba5540e2039f
* Fix issue with aspect ratio not applying correctly when PIP is expandedWinson Chung2017-05-301-0/+8
| | | | | | | | | | | | | | | | - The current code always used the default min edge size to calculate the PIP bounds when the aspect ratio changes, so if a PIP app sets the aspect ratio in response to the an action, the bounds would be resized down incorrectly. - This CL fixes the issue with current aspect ratio not being initialized correctly, and also ensures that SystemUI always updates the min edge size when expanding the PIP. Bug: 38324839 Test: android.server.cts.ActivityManagerPinnedStackTests Test: go/wm-smoke Change-Id: Ida0f68b2f8f93f9bf1915dda8762a156704d4709
* Tightening up rotation behavior for PIP (3/3)Winson Chung2017-04-171-0/+5
| | | | | | | | | | | | - Fixing up edge case when SysUI resizing conflicts with updating the display rotation bounds. When an interaction causes both a display rotation and a resize from SystemUI, we should defer the resize animation until the rotation has been propagated to SystemUI, otherwise the bounds used will be incorrect. Bug: 36879891 Test: android.server.cts.ActivityManagerPinnedStackTests Change-Id: Ife1b7ab0c2f1f11f33cbc9614778ff49a28c79f6
* Refactor PiP logic in preparation for expanded state.Winson Chung2017-02-071-13/+1
| | | | | | | | | | | | | | | | | | | | | | | | | - #1: Move logic for handling IME size changes into SysUI, and only rely on PinnedStackController to provide bounds when first entering PiP and on rotation - #2: Doing #1 allows us to move PipMotionHelper to SysUI completely, which lets us aggregate the animation calls out of PipTouchHandler - #3: Add proper callbacks to the listeners when the movement bounds changed from config change, ime change, or aspect ratio change. This allows SysUI to calculate the associated movement bounds for the expanded state, and we can then remove the corresponding WM call. It also means that SysUI is the only thing that needs to know about the expanded state. - #4: Fix issue where TV was getting the default bounds, not taking the aspect ratio when the PiP was entered into account. Doing #3 allows us to report the right bounds. - #5: Remove dead code related to edge snapping/minimizing now that they are on by default and associated tuner setting, and controller callbacks Test: android.server.cts.ActivityManagerPinnedStackTests (all existing tests pass) Change-Id: I3ef361bdf8d44094b4c0a11c70ba4db7d697fdec Signed-off-by: Winson Chung <winsonc@google.com>
* Adding experiment for minimized pinned stack.Winson Chung2016-11-101-0/+5
| | | | | | | | | | | - Also refactoring the PIP touch handling to be independent gestures Test: Enable the setting in SystemUI tuner, then drag the PIP slightly offscreen. This is only experimental behaviour, and android.server.cts.ActivityManagerPinnedStackTests will be updated accordingly if we keep this behavior. Change-Id: I5834971fcbbb127526339e764e7d76b5d22d4707
* Experiment for snapping PIP to closest edge.Winson Chung2016-11-021-0/+5
| | | | | | | Test: Enable in SysUI tuner, drag PIP. This is only experimental to help figure out what UX we want to keep. Change-Id: I0d6f2f0c5909d6a76aae4a8fb84c5076f6996fdd
* Creating PinnedStackController.Winson Chung2016-10-311-0/+33
- Creating a PinnedStackController to keep track of the state of the PIP to prevent changes in the system (ie. IME showing) and user interaction from clobbering each other. - Refactoring calls in AM into WM/controller Test: android.server.cts.ActivityManagerPinnedStackTests Change-Id: Ie59dfd45d5c54764ba69a589b3b8148845e92cc3 Signed-off-by: Winson Chung <winsonc@google.com>