diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index 8c8d14bcf0fa4..4cfd042a1fa1c 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -907,6 +907,8 @@ public final class ActivityStackSupervisor implements DisplayListener { requestCode, callingPid, callingUid, callingPackage, startFlags, options, componentSpecified, null, container); + Binder.restoreCallingIdentity(origId); + if (stack.mConfigWillChange) { // If the caller also wants to switch to a new configuration, // do so now. This allows a clean switch, as we are waiting @@ -920,8 +922,6 @@ public final class ActivityStackSupervisor implements DisplayListener { mService.updateConfigurationLocked(config, null, false, false); } - Binder.restoreCallingIdentity(origId); - if (outResult != null) { outResult.result = res; if (res == ActivityManager.START_SUCCESS) {