diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/PipController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/PipController.java index 7b710553b67d5..3468b888c06a5 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/PipController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/PipController.java @@ -224,10 +224,11 @@ public class PipController implements Pip, PipTaskOrganizer.PipTransitionCallbac PipBoundsHandler pipBoundsHandler, PipTaskOrganizer pipTaskOrganizer, PipMediaController pipMediaController, + PipNotification pipNotification, WindowManagerShellWrapper windowManagerShellWrapper) { mContext = context; mPipBoundsState = pipBoundsState; - mPipNotification = new PipNotification(context, this); + mPipNotification = pipNotification; mPipBoundsHandler = pipBoundsHandler; mPipMediaController = pipMediaController; // Ensure that we have the display info in case we get calls to update the bounds @@ -242,6 +243,8 @@ public class PipController implements Pip, PipTaskOrganizer.PipTransitionCallbac mPipTaskOrganizer.registerPipTransitionCallback(this); mActivityTaskManager = ActivityTaskManager.getService(); + addListener(mPipNotification); + final IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ACTION_CLOSE); intentFilter.addAction(ACTION_MENU); diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/PipNotification.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/PipNotification.java index d6368ea837712..b30dee4f331fe 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/PipNotification.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/tv/PipNotification.java @@ -32,6 +32,7 @@ import android.text.TextUtils; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; import com.android.wm.shell.R; +import com.android.wm.shell.pip.PipMediaController; import java.util.Objects; @@ -40,7 +41,7 @@ import java.util.Objects; *
Once it's created, it will manage the PIP notification UI by itself except for handling
* configuration changes.
*/
-public class PipNotification {
+public class PipNotification implements PipController.Listener {
private static final boolean DEBUG = PipController.DEBUG;
private static final String TAG = "PipNotification";
@@ -63,42 +64,7 @@ public class PipNotification {
private String mMediaTitle;
private Bitmap mArt;
- private PipController.Listener mPipListener = new PipController.Listener() {
- @Override
- public void onPipEntered(String packageName) {
- mPackageName = packageName;
- notifyPipNotification();
- }
-
- @Override
- public void onPipActivityClosed() {
- dismissPipNotification();
- mPackageName = null;
- }
-
- @Override
- public void onShowPipMenu() {
- // no-op.
- }
-
- @Override
- public void onPipMenuActionsChanged(ParceledListSlice