History log of /frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bb23376439a369d2a4f94abcda6a46dea673a74c 15-May-2017 Winson Chung <winsonc@google.com> Fixing issue with double tapping PiP.

- If a user taps the PiP quickly multiple times, you can hit a case where
you expand the PIP, which triggers the re-registration of the
InputConsumer, but doesn't disable touches until the pinned stack
animation starts. If the user taps in between that time, it can trigger
a resizing of the stack what aborts the expand animation
- Also adding additional debugging logs

Bug: 37657050
Test: Quickly tap the PiP

Change-Id: Ib0088a3aa8e917aca3214c289a0787bdf7e66199
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
b502690e2d0a120993279a6fe800ad07dccc8872 03-May-2017 Winson Chung <winsonc@google.com> Updating Overview to work with PiP

- Ensure that an activity that is auto-entering PiP when hitting Overview
does not show up in Overview. This is done by listening for the
onActivityPinned() callback from the system, and remove the pinned task.
- Ensure that we show the PiP task in Overview after it is dismissed, while
Overview is open. This is done by listening for the onActivityUnpinned()
callback from the system and refreshing the task list similar to when
the multi-window mode changes.
- When launching from a PiP activity, or launching back into Overview where
the next task should be PiP, then ensure that we scroll the stack to the
front so that the first task is fully visible.
- Fix two lingering Overview issues, when there are no handlers (ie. with
dynamically registered handlers), ensure that we call pre/post dispatch
callbacks (otherwise it could cause animated events not to work correctly).
Also, ensure that we don't update the dummy stack view TaskStack without
clearing the stack first, since we may be modifying the same stack
that the activity consumed when starting.

Bug: 34185886
Bug: 38207296
Test: Launch PIP activity from hitting Overview in the various ways
described above
Change-Id: I699e655106e6ed7206e163f9d3c15477bbfd52ef
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
79f852e7a784a6c1721fcea0936d98098f9359b9 05-May-2017 Winson Chung <winsonc@google.com> Ensure that we hide the menu without resizing when expanding.

- This should be done when expanding/dismissing from the menu activity,
otherwise the menu state change can cause a stack-resize animation that
clobbers the expand or dismiss animation.

Bug: 37650245
Test: Launch Duo in PIP, end call from notification tray
Change-Id: Ie880715ae7be28a4fe2dd0d294e369b62e776c35
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
34488242f889d4d5889a38f796633b0d1c8b5541 27-Apr-2017 Winson Chung <winsonc@google.com> Fix issue with double tapping PiP

- This is only an issue when double tapping while the menu is visible in
the initial close state. The problem was that in a double tap, the first
tap could trigger a move as the activity is actively resized, which
triggers the input consumer to be re-registered. Then the subsequent
tap will trigger an unexpected expand on touch up, which then can
conflict when the menu gets resized down to the unexpanded state.

For now, when expanding to/from the expanded state, disallow touches
until after the animation ends, like we do in the input consumer touch
handler.

Bug: 37657050
Test: Double tap the PIP when it is unexpanded, ensure that it expands
Change-Id: Ib68bcb80a54a801181f02ff73e7188678a26dd9b
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
637cd4892213b820c00a2a09959c84c49c50a15e 21-Mar-2017 Mady Mellor <madym@google.com> Show x for short period of time when activity is PIP'd

- Moves dismiss view out of menu container layout and manages the alpha
for it separately (i.e. when animating menu in / out or modifying the
alpha when dragging to dismiss)
- Shows the dismiss view when PIP mode is entered, fades out after
menu time out, on interaction the timeout is reset

Test: Enter PIP, note 'x' that is displayed, tap on it to dismiss the PIP
or don't tap on it and it goes away
Bug: 36900043
Change-Id: Ia596ee60cd9c0d744e459564586ba6a0a9c23d5d
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
87e5d55e98857bd43984c2395660d88ae20efcfc 05-Apr-2017 Winson Chung <winsonc@google.com> Workaround for input ANR, always finish PiP menu activity.

- Always finish the PiP menu activity when the interaction is complete
(either the menu is hidden after showing, or when the user stops
interacting with it and it was shown for the dismiss overlay)
- Fix issue with bounds animation callback not working due to the app
window being removed and not updating the app transition that its
animation "finished"
- Add additional logging throughout to trace PiP animation

Bug: 36877782
Test: Enter PIP, tap to show menu, wait for it to hide, and then use
wired headset button

