From 3ebc1e3f9963c8d786f83f21abb6b6f78270ede1 Mon Sep 17 00:00:00 2001 From: Jaewan Kim Date: Fri, 26 Feb 2016 12:54:33 -0800 Subject: [PATCH] PIP: Show recents again when PIP menu is closed Framework enforces that an app cannot go back to Recents. So launches the Recents again for the PIP menu. Change-Id: I7526edfe7dd38c7eb1befe6a8b2b5f4ea30aa84e --- .../systemui/tv/pip/PipMenuActivity.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/tv/pip/PipMenuActivity.java b/packages/SystemUI/src/com/android/systemui/tv/pip/PipMenuActivity.java index fb7fa4de088f4..fd753e9a7044f 100644 --- a/packages/SystemUI/src/com/android/systemui/tv/pip/PipMenuActivity.java +++ b/packages/SystemUI/src/com/android/systemui/tv/pip/PipMenuActivity.java @@ -25,6 +25,9 @@ import android.widget.ImageView; import android.widget.TextView; import com.android.systemui.R; +import com.android.systemui.SystemUI; +import com.android.systemui.SystemUIApplication; +import com.android.systemui.recents.Recents; import static android.content.pm.PackageManager.FEATURE_LEANBACK; import static android.content.pm.PackageManager.FEATURE_PICTURE_IN_PICTURE; @@ -214,4 +217,18 @@ public class PipMenuActivity extends Activity implements PipManager.Listener { mPipManager.suspendPipResizing( PipManager.SUSPEND_PIP_RESIZE_REASON_WAITING_FOR_MENU_ACTIVITY_FINISH); } + + @Override + public void finish() { + super.finish(); + if (mPipManager.isRecentsShown()) { + SystemUI[] services = ((SystemUIApplication) getApplication()).getServices(); + for (int i = services.length - 1; i >= 0; i--) { + if (services[i] instanceof Recents) { + ((Recents) services[i]).showRecents(false, null); + break; + } + } + } + } }