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();
         }