From e9d2dd6b86a7e1f32919a85e0c79fdcceb9ce037 Mon Sep 17 00:00:00 2001 From: "Shuichi.Noguchi" Date: Wed, 22 Nov 2017 17:24:17 +0900 Subject: [PATCH] Fix issue with PiP callbacks not being handled For secondary users, stopping primary user process is not necessary anymore since PiP is managed in the primary user's SystemUI process, this logic was prevening the relaunching of the activity. Test: Launch PiP from a secondary user on TV device, restart the activity and ensure that it is brought to fullscreen. Change-Id: I3a0658c9f55f85771b92a71a1ddeb0f9d544e869 --- .../com/android/systemui/pip/tv/PipManager.java | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java b/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java index ca58080c02606..e1371e8124241 100644 --- a/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java +++ b/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java @@ -600,9 +600,7 @@ public class PipManager implements BasePipManager { @Override public void onTaskStackChanged() { if (DEBUG) Log.d(TAG, "onTaskStackChanged()"); - if (!checkCurrentUserId(mContext, DEBUG)) { - return; - } + if (getState() != STATE_NO_PIP) { boolean hasPip = false; @@ -637,9 +635,7 @@ public class PipManager implements BasePipManager { @Override public void onActivityPinned(String packageName, int taskId) { if (DEBUG) Log.d(TAG, "onActivityPinned()"); - if (!checkCurrentUserId(mContext, DEBUG)) { - return; - } + StackInfo stackInfo = getPinnedStackInfo(); if (stackInfo == null) { Log.w(TAG, "Cannot find pinned stack"); @@ -664,9 +660,7 @@ public class PipManager implements BasePipManager { @Override public void onPinnedActivityRestartAttempt(boolean clearedTask) { if (DEBUG) Log.d(TAG, "onPinnedActivityRestartAttempt()"); - if (!checkCurrentUserId(mContext, DEBUG)) { - return; - } + // If PIPed activity is launched again by Launcher or intent, make it fullscreen. movePipToFullscreen(); } @@ -674,9 +668,7 @@ public class PipManager implements BasePipManager { @Override public void onPinnedStackAnimationEnded() { if (DEBUG) Log.d(TAG, "onPinnedStackAnimationEnded()"); - if (!checkCurrentUserId(mContext, DEBUG)) { - return; - } + switch (getState()) { case STATE_PIP_MENU: showPipMenu();