Loading core/java/android/app/ITaskStackListener.aidl +5 −3 Original line number Diff line number Diff line Loading @@ -37,13 +37,15 @@ oneway interface ITaskStackListener { /** * Called whenever IActivityManager.startActivity is called on an activity that is already * running in the pinned stack and the activity is not actually started, but the task is either * brought to the front or a new Intent is delivered to it. * running, but the task is either brought to the front or a new Intent is delivered to it. * * @param task information about the task the activity was relaunched into * @param homeVisible whether or not the home task is visible * @param clearedTask whether or not the launch activity also cleared the task as a part of * starting */ void onPinnedActivityRestartAttempt(boolean clearedTask); void onActivityRestartAttempt(in ActivityManager.RunningTaskInfo task, boolean homeTaskVisible, boolean clearedTask); /** * Called when we launched an activity that we forced to be resizable. Loading core/java/android/app/TaskStackListener.java +13 −11 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.app; import android.app.ActivityManager.RunningTaskInfo; import android.app.ActivityManager.TaskSnapshot; import android.compat.annotation.UnsupportedAppUsage; import android.content.ComponentName; Loading Loading @@ -53,7 +54,8 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { @Override @UnsupportedAppUsage public void onPinnedActivityRestartAttempt(boolean clearedTask) throws RemoteException { public void onActivityRestartAttempt(RunningTaskInfo task, boolean homeTaskVisible, boolean clearedTask) throws RemoteException { } @Override Loading @@ -68,14 +70,14 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override public void onActivityLaunchOnSecondaryDisplayFailed(ActivityManager.RunningTaskInfo taskInfo, public void onActivityLaunchOnSecondaryDisplayFailed(RunningTaskInfo taskInfo, int requestedDisplayId) throws RemoteException { onActivityLaunchOnSecondaryDisplayFailed(); } /** * @deprecated see {@link * #onActivityLaunchOnSecondaryDisplayFailed(ActivityManager.RunningTaskInfo, int)} * #onActivityLaunchOnSecondaryDisplayFailed(RunningTaskInfo, int)} */ @Deprecated @UnsupportedAppUsage Loading @@ -84,7 +86,7 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { @Override @UnsupportedAppUsage public void onActivityLaunchOnSecondaryDisplayRerouted(ActivityManager.RunningTaskInfo taskInfo, public void onActivityLaunchOnSecondaryDisplayRerouted(RunningTaskInfo taskInfo, int requestedDisplayId) throws RemoteException { } Loading @@ -98,13 +100,13 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override public void onTaskMovedToFront(ActivityManager.RunningTaskInfo taskInfo) public void onTaskMovedToFront(RunningTaskInfo taskInfo) throws RemoteException { onTaskMovedToFront(taskInfo.taskId); } /** * @deprecated see {@link #onTaskMovedToFront(ActivityManager.RunningTaskInfo)} * @deprecated see {@link #onTaskMovedToFront(RunningTaskInfo)} */ @Deprecated @UnsupportedAppUsage Loading @@ -112,26 +114,26 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override public void onTaskRemovalStarted(ActivityManager.RunningTaskInfo taskInfo) public void onTaskRemovalStarted(RunningTaskInfo taskInfo) throws RemoteException { onTaskRemovalStarted(taskInfo.taskId); } /** * @deprecated see {@link #onTaskRemovalStarted(ActivityManager.RunningTaskInfo)} * @deprecated see {@link #onTaskRemovalStarted(RunningTaskInfo)} */ @Deprecated public void onTaskRemovalStarted(int taskId) throws RemoteException { } @Override public void onTaskDescriptionChanged(ActivityManager.RunningTaskInfo taskInfo) public void onTaskDescriptionChanged(RunningTaskInfo taskInfo) throws RemoteException { onTaskDescriptionChanged(taskInfo.taskId, taskInfo.taskDescription); } /** * @deprecated see {@link #onTaskDescriptionChanged(ActivityManager.RunningTaskInfo)} * @deprecated see {@link #onTaskDescriptionChanged(RunningTaskInfo)} */ @Deprecated public void onTaskDescriptionChanged(int taskId, ActivityManager.TaskDescription td) Loading Loading @@ -166,7 +168,7 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override public void onBackPressedOnTaskRoot(ActivityManager.RunningTaskInfo taskInfo) public void onBackPressedOnTaskRoot(RunningTaskInfo taskInfo) throws RemoteException { } Loading packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java +2 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,8 @@ public abstract class TaskStackChangeListener { public void onTaskSnapshotChanged(int taskId, ThumbnailData snapshot) { } public void onActivityPinned(String packageName, int userId, int taskId, int stackId) { } public void onActivityUnpinned() { } public void onPinnedActivityRestartAttempt(boolean clearedTask) { } public void onActivityRestartAttempt(RunningTaskInfo task, boolean homeTaskVisible, boolean clearedTask) { } public void onActivityForcedResizable(String packageName, int taskId, int reason) { } public void onActivityDismissingDockedStack() { } public void onActivityLaunchOnSecondaryDisplayFailed() { } Loading packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java +20 −9 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.os.RemoteException; import android.os.Trace; import android.util.Log; import com.android.internal.os.SomeArgs; import com.android.systemui.shared.recents.model.ThumbnailData; import java.util.ArrayList; Loading Loading @@ -120,11 +121,14 @@ public class TaskStackChangeListeners extends TaskStackListener { } @Override public void onPinnedActivityRestartAttempt(boolean clearedTask) throws RemoteException { mHandler.removeMessages(H.ON_PINNED_ACTIVITY_RESTART_ATTEMPT); mHandler.obtainMessage(H.ON_PINNED_ACTIVITY_RESTART_ATTEMPT, clearedTask ? 1 : 0, 0) .sendToTarget(); public void onActivityRestartAttempt(RunningTaskInfo task, boolean homeTaskVisible, boolean clearedTask) throws RemoteException { final SomeArgs args = SomeArgs.obtain(); args.arg1 = task; args.argi1 = homeTaskVisible ? 1 : 0; args.argi2 = clearedTask ? 1 : 0; mHandler.removeMessages(H.ON_ACTIVITY_RESTART_ATTEMPT); mHandler.obtainMessage(H.ON_ACTIVITY_RESTART_ATTEMPT, args).sendToTarget(); } @Override Loading Loading @@ -236,7 +240,7 @@ public class TaskStackChangeListeners extends TaskStackListener { private static final int ON_TASK_STACK_CHANGED = 1; private static final int ON_TASK_SNAPSHOT_CHANGED = 2; private static final int ON_ACTIVITY_PINNED = 3; private static final int ON_PINNED_ACTIVITY_RESTART_ATTEMPT = 4; private static final int ON_ACTIVITY_RESTART_ATTEMPT = 4; private static final int ON_ACTIVITY_FORCED_RESIZABLE = 6; private static final int ON_ACTIVITY_DISMISSING_DOCKED_STACK = 7; private static final int ON_TASK_PROFILE_LOCKED = 8; Loading Loading @@ -296,10 +300,14 @@ public class TaskStackChangeListeners extends TaskStackListener { } break; } case ON_PINNED_ACTIVITY_RESTART_ATTEMPT: { case ON_ACTIVITY_RESTART_ATTEMPT: { final SomeArgs args = (SomeArgs) msg.obj; final RunningTaskInfo task = (RunningTaskInfo) args.arg1; final boolean homeTaskVisible = args.argi1 != 0; final boolean clearedTask = args.argi2 != 0; for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i).onPinnedActivityRestartAttempt( msg.arg1 != 0); mTaskStackListeners.get(i).onActivityRestartAttempt(task, homeTaskVisible, clearedTask); } break; } Loading Loading @@ -419,6 +427,9 @@ public class TaskStackChangeListeners extends TaskStackListener { } } } if (msg.obj instanceof SomeArgs) { ((SomeArgs) msg.obj).recycle(); } } } Loading packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java +11 −0 Original line number Diff line number Diff line Loading @@ -1226,6 +1226,17 @@ public class BubbleController implements ConfigurationController.ConfigurationLi } } @Override public void onActivityRestartAttempt(RunningTaskInfo task, boolean homeTaskVisible, boolean clearedTask) { for (Bubble b : mBubbleData.getBubbles()) { if (b.getDisplayId() == task.displayId) { expandStackAndSelectBubble(b.getKey()); return; } } } @Override public void onActivityLaunchOnSecondaryDisplayRerouted() { if (mStackView != null) { Loading Loading
core/java/android/app/ITaskStackListener.aidl +5 −3 Original line number Diff line number Diff line Loading @@ -37,13 +37,15 @@ oneway interface ITaskStackListener { /** * Called whenever IActivityManager.startActivity is called on an activity that is already * running in the pinned stack and the activity is not actually started, but the task is either * brought to the front or a new Intent is delivered to it. * running, but the task is either brought to the front or a new Intent is delivered to it. * * @param task information about the task the activity was relaunched into * @param homeVisible whether or not the home task is visible * @param clearedTask whether or not the launch activity also cleared the task as a part of * starting */ void onPinnedActivityRestartAttempt(boolean clearedTask); void onActivityRestartAttempt(in ActivityManager.RunningTaskInfo task, boolean homeTaskVisible, boolean clearedTask); /** * Called when we launched an activity that we forced to be resizable. Loading
core/java/android/app/TaskStackListener.java +13 −11 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.app; import android.app.ActivityManager.RunningTaskInfo; import android.app.ActivityManager.TaskSnapshot; import android.compat.annotation.UnsupportedAppUsage; import android.content.ComponentName; Loading Loading @@ -53,7 +54,8 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { @Override @UnsupportedAppUsage public void onPinnedActivityRestartAttempt(boolean clearedTask) throws RemoteException { public void onActivityRestartAttempt(RunningTaskInfo task, boolean homeTaskVisible, boolean clearedTask) throws RemoteException { } @Override Loading @@ -68,14 +70,14 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override public void onActivityLaunchOnSecondaryDisplayFailed(ActivityManager.RunningTaskInfo taskInfo, public void onActivityLaunchOnSecondaryDisplayFailed(RunningTaskInfo taskInfo, int requestedDisplayId) throws RemoteException { onActivityLaunchOnSecondaryDisplayFailed(); } /** * @deprecated see {@link * #onActivityLaunchOnSecondaryDisplayFailed(ActivityManager.RunningTaskInfo, int)} * #onActivityLaunchOnSecondaryDisplayFailed(RunningTaskInfo, int)} */ @Deprecated @UnsupportedAppUsage Loading @@ -84,7 +86,7 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { @Override @UnsupportedAppUsage public void onActivityLaunchOnSecondaryDisplayRerouted(ActivityManager.RunningTaskInfo taskInfo, public void onActivityLaunchOnSecondaryDisplayRerouted(RunningTaskInfo taskInfo, int requestedDisplayId) throws RemoteException { } Loading @@ -98,13 +100,13 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override public void onTaskMovedToFront(ActivityManager.RunningTaskInfo taskInfo) public void onTaskMovedToFront(RunningTaskInfo taskInfo) throws RemoteException { onTaskMovedToFront(taskInfo.taskId); } /** * @deprecated see {@link #onTaskMovedToFront(ActivityManager.RunningTaskInfo)} * @deprecated see {@link #onTaskMovedToFront(RunningTaskInfo)} */ @Deprecated @UnsupportedAppUsage Loading @@ -112,26 +114,26 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override public void onTaskRemovalStarted(ActivityManager.RunningTaskInfo taskInfo) public void onTaskRemovalStarted(RunningTaskInfo taskInfo) throws RemoteException { onTaskRemovalStarted(taskInfo.taskId); } /** * @deprecated see {@link #onTaskRemovalStarted(ActivityManager.RunningTaskInfo)} * @deprecated see {@link #onTaskRemovalStarted(RunningTaskInfo)} */ @Deprecated public void onTaskRemovalStarted(int taskId) throws RemoteException { } @Override public void onTaskDescriptionChanged(ActivityManager.RunningTaskInfo taskInfo) public void onTaskDescriptionChanged(RunningTaskInfo taskInfo) throws RemoteException { onTaskDescriptionChanged(taskInfo.taskId, taskInfo.taskDescription); } /** * @deprecated see {@link #onTaskDescriptionChanged(ActivityManager.RunningTaskInfo)} * @deprecated see {@link #onTaskDescriptionChanged(RunningTaskInfo)} */ @Deprecated public void onTaskDescriptionChanged(int taskId, ActivityManager.TaskDescription td) Loading Loading @@ -166,7 +168,7 @@ public abstract class TaskStackListener extends ITaskStackListener.Stub { } @Override public void onBackPressedOnTaskRoot(ActivityManager.RunningTaskInfo taskInfo) public void onBackPressedOnTaskRoot(RunningTaskInfo taskInfo) throws RemoteException { } Loading
packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java +2 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,8 @@ public abstract class TaskStackChangeListener { public void onTaskSnapshotChanged(int taskId, ThumbnailData snapshot) { } public void onActivityPinned(String packageName, int userId, int taskId, int stackId) { } public void onActivityUnpinned() { } public void onPinnedActivityRestartAttempt(boolean clearedTask) { } public void onActivityRestartAttempt(RunningTaskInfo task, boolean homeTaskVisible, boolean clearedTask) { } public void onActivityForcedResizable(String packageName, int taskId, int reason) { } public void onActivityDismissingDockedStack() { } public void onActivityLaunchOnSecondaryDisplayFailed() { } Loading
packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java +20 −9 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.os.RemoteException; import android.os.Trace; import android.util.Log; import com.android.internal.os.SomeArgs; import com.android.systemui.shared.recents.model.ThumbnailData; import java.util.ArrayList; Loading Loading @@ -120,11 +121,14 @@ public class TaskStackChangeListeners extends TaskStackListener { } @Override public void onPinnedActivityRestartAttempt(boolean clearedTask) throws RemoteException { mHandler.removeMessages(H.ON_PINNED_ACTIVITY_RESTART_ATTEMPT); mHandler.obtainMessage(H.ON_PINNED_ACTIVITY_RESTART_ATTEMPT, clearedTask ? 1 : 0, 0) .sendToTarget(); public void onActivityRestartAttempt(RunningTaskInfo task, boolean homeTaskVisible, boolean clearedTask) throws RemoteException { final SomeArgs args = SomeArgs.obtain(); args.arg1 = task; args.argi1 = homeTaskVisible ? 1 : 0; args.argi2 = clearedTask ? 1 : 0; mHandler.removeMessages(H.ON_ACTIVITY_RESTART_ATTEMPT); mHandler.obtainMessage(H.ON_ACTIVITY_RESTART_ATTEMPT, args).sendToTarget(); } @Override Loading Loading @@ -236,7 +240,7 @@ public class TaskStackChangeListeners extends TaskStackListener { private static final int ON_TASK_STACK_CHANGED = 1; private static final int ON_TASK_SNAPSHOT_CHANGED = 2; private static final int ON_ACTIVITY_PINNED = 3; private static final int ON_PINNED_ACTIVITY_RESTART_ATTEMPT = 4; private static final int ON_ACTIVITY_RESTART_ATTEMPT = 4; private static final int ON_ACTIVITY_FORCED_RESIZABLE = 6; private static final int ON_ACTIVITY_DISMISSING_DOCKED_STACK = 7; private static final int ON_TASK_PROFILE_LOCKED = 8; Loading Loading @@ -296,10 +300,14 @@ public class TaskStackChangeListeners extends TaskStackListener { } break; } case ON_PINNED_ACTIVITY_RESTART_ATTEMPT: { case ON_ACTIVITY_RESTART_ATTEMPT: { final SomeArgs args = (SomeArgs) msg.obj; final RunningTaskInfo task = (RunningTaskInfo) args.arg1; final boolean homeTaskVisible = args.argi1 != 0; final boolean clearedTask = args.argi2 != 0; for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) { mTaskStackListeners.get(i).onPinnedActivityRestartAttempt( msg.arg1 != 0); mTaskStackListeners.get(i).onActivityRestartAttempt(task, homeTaskVisible, clearedTask); } break; } Loading Loading @@ -419,6 +427,9 @@ public class TaskStackChangeListeners extends TaskStackListener { } } } if (msg.obj instanceof SomeArgs) { ((SomeArgs) msg.obj).recycle(); } } } Loading
packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java +11 −0 Original line number Diff line number Diff line Loading @@ -1226,6 +1226,17 @@ public class BubbleController implements ConfigurationController.ConfigurationLi } } @Override public void onActivityRestartAttempt(RunningTaskInfo task, boolean homeTaskVisible, boolean clearedTask) { for (Bubble b : mBubbleData.getBubbles()) { if (b.getDisplayId() == task.displayId) { expandStackAndSelectBubble(b.getKey()); return; } } } @Override public void onActivityLaunchOnSecondaryDisplayRerouted() { if (mStackView != null) { Loading