Show forced resizable based on top activity
Also don't show it for noDisplay activities.
Bug: 28223489
Change-Id: Idb555b019b5cebdcf16a0cfaa19d64263874735f
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index f192a9d..20ef0e8 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -3508,6 +3508,7 @@
return;
}
+ final ActivityRecord topActivity = task.getTopActivity();
if (!task.canGoInDockedStack() || forceNonResizable) {
// Display a warning toast that we tried to put a non-dockable task in the docked stack.
mService.mHandler.sendEmptyMessage(NOTIFY_ACTIVITY_DISMISSING_DOCKED_STACK_MSG);
@@ -3515,9 +3516,9 @@
// Dismiss docked stack. If task appeared to be in docked stack but is not resizable -
// we need to move it to top of fullscreen stack, otherwise it will be covered.
moveTasksToFullscreenStackLocked(DOCKED_STACK_ID, actualStackId == DOCKED_STACK_ID);
- } else if (task.mResizeMode == RESIZE_MODE_FORCE_RESIZEABLE) {
- String packageName = task.getTopActivity() != null
- ? task.getTopActivity().appInfo.packageName : null;
+ } else if (topActivity != null && topActivity.isNonResizableOrForced()
+ && !topActivity.noDisplay) {
+ String packageName = topActivity.appInfo.packageName;
mService.mHandler.obtainMessage(NOTIFY_FORCED_RESIZABLE_MSG, task.taskId, 0,
packageName).sendToTarget();
}