diff options
3 files changed, 11 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/wm/RecentTasks.java b/services/core/java/com/android/server/wm/RecentTasks.java index 20c0d4189ad8..6631a3e61e77 100644 --- a/services/core/java/com/android/server/wm/RecentTasks.java +++ b/services/core/java/com/android/server/wm/RecentTasks.java @@ -58,8 +58,6 @@ import android.content.pm.ParceledListSlice; import android.content.pm.UserInfo; import android.content.res.Resources; import android.graphics.Bitmap; -import android.graphics.Point; -import android.graphics.Rect; import android.os.Environment; import android.os.IBinder; import android.os.RemoteException; @@ -1345,6 +1343,7 @@ class RecentTasks { + " inactiveDuration=" + task.getInactiveDuration() + " activityType=" + task.getActivityType() + " windowingMode=" + task.getWindowingMode() + + " isAlwaysOnTopWhenVisible=" + task.isAlwaysOnTopWhenVisible() + " intentFlags=" + task.getBaseIntent().getFlags()); } @@ -1380,7 +1379,7 @@ class RecentTasks { break; case WINDOWING_MODE_MULTI_WINDOW: // Ignore tasks that are always on top - if (task.isAlwaysOnTop()) { + if (task.isAlwaysOnTopWhenVisible()) { return false; } break; diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index c293a159ec4b..bd21e9c2b8dd 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -5277,6 +5277,13 @@ class Task extends WindowContainer<WindowContainer> { } /** + * @return whether this task is always on top without taking visibility into account. + */ + public boolean isAlwaysOnTopWhenVisible() { + return super.isAlwaysOnTop(); + } + + /** * Returns whether this task is currently forced to be hidden for any reason. */ protected boolean isForceHidden() { diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java index 6ffdb099695d..8b812a93d091 100644 --- a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java @@ -34,6 +34,7 @@ import static android.content.res.Configuration.ORIENTATION_PORTRAIT; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; +import static com.android.server.wm.Task.FLAG_FORCE_HIDDEN_FOR_TASK_ORG; import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertWithMessage; @@ -754,6 +755,7 @@ public class RecentTasksTest extends WindowTestsBase { final Task alwaysOnTopTask = taskDisplayArea.createRootTask(WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD, true /* onTop */); alwaysOnTopTask.setAlwaysOnTop(true); + alwaysOnTopTask.setForceHidden(FLAG_FORCE_HIDDEN_FOR_TASK_ORG, true); assertFalse("Always on top tasks should not be visible recents", mRecentTasks.isVisibleRecentTask(alwaysOnTopTask)); |