Loading core/java/android/content/pm/PackageManagerInternal.java +1 −1 Original line number Diff line number Diff line Loading @@ -438,7 +438,7 @@ public abstract class PackageManagerInternal { * Resolves an activity intent, allowing instant apps to be resolved. */ public abstract ResolveInfo resolveIntent(Intent intent, String resolvedType, int flags, int userId, boolean resolveForStart); int flags, int userId, boolean resolveForStart, int filterCallingUid); /** * Resolves a service intent, allowing instant apps to be resolved. Loading services/core/java/com/android/server/am/ActivityRecord.java +2 −3 Original line number Diff line number Diff line Loading @@ -93,8 +93,6 @@ import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_SWITCH; import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_VISIBILITY; import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM; import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.am.ActivityStack.ActivityState.DESTROYED; import static com.android.server.am.ActivityStack.ActivityState.DESTROYING; import static com.android.server.am.ActivityStack.ActivityState.INITIALIZING; import static com.android.server.am.ActivityStack.ActivityState.PAUSED; import static com.android.server.am.ActivityStack.ActivityState.PAUSING; Loading Loading @@ -154,6 +152,7 @@ import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.GraphicBuffer; import android.graphics.Rect; import android.os.Binder; import android.os.Build; import android.os.Bundle; import android.os.Debug; Loading Loading @@ -2880,7 +2879,7 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo final ActivityManagerService service = stackSupervisor.mService; final ActivityInfo aInfo = stackSupervisor.resolveActivity(intent, resolvedType, 0, null, userId); userId, Binder.getCallingUid()); if (aInfo == null) { throw new XmlPullParserException("restoreActivity resolver error. Intent=" + intent + " resolvedType=" + resolvedType); Loading services/core/java/com/android/server/am/ActivityStackSupervisor.java +6 −5 Original line number Diff line number Diff line Loading @@ -1264,10 +1264,11 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D } ResolveInfo resolveIntent(Intent intent, String resolvedType, int userId) { return resolveIntent(intent, resolvedType, userId, 0); return resolveIntent(intent, resolvedType, userId, 0, Binder.getCallingUid()); } ResolveInfo resolveIntent(Intent intent, String resolvedType, int userId, int flags) { ResolveInfo resolveIntent(Intent intent, String resolvedType, int userId, int flags, int filterCallingUid) { synchronized (mService) { try { Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "resolveIntent"); Loading @@ -1278,7 +1279,7 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D modifiedFlags |= PackageManager.MATCH_INSTANT; } return mService.getPackageManagerInternalLocked().resolveIntent( intent, resolvedType, modifiedFlags, userId, true); intent, resolvedType, modifiedFlags, userId, true, filterCallingUid); } finally { Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER); Loading @@ -1287,8 +1288,8 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D } ActivityInfo resolveActivity(Intent intent, String resolvedType, int startFlags, ProfilerInfo profilerInfo, int userId) { final ResolveInfo rInfo = resolveIntent(intent, resolvedType, userId); ProfilerInfo profilerInfo, int userId, int filterCallingUid) { final ResolveInfo rInfo = resolveIntent(intent, resolvedType, userId, 0, filterCallingUid); return resolveActivity(intent, rInfo, startFlags, profilerInfo); } Loading services/core/java/com/android/server/am/ActivityStartController.java +1 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM; import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.am.ActivityManagerService.ALLOW_FULL_ONLY; import android.app.ActivityOptions; import android.app.IApplicationThread; import android.content.ComponentName; import android.content.ContentResolver; Loading @@ -33,7 +32,6 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Binder; import android.os.Bundle; import android.os.FactoryTest; import android.os.Handler; import android.os.IBinder; Loading Loading @@ -322,7 +320,7 @@ public class ActivityStartController { // Collect information about the target of the Intent. ActivityInfo aInfo = mSupervisor.resolveActivity(intent, resolvedTypes[i], 0, null, userId); null, userId, realCallingUid); // TODO: New, check if this is correct aInfo = mService.getActivityInfoForUser(aInfo, userId); Loading services/core/java/com/android/server/am/ActivityStarter.java +2 −2 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY; import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY; import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED; import static android.content.Intent.ACTION_INSTALL_INSTANT_APP_PACKAGE; import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK; import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP; import static android.content.Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT; Loading Loading @@ -966,7 +965,8 @@ class ActivityStarter { if (profileLockedAndParentUnlockingOrUnlocked) { rInfo = mSupervisor.resolveIntent(intent, resolvedType, userId, PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE); | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, Binder.getCallingUid()); } } } Loading Loading
core/java/android/content/pm/PackageManagerInternal.java +1 −1 Original line number Diff line number Diff line Loading @@ -438,7 +438,7 @@ public abstract class PackageManagerInternal { * Resolves an activity intent, allowing instant apps to be resolved. */ public abstract ResolveInfo resolveIntent(Intent intent, String resolvedType, int flags, int userId, boolean resolveForStart); int flags, int userId, boolean resolveForStart, int filterCallingUid); /** * Resolves a service intent, allowing instant apps to be resolved. Loading
services/core/java/com/android/server/am/ActivityRecord.java +2 −3 Original line number Diff line number Diff line Loading @@ -93,8 +93,6 @@ import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_SWITCH; import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_VISIBILITY; import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM; import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.am.ActivityStack.ActivityState.DESTROYED; import static com.android.server.am.ActivityStack.ActivityState.DESTROYING; import static com.android.server.am.ActivityStack.ActivityState.INITIALIZING; import static com.android.server.am.ActivityStack.ActivityState.PAUSED; import static com.android.server.am.ActivityStack.ActivityState.PAUSING; Loading Loading @@ -154,6 +152,7 @@ import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.GraphicBuffer; import android.graphics.Rect; import android.os.Binder; import android.os.Build; import android.os.Bundle; import android.os.Debug; Loading Loading @@ -2880,7 +2879,7 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo final ActivityManagerService service = stackSupervisor.mService; final ActivityInfo aInfo = stackSupervisor.resolveActivity(intent, resolvedType, 0, null, userId); userId, Binder.getCallingUid()); if (aInfo == null) { throw new XmlPullParserException("restoreActivity resolver error. Intent=" + intent + " resolvedType=" + resolvedType); Loading
services/core/java/com/android/server/am/ActivityStackSupervisor.java +6 −5 Original line number Diff line number Diff line Loading @@ -1264,10 +1264,11 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D } ResolveInfo resolveIntent(Intent intent, String resolvedType, int userId) { return resolveIntent(intent, resolvedType, userId, 0); return resolveIntent(intent, resolvedType, userId, 0, Binder.getCallingUid()); } ResolveInfo resolveIntent(Intent intent, String resolvedType, int userId, int flags) { ResolveInfo resolveIntent(Intent intent, String resolvedType, int userId, int flags, int filterCallingUid) { synchronized (mService) { try { Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "resolveIntent"); Loading @@ -1278,7 +1279,7 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D modifiedFlags |= PackageManager.MATCH_INSTANT; } return mService.getPackageManagerInternalLocked().resolveIntent( intent, resolvedType, modifiedFlags, userId, true); intent, resolvedType, modifiedFlags, userId, true, filterCallingUid); } finally { Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER); Loading @@ -1287,8 +1288,8 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D } ActivityInfo resolveActivity(Intent intent, String resolvedType, int startFlags, ProfilerInfo profilerInfo, int userId) { final ResolveInfo rInfo = resolveIntent(intent, resolvedType, userId); ProfilerInfo profilerInfo, int userId, int filterCallingUid) { final ResolveInfo rInfo = resolveIntent(intent, resolvedType, userId, 0, filterCallingUid); return resolveActivity(intent, rInfo, startFlags, profilerInfo); } Loading
services/core/java/com/android/server/am/ActivityStartController.java +1 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM; import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.am.ActivityManagerService.ALLOW_FULL_ONLY; import android.app.ActivityOptions; import android.app.IApplicationThread; import android.content.ComponentName; import android.content.ContentResolver; Loading @@ -33,7 +32,6 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Binder; import android.os.Bundle; import android.os.FactoryTest; import android.os.Handler; import android.os.IBinder; Loading Loading @@ -322,7 +320,7 @@ public class ActivityStartController { // Collect information about the target of the Intent. ActivityInfo aInfo = mSupervisor.resolveActivity(intent, resolvedTypes[i], 0, null, userId); null, userId, realCallingUid); // TODO: New, check if this is correct aInfo = mService.getActivityInfoForUser(aInfo, userId); Loading
services/core/java/com/android/server/am/ActivityStarter.java +2 −2 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY; import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY; import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED; import static android.content.Intent.ACTION_INSTALL_INSTANT_APP_PACKAGE; import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK; import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP; import static android.content.Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT; Loading Loading @@ -966,7 +965,8 @@ class ActivityStarter { if (profileLockedAndParentUnlockingOrUnlocked) { rInfo = mSupervisor.resolveIntent(intent, resolvedType, userId, PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE); | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, Binder.getCallingUid()); } } } Loading