Loading services/core/java/com/android/server/am/ActivityManagerService.java +11 −7 Original line number Diff line number Diff line Loading @@ -20722,7 +20722,7 @@ public class ActivityManagerService extends IActivityManager.Stub // BROADCASTS // ========================================================= private boolean isInstantApp(ProcessRecord record, String callerPackage, int uid) { private boolean isInstantApp(ProcessRecord record, @Nullable String callerPackage, int uid) { if (UserHandle.getAppId(uid) < FIRST_APPLICATION_UID) { return false; } Loading @@ -20731,13 +20731,17 @@ public class ActivityManagerService extends IActivityManager.Stub return record.info.isInstantApp(); } // Otherwise check with PackageManager. IPackageManager pm = AppGlobals.getPackageManager(); try { if (callerPackage == null) { Slog.e(TAG, "isInstantApp with an application's uid, no record, and no package name"); throw new IllegalArgumentException("Calling application did not provide package name"); final String[] packageNames = pm.getPackagesForUid(uid); if (packageNames == null || packageNames.length == 0) { throw new IllegalArgumentException("Unable to determine caller package name"); } // Instant Apps can't use shared uids, so its safe to only check the first package. callerPackage = packageNames[0]; } mAppOpsService.checkPackage(uid, callerPackage); try { IPackageManager pm = AppGlobals.getPackageManager(); return pm.isInstantApp(callerPackage, UserHandle.getUserId(uid)); } catch (RemoteException e) { Slog.e(TAG, "Error looking up if " + callerPackage + " is an instant app.", e); Loading
services/core/java/com/android/server/am/ActivityManagerService.java +11 −7 Original line number Diff line number Diff line Loading @@ -20722,7 +20722,7 @@ public class ActivityManagerService extends IActivityManager.Stub // BROADCASTS // ========================================================= private boolean isInstantApp(ProcessRecord record, String callerPackage, int uid) { private boolean isInstantApp(ProcessRecord record, @Nullable String callerPackage, int uid) { if (UserHandle.getAppId(uid) < FIRST_APPLICATION_UID) { return false; } Loading @@ -20731,13 +20731,17 @@ public class ActivityManagerService extends IActivityManager.Stub return record.info.isInstantApp(); } // Otherwise check with PackageManager. IPackageManager pm = AppGlobals.getPackageManager(); try { if (callerPackage == null) { Slog.e(TAG, "isInstantApp with an application's uid, no record, and no package name"); throw new IllegalArgumentException("Calling application did not provide package name"); final String[] packageNames = pm.getPackagesForUid(uid); if (packageNames == null || packageNames.length == 0) { throw new IllegalArgumentException("Unable to determine caller package name"); } // Instant Apps can't use shared uids, so its safe to only check the first package. callerPackage = packageNames[0]; } mAppOpsService.checkPackage(uid, callerPackage); try { IPackageManager pm = AppGlobals.getPackageManager(); return pm.isInstantApp(callerPackage, UserHandle.getUserId(uid)); } catch (RemoteException e) { Slog.e(TAG, "Error looking up if " + callerPackage + " is an instant app.", e);