Merge "[RESTRICT AUTOMERGE] Do not send new Intent to non-exported activity when navigateUpTo" into qt-dev

This commit is contained in:
TreeHugger Robot
2022-08-11 15:41:19 +00:00
committed by Android (Google) Code Review

View File

@@ -4308,7 +4308,23 @@ class ActivityStack extends ConfigurationContainer {
parentLaunchMode == ActivityInfo.LAUNCH_SINGLE_TASK ||
parentLaunchMode == ActivityInfo.LAUNCH_SINGLE_TOP ||
(destIntentFlags & Intent.FLAG_ACTIVITY_CLEAR_TOP) != 0) {
parent.deliverNewIntentLocked(callingUid, destIntent, srec.packageName);
boolean abort;
try {
final int callingPid = srec.app != null ? srec.app.getPid() : 0;
abort = !mStackSupervisor.checkStartAnyActivityPermission(destIntent,
parent.info, null /* resultWho */, -1 /* requestCode */, callingPid,
callingUid, srec.info.packageName, 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, srec.packageName);
}
} else {
try {
ActivityInfo aInfo = AppGlobals.getPackageManager().getActivityInfo(