Change-Id: Ie88ba107d7fffdd182a4063ef4f324b58669d0ad
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
0f873de5ff40f4cf0be65267cf4fc2af2844bf39 30-Mar-2017 Winson Chung <winsonc@google.com> Tweaking PiP for accessibility.

- Disabling timeout when the PiP menu is invoked via an accessibility event
- Increasing default duration before menu times out and collapses
- Fixing issue where temporary bundle data was being clobbered

Bug: 36103023
Test: Launch PiP activity with accessibility, ensure menu does not time out
Change-Id: I4beda18ef2fb2e2b638b0ff6bac9a71ed1986639
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
853c99a083dc6a96694373c48f427e4d3466d4a9 22-Mar-2017 Winson Chung <winsonc@google.com> Removing per-user PiP component.

- This was added in ag/923778 for TV, where the TV recents activity, which
is started per-user, needed to reference the PiP bounds to coordinate the
layout of the PiP UI in recents. As a result of that change, the PiP
manager for both phones and TV was being instantiated multiple times,
once for the primary user, and another for secondary/managed users. With
each instantiation of the PipManager, we were re-registering the input
consumer, and once the process was killed, the input consumer was not
being cleaned up correctly and it not longer was registered with the
primary SystemUI which drives the PiP.

As of ag/1964066, the TV recents code is removed, so we can now safely
remove the PipUI component for secondary users as well, ensuring only a
single PipManager/InputConsumerController instance.

This does not prevent PiP from working in secondary users, but only
leaves the input consumer and menu controller in the primary user's
SystemUI.
- Fix some crashes when interacting with the PiP in a secondary user,
all communication between the menu controller and the menu activity
should be done in a parcelable way as the menu activity runs per-user
- Adding exception when the PipUI component is not created for the primary
user
- Initial changes to dump input consumers in WM to be able to correlate
them with SysUI's state

Bug: 35792308
Test: Ensure PiP component is not started for secondary user, verify that
it still works on secondary users

Change-Id: I3df10860227498bc37799ad296f0a4b71b87d30e
Signed-off-by: Winson Chung <winsonc@google.com>
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
2824d7c1b32675233221bd30d24b60f2dac2bdd5 16-Mar-2017 Winson Chung <winsonc@google.com> Ensuring that we remove the input consumer after moving expanded PiP

- We re-enable the input consumer once the user starts dragging the
expanded PiP to allow the touch handler to take over, but once we
reset the timer (after showing the menu again), we need to disable
the input consumer so that the menu can get touches again.

Bug: 36266913
Test: Expand PiP, move, click action
Change-Id: I30ebccd165fd764a9a8de8313659c24ecd12aec0
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
81d406104a1661658eba8755de59bf1df575e4c7 11-Mar-2017 Mady Mellor <madym@google.com> Enables drag to dismiss for PiP and adds a dark scrim when dismissing

- Adds a scrim that fades in as the PiP is dragged past the bottom movement
bounds.
- Tweaks the values for minimizing the PiP and dismissing the PiP
- Fixes an issue where the PiP could be minimized in the bottom corners
of the screen

Test: Manual - drag PiP to bottom of screen to dismiss or swipe down on
PiP when it's at the bottom of the screen
Bug: 35358768
Bug: 35358628
Change-Id: Ib4ad5ed7094fef76ea979b46ea7e03d746625d00
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
e7a3d2225c3fcfcac4f7d1055e6ddbcbd55b52a4 09-Mar-2017 Winson Chung <winsonc@google.com> Updating expanded PiP menu.

- Adding consistent scrim behind menu
- Tweaking icon/button sizes
- Updating the expand button depending on the current placement of the PiP
- Better centering of the expand button

Bug: 35358425
Test: Expand pip
Change-Id: I34575bb08d4815f51b6f14f8b0e25b20b9a97320
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
a7f69740b5b4d74cd0736b05220d2c8633b07a63 03-Feb-2017 Mady Mellor <madym@google.com> Update how PIP size is determined

- minSize = 108dp
- defaultSmallestEdge = max(23% of screen width, minSize)
- the shortest edge of the PIP should be minSize and the rest scales
according to the aspect ratio
- rather than a default PIP size, use default aspect ratio
- adding expand button
- fitting actions to spec

Fixes: 35358504
Test: manually used test app to try different aspect ratios
Change-Id: Ib6890fb7824889b9edeea7efb5b9771e64fc1514
Signed-off-by: Winson Chung <winsonc@google.com>
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
d2d909778c3dd67ccbccd5134ef7624059994ca9 28-Feb-2017 Winson Chung <winsonc@google.com> Initial changes to support expanded PiP

