diff options
| author | 2022-08-11 15:40:55 +0000 | |
|---|---|---|
| committer | 2022-08-11 15:40:55 +0000 | |
| commit | f0e3514d8e44ca657619a84a3f0135a65115c6f0 (patch) | |
| tree | d4bece08ce95a734bf331977b990462daa82f9b9 | |
| parent | 0245ef047ac30f76329d84fcccb22c9c2360193c (diff) | |
| parent | 92b3eb67950a3d56c0bd002ed6f4ce9611f9fd1a (diff) | |
Merge changes from topic "new-intent-navUp-sc" into sc-mainline-prod
* changes:
[automerge] [RESTRICT AUTOMERGE] Do not send new Intent to non-exported activity when navigateUpTo 2p: 89ebc8c43f
[RESTRICT AUTOMERGE] Do not send new Intent to non-exported activity when navigateUpTo
| -rw-r--r-- | services/core/java/com/android/server/wm/Task.java | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 2e641717cb7f..a88894e1da99 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -7026,7 +7026,23 @@ class Task extends WindowContainer<WindowContainer> { parentLaunchMode == ActivityInfo.LAUNCH_SINGLE_TASK || parentLaunchMode == ActivityInfo.LAUNCH_SINGLE_TOP || (destIntentFlags & Intent.FLAG_ACTIVITY_CLEAR_TOP) != 0) { - parent.deliverNewIntentLocked(callingUid, destIntent, destGrants, srec.packageName); + boolean abort; + try { + abort = !mTaskSupervisor.checkStartAnyActivityPermission(destIntent, + parent.info, null /* resultWho */, -1 /* requestCode */, srec.getPid(), + callingUid, srec.info.packageName, null /* callingFeatureId */, + false /* ignoreTargetSecurity */, false /* launchingInTask */, srec.app, + null /* resultRecord */, null /* resultRootTask */); + } catch (SecurityException e) { + abort = true; + } + if (abort) { + android.util.EventLog.writeEvent(0x534e4554, "238605611", callingUid, ""); + foundParentInTask = false; + } else { + parent.deliverNewIntentLocked(callingUid, destIntent, destGrants, + srec.packageName); + } } else { try { ActivityInfo aInfo = AppGlobals.getPackageManager().getActivityInfo( |