diff options
| author | 2021-07-08 19:07:54 +0000 | |
|---|---|---|
| committer | 2021-07-08 12:09:40 -0700 | |
| commit | a23a2bb5db39571c4db209d8814c538e9cce8c6c (patch) | |
| tree | fc73989e77a819a25ff525e3b8d2637d79288659 | |
| parent | 576c548b3ccc278fccb43e8fab58265d38ebff0c (diff) | |
Revert "Revert "Not show size compat UI when task is not visible""
This reverts commit 76370b6fe6690ee8c2fe688260607587dcc8d860.
Reason for revert: Fix the merge break in ShellTaskOrganizerTests.java
Fix: 193069342
Test: atest WMShellUnitTests:ShellTaskOrganizerTests
Change-Id: I02c4bddc407eaac0ebb7cd5abb0b394f242d4d6e
3 files changed, 15 insertions, 2 deletions
diff --git a/core/java/android/app/TaskInfo.java b/core/java/android/app/TaskInfo.java index c1871be80462..444cc4eedcb1 100644 --- a/core/java/android/app/TaskInfo.java +++ b/core/java/android/app/TaskInfo.java @@ -353,7 +353,8 @@ public class TaskInfo { && (!topActivityInSizeCompat || configuration.windowConfiguration.getBounds() .equals(that.configuration.windowConfiguration.getBounds())) && (!topActivityInSizeCompat || configuration.getLayoutDirection() - == that.configuration.getLayoutDirection()); + == that.configuration.getLayoutDirection()) + && (!topActivityInSizeCompat || isVisible == that.isVisible); } /** diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java index 8cdb434d4f74..ba0ab6db1003 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java @@ -512,7 +512,7 @@ public class ShellTaskOrganizer extends TaskOrganizer implements // The task is vanished or doesn't support size compat UI, notify to remove size compat UI // on this Task if there is any. if (taskListener == null || !taskListener.supportSizeCompatUI() - || !taskInfo.topActivityInSizeCompat) { + || !taskInfo.topActivityInSizeCompat || !taskInfo.isVisible) { mSizeCompatUI.onSizeCompatInfoChanged(taskInfo.displayId, taskInfo.taskId, null /* taskConfig */, null /* taskListener */); return; diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/ShellTaskOrganizerTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/ShellTaskOrganizerTests.java index cf5bd3ace806..6b74b620dad7 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/ShellTaskOrganizerTests.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/ShellTaskOrganizerTests.java @@ -305,10 +305,22 @@ public class ShellTaskOrganizerTests { createTaskInfo(taskInfo1.taskId, taskInfo1.getWindowingMode()); taskInfo2.displayId = taskInfo1.displayId; taskInfo2.topActivityInSizeCompat = true; + taskInfo2.isVisible = true; mOrganizer.onTaskInfoChanged(taskInfo2); verify(mSizeCompatUI).onSizeCompatInfoChanged(taskInfo1.displayId, taskInfo1.taskId, taskInfo1.configuration, taskListener); + // Not show size compat UI if task is not visible. + clearInvocations(mSizeCompatUI); + final RunningTaskInfo taskInfo3 = + createTaskInfo(taskInfo1.taskId, taskInfo1.getWindowingMode()); + taskInfo3.displayId = taskInfo1.displayId; + taskInfo3.topActivityInSizeCompat = true; + taskInfo3.isVisible = false; + mOrganizer.onTaskInfoChanged(taskInfo3); + verify(mSizeCompatUI).onSizeCompatInfoChanged(taskInfo1.displayId, taskInfo1.taskId, + null /* taskConfig */, null /* taskListener */); + clearInvocations(mSizeCompatUI); mOrganizer.onTaskVanished(taskInfo1); verify(mSizeCompatUI).onSizeCompatInfoChanged(taskInfo1.displayId, taskInfo1.taskId, |