Loading core/java/android/app/Activity.java +3 −1 Original line number Diff line number Diff line Loading @@ -4719,7 +4719,9 @@ public class Activity extends ContextThemeWrapper resolvedType = fillInIntent.resolveTypeIfNeeded(getContentResolver()); } int result = ActivityManager.getService() .startActivityIntentSender(mMainThread.getApplicationThread(), intent, .startActivityIntentSender(mMainThread.getApplicationThread(), intent != null ? intent.getTarget() : null, intent != null ? intent.getWhitelistToken() : null, fillInIntent, resolvedType, mToken, who, requestCode, flagsMask, flagsValues, options); if (result == ActivityManager.START_CANCELED) { Loading core/java/android/app/ContextImpl.java +3 −1 Original line number Diff line number Diff line Loading @@ -924,7 +924,9 @@ class ContextImpl extends Context { resolvedType = fillInIntent.resolveTypeIfNeeded(getContentResolver()); } int result = ActivityManager.getService() .startActivityIntentSender(mMainThread.getApplicationThread(), intent, .startActivityIntentSender(mMainThread.getApplicationThread(), intent != null ? intent.getTarget() : null, intent != null ? intent.getWhitelistToken() : null, fillInIntent, resolvedType, null, null, 0, flagsMask, flagsValues, options); if (result == ActivityManager.START_CANCELED) { Loading core/java/android/app/IActivityManager.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -236,8 +236,8 @@ interface IActivityManager { Debug.MemoryInfo[] getProcessMemoryInfo(in int[] pids); void killApplicationProcess(in String processName, int uid); int startActivityIntentSender(in IApplicationThread caller, in IntentSender intent, in Intent fillInIntent, in String resolvedType, in IBinder resultTo, in String resultWho, int requestCode, in IIntentSender target, in IBinder whitelistToken, in Intent fillInIntent, in String resolvedType, in IBinder resultTo, in String resultWho, int requestCode, int flagsMask, int flagsValues, in Bundle options); void overridePendingTransition(in IBinder token, in String packageName, int enterAnim, int exitAnim); Loading core/java/android/content/IntentSender.java +5 −0 Original line number Diff line number Diff line Loading @@ -360,6 +360,11 @@ public class IntentSender implements Parcelable { return mTarget; } /** @hide */ public IBinder getWhitelistToken() { return mWhitelistToken; } /** @hide */ public IntentSender(IIntentSender target) { mTarget = target; Loading services/core/java/com/android/server/am/ActivityManagerService.java +6 −7 Original line number Diff line number Diff line Loading @@ -4567,9 +4567,9 @@ public class ActivityManagerService extends IActivityManager.Stub } @Override public int startActivityIntentSender(IApplicationThread caller, IntentSender intent, Intent fillInIntent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flagsMask, int flagsValues, Bundle bOptions) public int startActivityIntentSender(IApplicationThread caller, IIntentSender target, IBinder whitelistToken, Intent fillInIntent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flagsMask, int flagsValues, Bundle bOptions) throws TransactionTooLargeException { enforceNotIsolatedCaller("startActivityIntentSender"); // Refuse possible leaked file descriptors Loading @@ -4577,12 +4577,11 @@ public class ActivityManagerService extends IActivityManager.Stub throw new IllegalArgumentException("File descriptors passed in Intent"); } IIntentSender sender = intent.getTarget(); if (!(sender instanceof PendingIntentRecord)) { if (!(target instanceof PendingIntentRecord)) { throw new IllegalArgumentException("Bad PendingIntent object"); } PendingIntentRecord pir = (PendingIntentRecord)sender; PendingIntentRecord pir = (PendingIntentRecord)target; synchronized (this) { // If this is coming from the currently resumed activity, it is Loading @@ -4593,7 +4592,7 @@ public class ActivityManagerService extends IActivityManager.Stub mAppSwitchesAllowedTime = 0; } } int ret = pir.sendInner(0, fillInIntent, resolvedType, null, null, null, int ret = pir.sendInner(0, fillInIntent, resolvedType, whitelistToken, null, null, resultTo, resultWho, requestCode, flagsMask, flagsValues, bOptions, null); return ret; } Loading
core/java/android/app/Activity.java +3 −1 Original line number Diff line number Diff line Loading @@ -4719,7 +4719,9 @@ public class Activity extends ContextThemeWrapper resolvedType = fillInIntent.resolveTypeIfNeeded(getContentResolver()); } int result = ActivityManager.getService() .startActivityIntentSender(mMainThread.getApplicationThread(), intent, .startActivityIntentSender(mMainThread.getApplicationThread(), intent != null ? intent.getTarget() : null, intent != null ? intent.getWhitelistToken() : null, fillInIntent, resolvedType, mToken, who, requestCode, flagsMask, flagsValues, options); if (result == ActivityManager.START_CANCELED) { Loading
core/java/android/app/ContextImpl.java +3 −1 Original line number Diff line number Diff line Loading @@ -924,7 +924,9 @@ class ContextImpl extends Context { resolvedType = fillInIntent.resolveTypeIfNeeded(getContentResolver()); } int result = ActivityManager.getService() .startActivityIntentSender(mMainThread.getApplicationThread(), intent, .startActivityIntentSender(mMainThread.getApplicationThread(), intent != null ? intent.getTarget() : null, intent != null ? intent.getWhitelistToken() : null, fillInIntent, resolvedType, null, null, 0, flagsMask, flagsValues, options); if (result == ActivityManager.START_CANCELED) { Loading
core/java/android/app/IActivityManager.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -236,8 +236,8 @@ interface IActivityManager { Debug.MemoryInfo[] getProcessMemoryInfo(in int[] pids); void killApplicationProcess(in String processName, int uid); int startActivityIntentSender(in IApplicationThread caller, in IntentSender intent, in Intent fillInIntent, in String resolvedType, in IBinder resultTo, in String resultWho, int requestCode, in IIntentSender target, in IBinder whitelistToken, in Intent fillInIntent, in String resolvedType, in IBinder resultTo, in String resultWho, int requestCode, int flagsMask, int flagsValues, in Bundle options); void overridePendingTransition(in IBinder token, in String packageName, int enterAnim, int exitAnim); Loading
core/java/android/content/IntentSender.java +5 −0 Original line number Diff line number Diff line Loading @@ -360,6 +360,11 @@ public class IntentSender implements Parcelable { return mTarget; } /** @hide */ public IBinder getWhitelistToken() { return mWhitelistToken; } /** @hide */ public IntentSender(IIntentSender target) { mTarget = target; Loading
services/core/java/com/android/server/am/ActivityManagerService.java +6 −7 Original line number Diff line number Diff line Loading @@ -4567,9 +4567,9 @@ public class ActivityManagerService extends IActivityManager.Stub } @Override public int startActivityIntentSender(IApplicationThread caller, IntentSender intent, Intent fillInIntent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flagsMask, int flagsValues, Bundle bOptions) public int startActivityIntentSender(IApplicationThread caller, IIntentSender target, IBinder whitelistToken, Intent fillInIntent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int flagsMask, int flagsValues, Bundle bOptions) throws TransactionTooLargeException { enforceNotIsolatedCaller("startActivityIntentSender"); // Refuse possible leaked file descriptors Loading @@ -4577,12 +4577,11 @@ public class ActivityManagerService extends IActivityManager.Stub throw new IllegalArgumentException("File descriptors passed in Intent"); } IIntentSender sender = intent.getTarget(); if (!(sender instanceof PendingIntentRecord)) { if (!(target instanceof PendingIntentRecord)) { throw new IllegalArgumentException("Bad PendingIntent object"); } PendingIntentRecord pir = (PendingIntentRecord)sender; PendingIntentRecord pir = (PendingIntentRecord)target; synchronized (this) { // If this is coming from the currently resumed activity, it is Loading @@ -4593,7 +4592,7 @@ public class ActivityManagerService extends IActivityManager.Stub mAppSwitchesAllowedTime = 0; } } int ret = pir.sendInner(0, fillInIntent, resolvedType, null, null, null, int ret = pir.sendInner(0, fillInIntent, resolvedType, whitelistToken, null, null, resultTo, resultWho, requestCode, flagsMask, flagsValues, bOptions, null); return ret; }