diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 09f24edd72cad..79257e64d507a 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -18714,7 +18714,7 @@ public final class ActivityManagerService extends ActivityManagerNative starting = mainStack.topRunningActivityLocked(); } - if (starting != null) { + if (starting != null && starting.state != ActivityState.STOPPED) { kept = mainStack.ensureActivityConfigurationLocked(starting, changes, false); // And we need to make sure at this point that all other activities // are made visible with the correct configuration. diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java index 27145fc1a81a9..0513b1ad8a8a8 100644 --- a/services/core/java/com/android/server/am/ActivityStack.java +++ b/services/core/java/com/android/server/am/ActivityStack.java @@ -1820,7 +1820,8 @@ final class ActivityStack { boolean stackVisibleBehind, ActivityRecord visibleBehind, boolean behindFullscreenActivity) { - if (!okToShowLocked(r)) { + if (!okToShowLocked(r) + || (mService.isSleepingOrShuttingDown() && r.voiceSession == null)) { return false; }