Loading api/test-current.txt +6 −6 Original line number Original line Diff line number Diff line Loading @@ -5232,14 +5232,14 @@ package android.window { method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static java.util.List<android.app.ActivityManager.RunningTaskInfo> getChildTasks(@NonNull android.window.WindowContainerToken, @NonNull int[]); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static java.util.List<android.app.ActivityManager.RunningTaskInfo> getChildTasks(@NonNull android.window.WindowContainerToken, @NonNull int[]); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static android.window.WindowContainerToken getImeTarget(int); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static android.window.WindowContainerToken getImeTarget(int); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static java.util.List<android.app.ActivityManager.RunningTaskInfo> getRootTasks(int, @NonNull int[]); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static java.util.List<android.app.ActivityManager.RunningTaskInfo> getRootTasks(int, @NonNull int[]); method public void onBackPressedOnTaskRoot(@NonNull android.app.ActivityManager.RunningTaskInfo); method @BinderThread public void onBackPressedOnTaskRoot(@NonNull android.app.ActivityManager.RunningTaskInfo); method public void onTaskAppeared(@NonNull android.app.ActivityManager.RunningTaskInfo); method @BinderThread public void onTaskAppeared(@NonNull android.app.ActivityManager.RunningTaskInfo); method public void onTaskInfoChanged(@NonNull android.app.ActivityManager.RunningTaskInfo); method @BinderThread public void onTaskInfoChanged(@NonNull android.app.ActivityManager.RunningTaskInfo); method public void onTaskVanished(@NonNull android.app.ActivityManager.RunningTaskInfo); method @BinderThread public void onTaskVanished(@NonNull android.app.ActivityManager.RunningTaskInfo); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void registerOrganizer(int); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public final void registerOrganizer(int); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void setInterceptBackPressedOnTaskRoot(boolean); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void setInterceptBackPressedOnTaskRoot(boolean); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static void setLaunchRoot(int, @NonNull android.window.WindowContainerToken); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static void setLaunchRoot(int, @NonNull android.window.WindowContainerToken); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void unregisterOrganizer(); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public final void unregisterOrganizer(); } } public final class WindowContainerToken implements android.os.Parcelable { public final class WindowContainerToken implements android.os.Parcelable { Loading core/java/android/app/ActivityManager.java +34 −0 Original line number Original line Diff line number Diff line Loading @@ -69,6 +69,7 @@ import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserHandle; import android.os.UserManager; import android.os.UserManager; import android.os.WorkSource; import android.os.WorkSource; import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArrayMap; import android.util.DisplayMetrics; import android.util.DisplayMetrics; import android.util.Singleton; import android.util.Singleton; Loading Loading @@ -1597,6 +1598,39 @@ public class ActivityManager { + " resizeMode: " + ActivityInfo.resizeModeToString(mResizeMode) + " resizeMode: " + ActivityInfo.resizeModeToString(mResizeMode) + " minWidth: " + mMinWidth + " minHeight: " + mMinHeight; + " minWidth: " + mMinWidth + " minHeight: " + mMinHeight; } } @Override public boolean equals(Object obj) { if (!(obj instanceof TaskDescription)) { return false; } TaskDescription other = (TaskDescription) obj; return TextUtils.equals(mLabel, other.mLabel) && TextUtils.equals(mIconFilename, other.mIconFilename) && mIcon == other.mIcon && mColorPrimary == other.mColorPrimary && mColorBackground == other.mColorBackground && mStatusBarColor == other.mStatusBarColor && mNavigationBarColor == other.mNavigationBarColor && mEnsureStatusBarContrastWhenTransparent == other.mEnsureStatusBarContrastWhenTransparent && mEnsureNavigationBarContrastWhenTransparent == other.mEnsureNavigationBarContrastWhenTransparent && mResizeMode == other.mResizeMode && mMinWidth == other.mMinWidth && mMinHeight == other.mMinHeight; } /** @hide */ public static boolean equals(TaskDescription td1, TaskDescription td2) { if (td1 == null && td2 == null) { return true; } else if (td1 != null && td2 != null) { return td1.equals(td2); } return false; } } } /** /** Loading core/java/android/window/TaskEmbedder.java +0 −24 Original line number Original line Diff line number Diff line Loading @@ -26,7 +26,6 @@ import android.app.ActivityTaskManager; import android.app.ActivityView; import android.app.ActivityView; import android.app.IActivityTaskManager; import android.app.IActivityTaskManager; import android.app.PendingIntent; import android.app.PendingIntent; import android.app.TaskStackListener; import android.content.ComponentName; import android.content.ComponentName; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; Loading Loading @@ -129,7 +128,6 @@ public abstract class TaskEmbedder { protected SurfaceControl.Transaction mTransaction; protected SurfaceControl.Transaction mTransaction; protected SurfaceControl mSurfaceControl; protected SurfaceControl mSurfaceControl; protected TaskStackListener mTaskStackListener; protected Listener mListener; protected Listener mListener; protected boolean mOpened; // Protected by mGuard. protected boolean mOpened; // Protected by mGuard. Loading Loading @@ -170,13 +168,6 @@ public abstract class TaskEmbedder { if (!onInitialize()) { if (!onInitialize()) { return false; return false; } } mTaskStackListener = createTaskStackListener(); try { mActivityTaskManager.registerTaskStackListener(mTaskStackListener); } catch (RemoteException e) { Log.e(TAG, "Failed to register task stack listener", e); } if (mListener != null && isInitialized()) { if (mListener != null && isInitialized()) { mListener.onInitialized(); mListener.onInitialized(); } } Loading @@ -186,11 +177,6 @@ public abstract class TaskEmbedder { return true; return true; } } /** * @return the task stack listener for this embedder */ public abstract TaskStackListener createTaskStackListener(); /** /** * Whether this container has been initialized. * Whether this container has been initialized. * * Loading Loading @@ -420,16 +406,6 @@ public abstract class TaskEmbedder { mSurfaceControl.release(); mSurfaceControl.release(); boolean reportReleased = onRelease(); boolean reportReleased = onRelease(); if (mTaskStackListener != null) { try { mActivityTaskManager.unregisterTaskStackListener(mTaskStackListener); } catch (RemoteException e) { Log.e(TAG, "Failed to unregister task stack listener", e); } mTaskStackListener = null; } if (mListener != null && reportReleased) { if (mListener != null && reportReleased) { mListener.onReleased(); mListener.onReleased(); } } Loading core/java/android/window/TaskOrganizer.java +9 −4 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.window; package android.window; import android.annotation.BinderThread; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.RequiresPermission; Loading @@ -39,7 +40,7 @@ public class TaskOrganizer extends WindowOrganizer { * and receive taskVanished callbacks in the process. * and receive taskVanished callbacks in the process. */ */ @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void registerOrganizer(int windowingMode) { public final void registerOrganizer(int windowingMode) { try { try { getController().registerTaskOrganizer(mInterface, windowingMode); getController().registerTaskOrganizer(mInterface, windowingMode); } catch (RemoteException e) { } catch (RemoteException e) { Loading @@ -49,7 +50,7 @@ public class TaskOrganizer extends WindowOrganizer { /** Unregisters a previously registered task organizer. */ /** Unregisters a previously registered task organizer. */ @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void unregisterOrganizer() { public final void unregisterOrganizer() { try { try { getController().unregisterTaskOrganizer(mInterface); getController().unregisterTaskOrganizer(mInterface); } catch (RemoteException e) { } catch (RemoteException e) { Loading @@ -57,13 +58,17 @@ public class TaskOrganizer extends WindowOrganizer { } } } } @BinderThread public void onTaskAppeared(@NonNull ActivityManager.RunningTaskInfo taskInfo) {} public void onTaskAppeared(@NonNull ActivityManager.RunningTaskInfo taskInfo) {} @BinderThread public void onTaskVanished(@NonNull ActivityManager.RunningTaskInfo taskInfo) {} public void onTaskVanished(@NonNull ActivityManager.RunningTaskInfo taskInfo) {} public void onTaskInfoChanged(@NonNull ActivityManager.RunningTaskInfo info) {} @BinderThread public void onTaskInfoChanged(@NonNull ActivityManager.RunningTaskInfo taskInfo) {} public void onBackPressedOnTaskRoot(@NonNull ActivityManager.RunningTaskInfo info) {} @BinderThread public void onBackPressedOnTaskRoot(@NonNull ActivityManager.RunningTaskInfo taskInfo) {} /** Creates a persistent root task in WM for a particular windowing-mode. */ /** Creates a persistent root task in WM for a particular windowing-mode. */ @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) Loading core/java/android/window/TaskOrganizerTaskEmbedder.java +7 −30 Original line number Original line Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW; import android.app.ActivityManager; import android.app.ActivityManager; import android.app.ActivityOptions; import android.app.ActivityOptions; import android.app.ActivityView; import android.app.TaskStackListener; import android.app.TaskStackListener; import android.content.Context; import android.content.Context; import android.graphics.Rect; import android.graphics.Rect; Loading Loading @@ -55,11 +54,6 @@ public class TaskOrganizerTaskEmbedder extends TaskEmbedder { super(context, host); super(context, host); } } @Override public TaskStackListener createTaskStackListener() { return new TaskStackListenerImpl(); } /** /** * Whether this container has been initialized. * Whether this container has been initialized. * * Loading Loading @@ -219,29 +213,6 @@ public class TaskOrganizerTaskEmbedder extends TaskEmbedder { Log.d(TAG, "[" + System.identityHashCode(this) + "] " + msg); Log.d(TAG, "[" + System.identityHashCode(this) + "] " + msg); } } /** * A task change listener that detects background color change of the topmost stack on our * virtual display and updates the background of the surface view. This background will be shown * when surface view is resized, but the app hasn't drawn its content in new size yet. * It also calls StateCallback.onTaskMovedToFront to notify interested parties that the stack * associated with the {@link ActivityView} has had a Task moved to the front. This is useful * when needing to also bring the host Activity to the foreground at the same time. */ private class TaskStackListenerImpl extends TaskStackListener { @Override public void onTaskDescriptionChanged(ActivityManager.RunningTaskInfo taskInfo) { if (!isInitialized()) { return; } if (taskInfo.taskId == mTaskInfo.taskId) { mTaskInfo.taskDescription = taskInfo.taskDescription; mHost.onTaskBackgroundColorChanged(TaskOrganizerTaskEmbedder.this, taskInfo.taskDescription.getBackgroundColor()); } } } private class TaskOrganizerImpl extends TaskOrganizer { private class TaskOrganizerImpl extends TaskOrganizer { @Override @Override public void onTaskAppeared(ActivityManager.RunningTaskInfo taskInfo) { public void onTaskAppeared(ActivityManager.RunningTaskInfo taskInfo) { Loading @@ -249,7 +220,6 @@ public class TaskOrganizerTaskEmbedder extends TaskEmbedder { log("taskAppeared: " + taskInfo.taskId); log("taskAppeared: " + taskInfo.taskId); } } // TODO: Ensure visibility/alpha of the leash in its initial state? mTaskInfo = taskInfo; mTaskInfo = taskInfo; mTaskToken = taskInfo.token; mTaskToken = taskInfo.token; mTaskLeash = mTaskToken.getLeash(); mTaskLeash = mTaskToken.getLeash(); Loading @@ -269,6 +239,13 @@ public class TaskOrganizerTaskEmbedder extends TaskEmbedder { } } } } @Override public void onTaskInfoChanged(ActivityManager.RunningTaskInfo taskInfo) { mTaskInfo.taskDescription = taskInfo.taskDescription; mHost.post(() -> mHost.onTaskBackgroundColorChanged(TaskOrganizerTaskEmbedder.this, taskInfo.taskDescription.getBackgroundColor())); } @Override @Override public void onTaskVanished(ActivityManager.RunningTaskInfo taskInfo) { public void onTaskVanished(ActivityManager.RunningTaskInfo taskInfo) { if (DEBUG) { if (DEBUG) { Loading Loading
api/test-current.txt +6 −6 Original line number Original line Diff line number Diff line Loading @@ -5232,14 +5232,14 @@ package android.window { method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static java.util.List<android.app.ActivityManager.RunningTaskInfo> getChildTasks(@NonNull android.window.WindowContainerToken, @NonNull int[]); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static java.util.List<android.app.ActivityManager.RunningTaskInfo> getChildTasks(@NonNull android.window.WindowContainerToken, @NonNull int[]); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static android.window.WindowContainerToken getImeTarget(int); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static android.window.WindowContainerToken getImeTarget(int); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static java.util.List<android.app.ActivityManager.RunningTaskInfo> getRootTasks(int, @NonNull int[]); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static java.util.List<android.app.ActivityManager.RunningTaskInfo> getRootTasks(int, @NonNull int[]); method public void onBackPressedOnTaskRoot(@NonNull android.app.ActivityManager.RunningTaskInfo); method @BinderThread public void onBackPressedOnTaskRoot(@NonNull android.app.ActivityManager.RunningTaskInfo); method public void onTaskAppeared(@NonNull android.app.ActivityManager.RunningTaskInfo); method @BinderThread public void onTaskAppeared(@NonNull android.app.ActivityManager.RunningTaskInfo); method public void onTaskInfoChanged(@NonNull android.app.ActivityManager.RunningTaskInfo); method @BinderThread public void onTaskInfoChanged(@NonNull android.app.ActivityManager.RunningTaskInfo); method public void onTaskVanished(@NonNull android.app.ActivityManager.RunningTaskInfo); method @BinderThread public void onTaskVanished(@NonNull android.app.ActivityManager.RunningTaskInfo); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void registerOrganizer(int); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public final void registerOrganizer(int); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void setInterceptBackPressedOnTaskRoot(boolean); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void setInterceptBackPressedOnTaskRoot(boolean); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static void setLaunchRoot(int, @NonNull android.window.WindowContainerToken); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public static void setLaunchRoot(int, @NonNull android.window.WindowContainerToken); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void unregisterOrganizer(); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public final void unregisterOrganizer(); } } public final class WindowContainerToken implements android.os.Parcelable { public final class WindowContainerToken implements android.os.Parcelable { Loading
core/java/android/app/ActivityManager.java +34 −0 Original line number Original line Diff line number Diff line Loading @@ -69,6 +69,7 @@ import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserHandle; import android.os.UserManager; import android.os.UserManager; import android.os.WorkSource; import android.os.WorkSource; import android.text.TextUtils; import android.util.ArrayMap; import android.util.ArrayMap; import android.util.DisplayMetrics; import android.util.DisplayMetrics; import android.util.Singleton; import android.util.Singleton; Loading Loading @@ -1597,6 +1598,39 @@ public class ActivityManager { + " resizeMode: " + ActivityInfo.resizeModeToString(mResizeMode) + " resizeMode: " + ActivityInfo.resizeModeToString(mResizeMode) + " minWidth: " + mMinWidth + " minHeight: " + mMinHeight; + " minWidth: " + mMinWidth + " minHeight: " + mMinHeight; } } @Override public boolean equals(Object obj) { if (!(obj instanceof TaskDescription)) { return false; } TaskDescription other = (TaskDescription) obj; return TextUtils.equals(mLabel, other.mLabel) && TextUtils.equals(mIconFilename, other.mIconFilename) && mIcon == other.mIcon && mColorPrimary == other.mColorPrimary && mColorBackground == other.mColorBackground && mStatusBarColor == other.mStatusBarColor && mNavigationBarColor == other.mNavigationBarColor && mEnsureStatusBarContrastWhenTransparent == other.mEnsureStatusBarContrastWhenTransparent && mEnsureNavigationBarContrastWhenTransparent == other.mEnsureNavigationBarContrastWhenTransparent && mResizeMode == other.mResizeMode && mMinWidth == other.mMinWidth && mMinHeight == other.mMinHeight; } /** @hide */ public static boolean equals(TaskDescription td1, TaskDescription td2) { if (td1 == null && td2 == null) { return true; } else if (td1 != null && td2 != null) { return td1.equals(td2); } return false; } } } /** /** Loading
core/java/android/window/TaskEmbedder.java +0 −24 Original line number Original line Diff line number Diff line Loading @@ -26,7 +26,6 @@ import android.app.ActivityTaskManager; import android.app.ActivityView; import android.app.ActivityView; import android.app.IActivityTaskManager; import android.app.IActivityTaskManager; import android.app.PendingIntent; import android.app.PendingIntent; import android.app.TaskStackListener; import android.content.ComponentName; import android.content.ComponentName; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; Loading Loading @@ -129,7 +128,6 @@ public abstract class TaskEmbedder { protected SurfaceControl.Transaction mTransaction; protected SurfaceControl.Transaction mTransaction; protected SurfaceControl mSurfaceControl; protected SurfaceControl mSurfaceControl; protected TaskStackListener mTaskStackListener; protected Listener mListener; protected Listener mListener; protected boolean mOpened; // Protected by mGuard. protected boolean mOpened; // Protected by mGuard. Loading Loading @@ -170,13 +168,6 @@ public abstract class TaskEmbedder { if (!onInitialize()) { if (!onInitialize()) { return false; return false; } } mTaskStackListener = createTaskStackListener(); try { mActivityTaskManager.registerTaskStackListener(mTaskStackListener); } catch (RemoteException e) { Log.e(TAG, "Failed to register task stack listener", e); } if (mListener != null && isInitialized()) { if (mListener != null && isInitialized()) { mListener.onInitialized(); mListener.onInitialized(); } } Loading @@ -186,11 +177,6 @@ public abstract class TaskEmbedder { return true; return true; } } /** * @return the task stack listener for this embedder */ public abstract TaskStackListener createTaskStackListener(); /** /** * Whether this container has been initialized. * Whether this container has been initialized. * * Loading Loading @@ -420,16 +406,6 @@ public abstract class TaskEmbedder { mSurfaceControl.release(); mSurfaceControl.release(); boolean reportReleased = onRelease(); boolean reportReleased = onRelease(); if (mTaskStackListener != null) { try { mActivityTaskManager.unregisterTaskStackListener(mTaskStackListener); } catch (RemoteException e) { Log.e(TAG, "Failed to unregister task stack listener", e); } mTaskStackListener = null; } if (mListener != null && reportReleased) { if (mListener != null && reportReleased) { mListener.onReleased(); mListener.onReleased(); } } Loading
core/java/android/window/TaskOrganizer.java +9 −4 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.window; package android.window; import android.annotation.BinderThread; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.RequiresPermission; Loading @@ -39,7 +40,7 @@ public class TaskOrganizer extends WindowOrganizer { * and receive taskVanished callbacks in the process. * and receive taskVanished callbacks in the process. */ */ @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void registerOrganizer(int windowingMode) { public final void registerOrganizer(int windowingMode) { try { try { getController().registerTaskOrganizer(mInterface, windowingMode); getController().registerTaskOrganizer(mInterface, windowingMode); } catch (RemoteException e) { } catch (RemoteException e) { Loading @@ -49,7 +50,7 @@ public class TaskOrganizer extends WindowOrganizer { /** Unregisters a previously registered task organizer. */ /** Unregisters a previously registered task organizer. */ @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void unregisterOrganizer() { public final void unregisterOrganizer() { try { try { getController().unregisterTaskOrganizer(mInterface); getController().unregisterTaskOrganizer(mInterface); } catch (RemoteException e) { } catch (RemoteException e) { Loading @@ -57,13 +58,17 @@ public class TaskOrganizer extends WindowOrganizer { } } } } @BinderThread public void onTaskAppeared(@NonNull ActivityManager.RunningTaskInfo taskInfo) {} public void onTaskAppeared(@NonNull ActivityManager.RunningTaskInfo taskInfo) {} @BinderThread public void onTaskVanished(@NonNull ActivityManager.RunningTaskInfo taskInfo) {} public void onTaskVanished(@NonNull ActivityManager.RunningTaskInfo taskInfo) {} public void onTaskInfoChanged(@NonNull ActivityManager.RunningTaskInfo info) {} @BinderThread public void onTaskInfoChanged(@NonNull ActivityManager.RunningTaskInfo taskInfo) {} public void onBackPressedOnTaskRoot(@NonNull ActivityManager.RunningTaskInfo info) {} @BinderThread public void onBackPressedOnTaskRoot(@NonNull ActivityManager.RunningTaskInfo taskInfo) {} /** Creates a persistent root task in WM for a particular windowing-mode. */ /** Creates a persistent root task in WM for a particular windowing-mode. */ @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) Loading
core/java/android/window/TaskOrganizerTaskEmbedder.java +7 −30 Original line number Original line Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW; import android.app.ActivityManager; import android.app.ActivityManager; import android.app.ActivityOptions; import android.app.ActivityOptions; import android.app.ActivityView; import android.app.TaskStackListener; import android.app.TaskStackListener; import android.content.Context; import android.content.Context; import android.graphics.Rect; import android.graphics.Rect; Loading Loading @@ -55,11 +54,6 @@ public class TaskOrganizerTaskEmbedder extends TaskEmbedder { super(context, host); super(context, host); } } @Override public TaskStackListener createTaskStackListener() { return new TaskStackListenerImpl(); } /** /** * Whether this container has been initialized. * Whether this container has been initialized. * * Loading Loading @@ -219,29 +213,6 @@ public class TaskOrganizerTaskEmbedder extends TaskEmbedder { Log.d(TAG, "[" + System.identityHashCode(this) + "] " + msg); Log.d(TAG, "[" + System.identityHashCode(this) + "] " + msg); } } /** * A task change listener that detects background color change of the topmost stack on our * virtual display and updates the background of the surface view. This background will be shown * when surface view is resized, but the app hasn't drawn its content in new size yet. * It also calls StateCallback.onTaskMovedToFront to notify interested parties that the stack * associated with the {@link ActivityView} has had a Task moved to the front. This is useful * when needing to also bring the host Activity to the foreground at the same time. */ private class TaskStackListenerImpl extends TaskStackListener { @Override public void onTaskDescriptionChanged(ActivityManager.RunningTaskInfo taskInfo) { if (!isInitialized()) { return; } if (taskInfo.taskId == mTaskInfo.taskId) { mTaskInfo.taskDescription = taskInfo.taskDescription; mHost.onTaskBackgroundColorChanged(TaskOrganizerTaskEmbedder.this, taskInfo.taskDescription.getBackgroundColor()); } } } private class TaskOrganizerImpl extends TaskOrganizer { private class TaskOrganizerImpl extends TaskOrganizer { @Override @Override public void onTaskAppeared(ActivityManager.RunningTaskInfo taskInfo) { public void onTaskAppeared(ActivityManager.RunningTaskInfo taskInfo) { Loading @@ -249,7 +220,6 @@ public class TaskOrganizerTaskEmbedder extends TaskEmbedder { log("taskAppeared: " + taskInfo.taskId); log("taskAppeared: " + taskInfo.taskId); } } // TODO: Ensure visibility/alpha of the leash in its initial state? mTaskInfo = taskInfo; mTaskInfo = taskInfo; mTaskToken = taskInfo.token; mTaskToken = taskInfo.token; mTaskLeash = mTaskToken.getLeash(); mTaskLeash = mTaskToken.getLeash(); Loading @@ -269,6 +239,13 @@ public class TaskOrganizerTaskEmbedder extends TaskEmbedder { } } } } @Override public void onTaskInfoChanged(ActivityManager.RunningTaskInfo taskInfo) { mTaskInfo.taskDescription = taskInfo.taskDescription; mHost.post(() -> mHost.onTaskBackgroundColorChanged(TaskOrganizerTaskEmbedder.this, taskInfo.taskDescription.getBackgroundColor())); } @Override @Override public void onTaskVanished(ActivityManager.RunningTaskInfo taskInfo) { public void onTaskVanished(ActivityManager.RunningTaskInfo taskInfo) { if (DEBUG) { if (DEBUG) { Loading