Loading services/core/java/com/android/server/am/ActivityStack.java +10 −0 Original line number Diff line number Diff line Loading @@ -1654,6 +1654,16 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai void addToStopping(ActivityRecord r, boolean scheduleIdle, boolean idleDelayed) { if (!mStackSupervisor.mStoppingActivities.contains(r)) { mStackSupervisor.mStoppingActivities.add(r); // Some activity is waiting for another activity to become visible before it's being // stopped, which means that we also want to wait with stopping this one to avoid // flickers. if (!mStackSupervisor.mActivitiesWaitingForVisibleActivity.isEmpty() && !mStackSupervisor.mActivitiesWaitingForVisibleActivity.contains(r)) { if (DEBUG_SWITCH) Slog.i(TAG_SWITCH, "adding to waiting visible activity=" + r + " existing=" + mStackSupervisor.mActivitiesWaitingForVisibleActivity); mStackSupervisor.mActivitiesWaitingForVisibleActivity.add(r); } } // If we already have a few activities waiting to stop, then give up Loading services/core/java/com/android/server/am/ActivityStackSupervisor.java +4 −0 Original line number Diff line number Diff line Loading @@ -3937,6 +3937,10 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D stops = new ArrayList<>(); } stops.add(s); // Make sure to remove it in all cases in case we entered this block with // shouldSleepOrShutDown mActivitiesWaitingForVisibleActivity.remove(s); mStoppingActivities.remove(activityNdx); } } Loading Loading
services/core/java/com/android/server/am/ActivityStack.java +10 −0 Original line number Diff line number Diff line Loading @@ -1654,6 +1654,16 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai void addToStopping(ActivityRecord r, boolean scheduleIdle, boolean idleDelayed) { if (!mStackSupervisor.mStoppingActivities.contains(r)) { mStackSupervisor.mStoppingActivities.add(r); // Some activity is waiting for another activity to become visible before it's being // stopped, which means that we also want to wait with stopping this one to avoid // flickers. if (!mStackSupervisor.mActivitiesWaitingForVisibleActivity.isEmpty() && !mStackSupervisor.mActivitiesWaitingForVisibleActivity.contains(r)) { if (DEBUG_SWITCH) Slog.i(TAG_SWITCH, "adding to waiting visible activity=" + r + " existing=" + mStackSupervisor.mActivitiesWaitingForVisibleActivity); mStackSupervisor.mActivitiesWaitingForVisibleActivity.add(r); } } // If we already have a few activities waiting to stop, then give up Loading
services/core/java/com/android/server/am/ActivityStackSupervisor.java +4 −0 Original line number Diff line number Diff line Loading @@ -3937,6 +3937,10 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D stops = new ArrayList<>(); } stops.add(s); // Make sure to remove it in all cases in case we entered this block with // shouldSleepOrShutDown mActivitiesWaitingForVisibleActivity.remove(s); mStoppingActivities.remove(activityNdx); } } Loading