From 0d0f4f96f91957749a0bcbcdcbbff80fb4aa7c31 Mon Sep 17 00:00:00 2001 From: Jeff Pierce Date: Mon, 1 Mar 2021 14:44:54 -0800 Subject: [PATCH] SystemUI proxy updates for managing split screen Allow the launcher to provide a fill-in intent when starting a PendingIntent splitscreen, and add a new method to allow the launcher to request removing a task from the side stage. Bug: 179176511 Test: Manually tested with the foldable launcher prototype Change-Id: I23173b432ffe9c988744641170412aa9111cf55d --- .../com/android/quickstep/SystemUiProxy.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/quickstep/src/com/android/quickstep/SystemUiProxy.java b/quickstep/src/com/android/quickstep/SystemUiProxy.java index 64d05e1401..357aef16f7 100644 --- a/quickstep/src/com/android/quickstep/SystemUiProxy.java +++ b/quickstep/src/com/android/quickstep/SystemUiProxy.java @@ -21,11 +21,11 @@ import android.app.PendingIntent; import android.app.PictureInPictureParams; import android.content.ComponentName; import android.content.Context; +import android.content.Intent; import android.content.pm.ActivityInfo; import android.graphics.Bitmap; import android.graphics.Insets; import android.graphics.Rect; -import android.os.Binder; import android.os.Bundle; import android.os.IBinder; import android.os.IBinder.DeathRecipient; @@ -516,14 +516,26 @@ public class SystemUiProxy implements ISystemUiProxy { } @Override - public void startIntent(PendingIntent intent, int stage, int position, Bundle options) { + public void startIntent(PendingIntent intent, Intent fillInIntent, int stage, + int position, Bundle options) { if (mSystemUiProxy != null) { try { - mSystemUiProxy.startIntent(intent, stage, position, options); + mSystemUiProxy.startIntent(intent, fillInIntent, stage, position, + options); } catch (RemoteException e) { Log.w(TAG, "Failed call startIntent"); } } } + @Override + public void removeFromSideStage(int taskId) { + if (mSystemUiProxy != null) { + try { + mSystemUiProxy.removeFromSideStage(taskId); + } catch (RemoteException e) { + Log.w(TAG, "Failed call removeFromSideStage"); + } + } + } }