diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 0301638..1ef1375 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -10779,15 +10779,21 @@ public final class ActivityManagerService extends ActivityManagerNative return; } } - pae.intent.replaceExtras(pae.extras); - pae.intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK - | Intent.FLAG_ACTIVITY_SINGLE_TOP - | Intent.FLAG_ACTIVITY_CLEAR_TOP); - closeSystemDialogs("assist"); + + long ident = Binder.clearCallingIdentity(); try { - mContext.startActivityAsUser(pae.intent, new UserHandle(pae.userHandle)); - } catch (ActivityNotFoundException e) { - Slog.w(TAG, "No activity to handle assist action.", e); + pae.intent.replaceExtras(pae.extras); + pae.intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK + | Intent.FLAG_ACTIVITY_SINGLE_TOP + | Intent.FLAG_ACTIVITY_CLEAR_TOP); + closeSystemDialogs("assist"); + try { + mContext.startActivityAsUser(pae.intent, new UserHandle(pae.userHandle)); + } catch (ActivityNotFoundException e) { + Slog.w(TAG, "No activity to handle assist action.", e); + } + } finally { + Binder.restoreCallingIdentity(ident); } } |
