Loading core/java/android/content/pm/PackageManagerInternal.java +32 −36 Original line number Diff line number Diff line Loading @@ -135,24 +135,6 @@ public abstract class PackageManagerInternal { */ public abstract void setVoiceInteractionPackagesProvider(PackagesProvider provider); /** * Sets the SMS packages provider. * @param provider The packages provider. */ public abstract void setSmsAppPackagesProvider(PackagesProvider provider); /** * Sets the dialer packages provider. * @param provider The packages provider. */ public abstract void setDialerAppPackagesProvider(PackagesProvider provider); /** * Sets the sim call manager packages provider. * @param provider The packages provider. */ public abstract void setSimCallManagerPackagesProvider(PackagesProvider provider); /** * Sets the Use Open Wifi packages provider. * @param provider The packages provider. Loading @@ -166,26 +148,28 @@ public abstract class PackageManagerInternal { public abstract void setSyncAdapterPackagesprovider(SyncAdapterPackagesProvider provider); /** * Requests granting of the default permissions to the current default SMS app. * @param packageName The default SMS package name. * @param userId The user for which to grant the permissions. * Called when the package for the default dialer changed * * @param packageName the new dialer package * @param userId user for which the change was made */ public abstract void grantDefaultPermissionsToDefaultSmsApp(String packageName, int userId); public void onDefaultDialerAppChanged(String packageName, int userId) {} /** * Requests granting of the default permissions to the current default dialer app. * @param packageName The default dialer package name. * @param userId The user for which to grant the permissions. * Called when the package for the default SMS handler changed * * @param packageName the new sms package * @param userId user for which the change was made */ public abstract void grantDefaultPermissionsToDefaultDialerApp(String packageName, int userId); public void onDefaultSmsAppChanged(String packageName, int userId) {} /** * Requests granting of the default permissions to the current default sim call manager. * @param packageName The default sim call manager package name. * @param userId The user for which to grant the permissions. * Called when the package for the default sim call manager changed * * @param packageName the new sms package * @param userId user for which the change was made */ public abstract void grantDefaultPermissionsToDefaultSimCallManager(String packageName, int userId); public void onDefaultSimCallManagerAppChanged(String packageName, int userId) {} /** * Requests granting of the default permissions to the current default Use Open Wifi app. Loading Loading @@ -446,8 +430,8 @@ public abstract class PackageManagerInternal { * * @param packageName The package to check for * @param uid the uid in which the package is running * @return {@link USER_TRUSTED} if the user has trusted the package, {@link USER_BLOCKED} * if user has blocked requests from the package, {@link USER_DEFAULT} if the user response * @return {@link #USER_TRUSTED} if the user has trusted the package, {@link #USER_BLOCKED} * if user has blocked requests from the package, {@link #USER_DEFAULT} if the user response * is not yet available */ int getPackageTrustedToInstallApps(String packageName, int uid); Loading Loading @@ -561,7 +545,7 @@ public abstract class PackageManagerInternal { /** * Returns a list without a change observer. * * {@see #getPackageList(PackageListObserver)} * @see #getPackageList(PackageListObserver) */ public @NonNull PackageList getPackageList() { return getPackageList(null); Loading Loading @@ -590,7 +574,16 @@ public abstract class PackageManagerInternal { /** * Returns a package object for the disabled system package name. */ public abstract @Nullable PackageParser.Package getDisabledPackage(@NonNull String packageName); public abstract @Nullable PackageParser.Package getDisabledSystemPackage( @NonNull String packageName); /** * Returns the package name for the disabled system package. * * This is equivalent to * {@link #getDisabledSystemPackage(String)}.{@link PackageParser.Package#packageName} */ public abstract @Nullable String getDisabledSystemPackageName(@NonNull String packageName); /** * Returns whether or not the component is the resolver activity. Loading Loading @@ -619,7 +612,7 @@ public abstract class PackageManagerInternal { * Access may be limited based upon whether the calling or target applications * are instant applications. * * @see #canAccessInstantApps(int) * @see #canAccessInstantApps */ public abstract boolean filterAppAccess( @Nullable PackageParser.Package pkg, int callingUid, int userId); Loading @@ -635,6 +628,9 @@ public abstract class PackageManagerInternal { public abstract void updatePermissionFlagsTEMP(@NonNull String permName, @NonNull String packageName, int flagMask, int flagValues, int userId); /** Returns whether the given package was signed by the platform */ public abstract boolean isPlatformSigned(String pkg); /** * Returns true if it's still safe to restore data backed up from this app's version * that was signed with restoringFromSigHash. Loading services/core/java/com/android/server/pm/ComponentResolver.java +1 −1 Original line number Diff line number Diff line Loading @@ -378,7 +378,7 @@ public class ComponentResolver { for (int i = newIntents.size() - 1; i >= 0; --i) { final PackageParser.ActivityIntentInfo intentInfo = newIntents.get(i); final PackageParser.Package disabledPkg = sPackageManagerInternal .getDisabledPackage(intentInfo.activity.info.packageName); .getDisabledSystemPackage(intentInfo.activity.info.packageName); final List<PackageParser.Activity> systemActivities = disabledPkg != null ? disabledPkg.activities : null; adjustPriority(systemActivities, intentInfo, setupWizardPackage); Loading services/core/java/com/android/server/pm/PackageManagerService.java +26 −29 Original line number Diff line number Diff line Loading @@ -716,6 +716,8 @@ public class PackageManagerService extends IPackageManager.Stub @GuardedBy("mPackages") final private ArraySet<PackageListObserver> mPackageListObservers = new ArraySet<>(); private PackageManager mPackageManager; class PackageParserCallback implements PackageParser.Callback { @Override public final boolean hasFeature(String feature) { return PackageManagerService.this.hasSystemFeature(feature, 0); Loading Loading @@ -21978,6 +21980,22 @@ public class PackageManagerService extends IPackageManager.Stub permName, packageName, flagMask, flagValues, userId); } @Override public boolean isPlatformSigned(String packageName) { PackageSetting packageSetting = mSettings.mPackages.get(packageName); if (packageSetting == null) { return false; } PackageParser.Package pkg = packageSetting.pkg; if (pkg == null) { // May happen if package in on a removable sd card return false; } return pkg.mSigningDetails.hasAncestorOrSelf(mPlatformPackage.mSigningDetails) || mPlatformPackage.mSigningDetails.checkCapability(pkg.mSigningDetails, PackageParser.SigningDetails.CertCapabilities.PERMISSION); } @Override public boolean isDataRestoreSafe(byte[] restoringFromSigHash, String packageName) { SigningDetails sd = getSigningDetails(packageName); Loading Loading @@ -22090,13 +22108,19 @@ public class PackageManagerService extends IPackageManager.Stub } @Override public PackageParser.Package getDisabledPackage(String packageName) { public PackageParser.Package getDisabledSystemPackage(String packageName) { synchronized (mPackages) { final PackageSetting ps = mSettings.getDisabledSystemPkgLPr(packageName); return (ps != null) ? ps.pkg : null; } } @Override public @Nullable String getDisabledSystemPackageName(@NonNull String packageName) { PackageParser.Package pkg = getDisabledSystemPackage(packageName); return pkg == null ? null : pkg.packageName; } @Override public String getKnownPackageName(int knownPackage, int userId) { switch(knownPackage) { Loading Loading @@ -22134,21 +22158,6 @@ public class PackageManagerService extends IPackageManager.Stub mDefaultPermissionPolicy.setVoiceInteractionPackagesProvider(provider); } @Override public void setSmsAppPackagesProvider(PackagesProvider provider) { mDefaultPermissionPolicy.setSmsAppPackagesProvider(provider); } @Override public void setDialerAppPackagesProvider(PackagesProvider provider) { mDefaultPermissionPolicy.setDialerAppPackagesProvider(provider); } @Override public void setSimCallManagerPackagesProvider(PackagesProvider provider) { mDefaultPermissionPolicy.setSimCallManagerPackagesProvider(provider); } @Override public void setUseOpenWifiAppPackagesProvider(PackagesProvider provider) { mDefaultPermissionPolicy.setUseOpenWifiAppPackagesProvider(provider); Loading @@ -22160,22 +22169,10 @@ public class PackageManagerService extends IPackageManager.Stub } @Override public void grantDefaultPermissionsToDefaultSmsApp(String packageName, int userId) { mDefaultPermissionPolicy.grantDefaultPermissionsToDefaultSmsApp(packageName, userId); } @Override public void grantDefaultPermissionsToDefaultDialerApp(String packageName, int userId) { public void onDefaultDialerAppChanged(String packageName, int userId) { synchronized (mPackages) { mSettings.setDefaultDialerPackageNameLPw(packageName, userId); } mDefaultPermissionPolicy.grantDefaultPermissionsToDefaultDialerApp(packageName, userId); } @Override public void grantDefaultPermissionsToDefaultSimCallManager(String packageName, int userId) { mDefaultPermissionPolicy.grantDefaultPermissionsToDefaultSimCallManager( packageName, userId); } @Override services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java +401 −584 File changed.Preview size limit exceeded, changes collapsed. Show changes services/core/java/com/android/server/pm/permission/PermissionManagerService.java +3 −3 Original line number Diff line number Diff line Loading @@ -1189,7 +1189,7 @@ public class PermissionManagerService { // is granted only if it had been defined by the original application. if (pkg.isUpdatedSystemApp()) { final PackageParser.Package disabledPkg = mPackageManagerInt.getDisabledPackage(pkg.packageName); mPackageManagerInt.getDisabledSystemPackage(pkg.packageName); final PackageSetting disabledPs = (disabledPkg != null) ? (PackageSetting) disabledPkg.mExtras : null; if (disabledPs != null Loading Loading @@ -1221,7 +1221,7 @@ public class PermissionManagerService { // packages can also get the permission. if (pkg.parentPackage != null) { final PackageParser.Package disabledParentPkg = mPackageManagerInt .getDisabledPackage(pkg.parentPackage.packageName); .getDisabledSystemPackage(pkg.parentPackage.packageName); final PackageSetting disabledParentPs = (disabledParentPkg != null) ? (PackageSetting) disabledParentPkg.mExtras : null; if (disabledParentPkg != null Loading Loading @@ -1372,7 +1372,7 @@ public class PermissionManagerService { return; } final PackageParser.Package disabledPkg = mPackageManagerInt.getDisabledPackage(pkg.parentPackage.packageName); mPackageManagerInt.getDisabledSystemPackage(pkg.parentPackage.packageName); if (disabledPkg == null || disabledPkg.mExtras == null) { return; } Loading Loading
core/java/android/content/pm/PackageManagerInternal.java +32 −36 Original line number Diff line number Diff line Loading @@ -135,24 +135,6 @@ public abstract class PackageManagerInternal { */ public abstract void setVoiceInteractionPackagesProvider(PackagesProvider provider); /** * Sets the SMS packages provider. * @param provider The packages provider. */ public abstract void setSmsAppPackagesProvider(PackagesProvider provider); /** * Sets the dialer packages provider. * @param provider The packages provider. */ public abstract void setDialerAppPackagesProvider(PackagesProvider provider); /** * Sets the sim call manager packages provider. * @param provider The packages provider. */ public abstract void setSimCallManagerPackagesProvider(PackagesProvider provider); /** * Sets the Use Open Wifi packages provider. * @param provider The packages provider. Loading @@ -166,26 +148,28 @@ public abstract class PackageManagerInternal { public abstract void setSyncAdapterPackagesprovider(SyncAdapterPackagesProvider provider); /** * Requests granting of the default permissions to the current default SMS app. * @param packageName The default SMS package name. * @param userId The user for which to grant the permissions. * Called when the package for the default dialer changed * * @param packageName the new dialer package * @param userId user for which the change was made */ public abstract void grantDefaultPermissionsToDefaultSmsApp(String packageName, int userId); public void onDefaultDialerAppChanged(String packageName, int userId) {} /** * Requests granting of the default permissions to the current default dialer app. * @param packageName The default dialer package name. * @param userId The user for which to grant the permissions. * Called when the package for the default SMS handler changed * * @param packageName the new sms package * @param userId user for which the change was made */ public abstract void grantDefaultPermissionsToDefaultDialerApp(String packageName, int userId); public void onDefaultSmsAppChanged(String packageName, int userId) {} /** * Requests granting of the default permissions to the current default sim call manager. * @param packageName The default sim call manager package name. * @param userId The user for which to grant the permissions. * Called when the package for the default sim call manager changed * * @param packageName the new sms package * @param userId user for which the change was made */ public abstract void grantDefaultPermissionsToDefaultSimCallManager(String packageName, int userId); public void onDefaultSimCallManagerAppChanged(String packageName, int userId) {} /** * Requests granting of the default permissions to the current default Use Open Wifi app. Loading Loading @@ -446,8 +430,8 @@ public abstract class PackageManagerInternal { * * @param packageName The package to check for * @param uid the uid in which the package is running * @return {@link USER_TRUSTED} if the user has trusted the package, {@link USER_BLOCKED} * if user has blocked requests from the package, {@link USER_DEFAULT} if the user response * @return {@link #USER_TRUSTED} if the user has trusted the package, {@link #USER_BLOCKED} * if user has blocked requests from the package, {@link #USER_DEFAULT} if the user response * is not yet available */ int getPackageTrustedToInstallApps(String packageName, int uid); Loading Loading @@ -561,7 +545,7 @@ public abstract class PackageManagerInternal { /** * Returns a list without a change observer. * * {@see #getPackageList(PackageListObserver)} * @see #getPackageList(PackageListObserver) */ public @NonNull PackageList getPackageList() { return getPackageList(null); Loading Loading @@ -590,7 +574,16 @@ public abstract class PackageManagerInternal { /** * Returns a package object for the disabled system package name. */ public abstract @Nullable PackageParser.Package getDisabledPackage(@NonNull String packageName); public abstract @Nullable PackageParser.Package getDisabledSystemPackage( @NonNull String packageName); /** * Returns the package name for the disabled system package. * * This is equivalent to * {@link #getDisabledSystemPackage(String)}.{@link PackageParser.Package#packageName} */ public abstract @Nullable String getDisabledSystemPackageName(@NonNull String packageName); /** * Returns whether or not the component is the resolver activity. Loading Loading @@ -619,7 +612,7 @@ public abstract class PackageManagerInternal { * Access may be limited based upon whether the calling or target applications * are instant applications. * * @see #canAccessInstantApps(int) * @see #canAccessInstantApps */ public abstract boolean filterAppAccess( @Nullable PackageParser.Package pkg, int callingUid, int userId); Loading @@ -635,6 +628,9 @@ public abstract class PackageManagerInternal { public abstract void updatePermissionFlagsTEMP(@NonNull String permName, @NonNull String packageName, int flagMask, int flagValues, int userId); /** Returns whether the given package was signed by the platform */ public abstract boolean isPlatformSigned(String pkg); /** * Returns true if it's still safe to restore data backed up from this app's version * that was signed with restoringFromSigHash. Loading
services/core/java/com/android/server/pm/ComponentResolver.java +1 −1 Original line number Diff line number Diff line Loading @@ -378,7 +378,7 @@ public class ComponentResolver { for (int i = newIntents.size() - 1; i >= 0; --i) { final PackageParser.ActivityIntentInfo intentInfo = newIntents.get(i); final PackageParser.Package disabledPkg = sPackageManagerInternal .getDisabledPackage(intentInfo.activity.info.packageName); .getDisabledSystemPackage(intentInfo.activity.info.packageName); final List<PackageParser.Activity> systemActivities = disabledPkg != null ? disabledPkg.activities : null; adjustPriority(systemActivities, intentInfo, setupWizardPackage); Loading
services/core/java/com/android/server/pm/PackageManagerService.java +26 −29 Original line number Diff line number Diff line Loading @@ -716,6 +716,8 @@ public class PackageManagerService extends IPackageManager.Stub @GuardedBy("mPackages") final private ArraySet<PackageListObserver> mPackageListObservers = new ArraySet<>(); private PackageManager mPackageManager; class PackageParserCallback implements PackageParser.Callback { @Override public final boolean hasFeature(String feature) { return PackageManagerService.this.hasSystemFeature(feature, 0); Loading Loading @@ -21978,6 +21980,22 @@ public class PackageManagerService extends IPackageManager.Stub permName, packageName, flagMask, flagValues, userId); } @Override public boolean isPlatformSigned(String packageName) { PackageSetting packageSetting = mSettings.mPackages.get(packageName); if (packageSetting == null) { return false; } PackageParser.Package pkg = packageSetting.pkg; if (pkg == null) { // May happen if package in on a removable sd card return false; } return pkg.mSigningDetails.hasAncestorOrSelf(mPlatformPackage.mSigningDetails) || mPlatformPackage.mSigningDetails.checkCapability(pkg.mSigningDetails, PackageParser.SigningDetails.CertCapabilities.PERMISSION); } @Override public boolean isDataRestoreSafe(byte[] restoringFromSigHash, String packageName) { SigningDetails sd = getSigningDetails(packageName); Loading Loading @@ -22090,13 +22108,19 @@ public class PackageManagerService extends IPackageManager.Stub } @Override public PackageParser.Package getDisabledPackage(String packageName) { public PackageParser.Package getDisabledSystemPackage(String packageName) { synchronized (mPackages) { final PackageSetting ps = mSettings.getDisabledSystemPkgLPr(packageName); return (ps != null) ? ps.pkg : null; } } @Override public @Nullable String getDisabledSystemPackageName(@NonNull String packageName) { PackageParser.Package pkg = getDisabledSystemPackage(packageName); return pkg == null ? null : pkg.packageName; } @Override public String getKnownPackageName(int knownPackage, int userId) { switch(knownPackage) { Loading Loading @@ -22134,21 +22158,6 @@ public class PackageManagerService extends IPackageManager.Stub mDefaultPermissionPolicy.setVoiceInteractionPackagesProvider(provider); } @Override public void setSmsAppPackagesProvider(PackagesProvider provider) { mDefaultPermissionPolicy.setSmsAppPackagesProvider(provider); } @Override public void setDialerAppPackagesProvider(PackagesProvider provider) { mDefaultPermissionPolicy.setDialerAppPackagesProvider(provider); } @Override public void setSimCallManagerPackagesProvider(PackagesProvider provider) { mDefaultPermissionPolicy.setSimCallManagerPackagesProvider(provider); } @Override public void setUseOpenWifiAppPackagesProvider(PackagesProvider provider) { mDefaultPermissionPolicy.setUseOpenWifiAppPackagesProvider(provider); Loading @@ -22160,22 +22169,10 @@ public class PackageManagerService extends IPackageManager.Stub } @Override public void grantDefaultPermissionsToDefaultSmsApp(String packageName, int userId) { mDefaultPermissionPolicy.grantDefaultPermissionsToDefaultSmsApp(packageName, userId); } @Override public void grantDefaultPermissionsToDefaultDialerApp(String packageName, int userId) { public void onDefaultDialerAppChanged(String packageName, int userId) { synchronized (mPackages) { mSettings.setDefaultDialerPackageNameLPw(packageName, userId); } mDefaultPermissionPolicy.grantDefaultPermissionsToDefaultDialerApp(packageName, userId); } @Override public void grantDefaultPermissionsToDefaultSimCallManager(String packageName, int userId) { mDefaultPermissionPolicy.grantDefaultPermissionsToDefaultSimCallManager( packageName, userId); } @Override
services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java +401 −584 File changed.Preview size limit exceeded, changes collapsed. Show changes
services/core/java/com/android/server/pm/permission/PermissionManagerService.java +3 −3 Original line number Diff line number Diff line Loading @@ -1189,7 +1189,7 @@ public class PermissionManagerService { // is granted only if it had been defined by the original application. if (pkg.isUpdatedSystemApp()) { final PackageParser.Package disabledPkg = mPackageManagerInt.getDisabledPackage(pkg.packageName); mPackageManagerInt.getDisabledSystemPackage(pkg.packageName); final PackageSetting disabledPs = (disabledPkg != null) ? (PackageSetting) disabledPkg.mExtras : null; if (disabledPs != null Loading Loading @@ -1221,7 +1221,7 @@ public class PermissionManagerService { // packages can also get the permission. if (pkg.parentPackage != null) { final PackageParser.Package disabledParentPkg = mPackageManagerInt .getDisabledPackage(pkg.parentPackage.packageName); .getDisabledSystemPackage(pkg.parentPackage.packageName); final PackageSetting disabledParentPs = (disabledParentPkg != null) ? (PackageSetting) disabledParentPkg.mExtras : null; if (disabledParentPkg != null Loading Loading @@ -1372,7 +1372,7 @@ public class PermissionManagerService { return; } final PackageParser.Package disabledPkg = mPackageManagerInt.getDisabledPackage(pkg.parentPackage.packageName); mPackageManagerInt.getDisabledSystemPackage(pkg.parentPackage.packageName); if (disabledPkg == null || disabledPkg.mExtras == null) { return; } Loading