diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityTaskSupervisor.java | 3 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/Task.java | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java index 50948e1cdec4..5553600b403f 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java +++ b/services/core/java/com/android/server/wm/ActivityTaskSupervisor.java @@ -2201,7 +2201,8 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { displaySwapping |= s.isDisplaySleepingAndSwapping(); ProtoLog.v(WM_DEBUG_STATES, "Stopping %s: nowVisible=%b animating=%b " + "finishing=%s", s, s.nowVisible, animating, s.finishing); - if ((!animating && !displaySwapping) || mService.mShuttingDown) { + if ((!animating && !displaySwapping) || mService.mShuttingDown + || s.getRootTask().isForceHiddenForPinnedTask()) { if (!processPausingActivities && s.isState(PAUSING)) { // Defer processing pausing activities in this iteration and reschedule // a delayed idle to reprocess it again diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 9c23beb21a92..c5e5b1de6f83 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -4504,6 +4504,10 @@ class Task extends TaskFragment { return mForceHiddenFlags != 0; } + boolean isForceHiddenForPinnedTask() { + return (mForceHiddenFlags & FLAG_FORCE_HIDDEN_FOR_PINNED_TASK) != 0; + } + @Override protected boolean isForceTranslucent() { return mForceTranslucent; |