Loading services/core/java/com/android/server/wm/ActivityDisplay.java +11 −1 Original line number Diff line number Diff line Loading @@ -1173,7 +1173,17 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> } private void releaseSelfIfNeeded() { if (mStacks.isEmpty() && mRemoved) { if (!mRemoved || mDisplayContent == null) { return; } final ActivityStack stack = mStacks.size() == 1 ? mStacks.get(0) : null; if (stack != null && stack.isActivityTypeHome() && stack.getAllTasks().isEmpty()) { // Release this display if an empty home stack is the only thing left. // Since it is the last stack, this display will be released along with the stack // removal. stack.remove(); } else if (mStacks.isEmpty()) { mDisplayContent.removeIfPossible(); mDisplayContent = null; mRootActivityContainer.removeChild(this); Loading services/core/java/com/android/server/wm/ActivityStack.java +11 −1 Original line number Diff line number Diff line Loading @@ -3053,8 +3053,18 @@ class ActivityStack extends ConfigurationContainer { ActivityOptions.abort(options); if (DEBUG_STATES) Slog.d(TAG_STATES, "resumeTopActivityInNextFocusableStack: " + reason + ", go home"); if (isActivityTypeHome()) { // resumeTopActivityUncheckedLocked has been prevented to run recursively. Post a // runnable to resume home since we are currently in the process of resuming top // activity in home stack. // See {@link #mInResumeTopActivity}. mService.mH.post( () -> mRootActivityContainer.resumeHomeActivity(prev, reason, mDisplayId)); return true; } else { return mRootActivityContainer.resumeHomeActivity(prev, reason, mDisplayId); } } /** Returns the position the input task should be placed in this stack. */ int getAdjustedPositionForTask(TaskRecord task, int suggestedPosition, Loading Loading
services/core/java/com/android/server/wm/ActivityDisplay.java +11 −1 Original line number Diff line number Diff line Loading @@ -1173,7 +1173,17 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> } private void releaseSelfIfNeeded() { if (mStacks.isEmpty() && mRemoved) { if (!mRemoved || mDisplayContent == null) { return; } final ActivityStack stack = mStacks.size() == 1 ? mStacks.get(0) : null; if (stack != null && stack.isActivityTypeHome() && stack.getAllTasks().isEmpty()) { // Release this display if an empty home stack is the only thing left. // Since it is the last stack, this display will be released along with the stack // removal. stack.remove(); } else if (mStacks.isEmpty()) { mDisplayContent.removeIfPossible(); mDisplayContent = null; mRootActivityContainer.removeChild(this); Loading
services/core/java/com/android/server/wm/ActivityStack.java +11 −1 Original line number Diff line number Diff line Loading @@ -3053,8 +3053,18 @@ class ActivityStack extends ConfigurationContainer { ActivityOptions.abort(options); if (DEBUG_STATES) Slog.d(TAG_STATES, "resumeTopActivityInNextFocusableStack: " + reason + ", go home"); if (isActivityTypeHome()) { // resumeTopActivityUncheckedLocked has been prevented to run recursively. Post a // runnable to resume home since we are currently in the process of resuming top // activity in home stack. // See {@link #mInResumeTopActivity}. mService.mH.post( () -> mRootActivityContainer.resumeHomeActivity(prev, reason, mDisplayId)); return true; } else { return mRootActivityContainer.resumeHomeActivity(prev, reason, mDisplayId); } } /** Returns the position the input task should be placed in this stack. */ int getAdjustedPositionForTask(TaskRecord task, int suggestedPosition, Loading