- Prior to this CL, the input consumer and size of the PiP was tightly
coupled with the visibility of the menu, but with the expanded state,
the PiP should still move while the menu is visible.

Bug: 35358488
Test: Click on the PiP to expand it

Change-Id: If52208f19af516b2455bde26855c80f44bc9021a
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
29a786590f273b123efa4bb669c4ae51dd055a00 10-Feb-2017 Winson Chung <winsonc@google.com> Adding PipManager dumps.

Test: adb shell dumpsys activity service com.android.systemui
Change-Id: Id647833f1b4dcb6226517c058d17d1812f022671
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
14fbe141e0990d423b8564c0fc3a786ed26232c0 20-Dec-2016 Winson Chung <winsonc@google.com> Adding initial TRON logging for picture-in-picture.

Bug: 33756317
Test: Run PIP activity
Change-Id: Iad270dfdf6521d4659653a0697effaed4a0d4137
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
97a60d9d00240949b9642c28a34be118469eb727 19-Jan-2017 Winson Chung <winsonc@google.com> Falling back to media session controls.

- If there are no specific actions set by the current PiP activity,
then fall back to actions provided by the current media session.

Test: Start PiP activity with a media session

Change-Id: Iabb33606eec682fa2fa4d1ba065c8b2763023de7
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
8f7bad2fecae82538acd04022e9b439f8a44edad 13-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add additional guards to ensure input consumer is re-registered."
929d4f722533fef8d8dc498b2ecf6ac3d0cb66d5 13-Jan-2017 Winson Chung <winsonc@google.com> Add additional guards to ensure input consumer is re-registered.

- Also removing some old code related to menu start, which is already
called when the menu is shown.

Bug: 34240533
Test: Open PIP, ensure that you can drag it after the menu fades out.
Change-Id: Ia16b405f8507f5c3d81fdf4f1049ce9359298672
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
cbcadc981b927b13ccc6e76614f5cccc0c0fe402 13-Jan-2017 Winson Chung <winsonc@google.com> Ensure that we always resume task overlay activities if requested.

- Distinguish between task overlays that need to be resumed and
those that should not.

Bug: 34240533
Test: Open PiP, tap to show menu.
Change-Id: Ibdb54d544c501a492260f02cdc2de40c5c1a66d1
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
c75ffe8ccb58966753654c5b817507ad11168bca 17-Dec-2016 Winson Chung <winsonc@google.com> Fixing some interaction issues with the PIP menu.

- Due to jank when finishing the PIP menu activity, we handle the
menu visibility explicitly and keep the menu activity around
once triggered (until PIP ends), instead of finishing and
recreating it each time it is invoked. This also gives us the
flexibility to control how the animation looks of both the menu
and individual actions.
- Allow dragging the PIP while the menu activity is showing and
taking input
- Tapping outside of the PIP now hides the menu

Test: Enable the tap-to-interact in the SysUI tuner and drag while
the menu is showing.

Change-Id: Iac74710100d793e6825b00c7c0d71b85fb420fa0
Signed-off-by: Winson Chung <winsonc@google.com>
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
a29eb98d9fba99528f0809c448daf2ddae37de7e 14-Dec-2016 Winson Chung <winsonc@google.com> Adding support for PIP actions.

- Introduced generic RemoteAction to represents an action
that can be made across processes with an icon and text
description based on a Notification action.
- Modified PinnedStackController to ensure that it notifies
the listeners from the source of truth, this ensures that
SysUI is in the right state if killed and re-registers
itself.

Test: Enable menu & minimize in SystemUI tuner.
Test: android.server.cts.ActivityManagerPinnedStackTests
Test: #testNumPipActions

Change-Id: I5b5d0cf9de3f06b5687337d59cfb91e17355bdb1
Signed-off-by: Winson Chung <winsonc@google.com>
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java
15504af3f75037b9b94846e55bf706369531d786 03-Nov-2016 Winson Chung <winsonc@google.com> Experiment with allowing tap to break through to interact with the PIP.

Test: Enable SysUI tuner, tap once on PIP to interact with the activity.
This is only experimental behaviour, and
android.server.cts.ActivityManagerPinnedStackTests will be updated
accordingly if we keep this behavior.

Change-Id: I278ab8c360c44718cfcac0fd761f476a875f9b15
/frameworks/base/packages/SystemUI/src/com/android/systemui/pip/phone/PipMenuActivityController.java