Loading services/core/java/com/android/server/policy/PermissionPolicyService.java +49 −51 Original line number Diff line number Diff line Loading @@ -494,6 +494,7 @@ public final class PermissionPolicyService extends SystemService { PhoneCarrierPrivilegesCallback(int phoneId) { mPhoneId = phoneId; } @Override public void onCarrierPrivilegesChanged( @NonNull Set<String> privilegedPackageNames, Loading Loading @@ -563,7 +564,11 @@ public final class PermissionPolicyService extends SystemService { final TimingsTraceAndSlog t = new TimingsTraceAndSlog(); t.traceBegin("Permission_grant_default_permissions-" + userId); grantOrUpgradeDefaultRuntimePermissionsIfNeeded(userId); if (mPackageManagerInternal.isPermissionUpgradeNeeded(userId)) { grantOrUpgradeDefaultRuntimePermissions(userId); updateUserSensitive(userId); mPackageManagerInternal.updateRuntimePermissionsFingerprint(userId); } t.traceEnd(); final OnInitializedCallback callback; Loading Loading @@ -595,21 +600,14 @@ public final class PermissionPolicyService extends SystemService { } } private void grantOrUpgradeDefaultRuntimePermissionsIfNeeded(@UserIdInt int userId) { private void grantOrUpgradeDefaultRuntimePermissions(@UserIdInt int userId) { if (PermissionManager.USE_ACCESS_CHECKING_SERVICE) { return; } if (DEBUG) Slog.i(LOG_TAG, "grantOrUpgradeDefaultPermsIfNeeded(" + userId + ")"); if (DEBUG) Slog.i(LOG_TAG, "grantOrUpgradeDefaultPerms(" + userId + ")"); final TimingsTraceAndSlog t = new TimingsTraceAndSlog(); final PackageManagerInternal packageManagerInternal = LocalServices.getService(PackageManagerInternal.class); final PermissionManagerServiceInternal permissionManagerInternal = LocalServices.getService(PermissionManagerServiceInternal.class); if (packageManagerInternal.isPermissionUpgradeNeeded(userId)) { if (DEBUG) Slog.i(LOG_TAG, "defaultPermsWereGrantedSinceBoot(" + userId + ")"); // Now call into the permission controller to apply policy around permissions final AndroidFuture<Boolean> future = new AndroidFuture<>(); Loading Loading @@ -641,11 +639,15 @@ public final class PermissionPolicyService extends SystemService { } finally { t.traceEnd(); } } private void updateUserSensitive(@UserIdInt int userId) { if (DEBUG) Slog.i(LOG_TAG, "updateUserSensitive(" + userId + ")"); final PermissionControllerManager permissionControllerManager = new PermissionControllerManager( getUserContext(getContext(), UserHandle.of(userId)), PermissionThread.getHandler()); permissionControllerManager.updateUserSensitive(); packageManagerInternal.updateRuntimePermissionsFingerprint(userId); } } private static @Nullable Context getUserContext(@NonNull Context context, Loading Loading @@ -695,12 +697,10 @@ public final class PermissionPolicyService extends SystemService { if (DEBUG) Slog.i(LOG_TAG, "synchronizePermissionsAndAppOpsForUser(" + userId + ")"); final TimingsTraceAndSlog t = new TimingsTraceAndSlog(); final PackageManagerInternal packageManagerInternal = LocalServices.getService( PackageManagerInternal.class); final PermissionToOpSynchroniser synchronizer = new PermissionToOpSynchroniser( getUserContext(getContext(), UserHandle.of(userId))); t.traceBegin("Permission_synchronize_addPackages-" + userId); packageManagerInternal.forEachPackage( mPackageManagerInternal.forEachPackage( (pkg) -> synchronizer.addPackage(pkg.getPackageName())); t.traceEnd(); t.traceBegin("Permission_syncPackages-" + userId); Loading Loading @@ -1052,13 +1052,11 @@ public final class PermissionPolicyService extends SystemService { * @param pkgName The package to add for later processing. */ void addPackage(@NonNull String pkgName) { PackageManagerInternal pmInternal = LocalServices.getService(PackageManagerInternal.class); final PackageInfo pkgInfo; final AndroidPackage pkg; try { pkgInfo = mPackageManager.getPackageInfo(pkgName, GET_PERMISSIONS); pkg = pmInternal.getPackage(pkgName); pkg = mPackageManagerInternal.getPackage(pkgName); } catch (NameNotFoundException e) { return; } Loading Loading
services/core/java/com/android/server/policy/PermissionPolicyService.java +49 −51 Original line number Diff line number Diff line Loading @@ -494,6 +494,7 @@ public final class PermissionPolicyService extends SystemService { PhoneCarrierPrivilegesCallback(int phoneId) { mPhoneId = phoneId; } @Override public void onCarrierPrivilegesChanged( @NonNull Set<String> privilegedPackageNames, Loading Loading @@ -563,7 +564,11 @@ public final class PermissionPolicyService extends SystemService { final TimingsTraceAndSlog t = new TimingsTraceAndSlog(); t.traceBegin("Permission_grant_default_permissions-" + userId); grantOrUpgradeDefaultRuntimePermissionsIfNeeded(userId); if (mPackageManagerInternal.isPermissionUpgradeNeeded(userId)) { grantOrUpgradeDefaultRuntimePermissions(userId); updateUserSensitive(userId); mPackageManagerInternal.updateRuntimePermissionsFingerprint(userId); } t.traceEnd(); final OnInitializedCallback callback; Loading Loading @@ -595,21 +600,14 @@ public final class PermissionPolicyService extends SystemService { } } private void grantOrUpgradeDefaultRuntimePermissionsIfNeeded(@UserIdInt int userId) { private void grantOrUpgradeDefaultRuntimePermissions(@UserIdInt int userId) { if (PermissionManager.USE_ACCESS_CHECKING_SERVICE) { return; } if (DEBUG) Slog.i(LOG_TAG, "grantOrUpgradeDefaultPermsIfNeeded(" + userId + ")"); if (DEBUG) Slog.i(LOG_TAG, "grantOrUpgradeDefaultPerms(" + userId + ")"); final TimingsTraceAndSlog t = new TimingsTraceAndSlog(); final PackageManagerInternal packageManagerInternal = LocalServices.getService(PackageManagerInternal.class); final PermissionManagerServiceInternal permissionManagerInternal = LocalServices.getService(PermissionManagerServiceInternal.class); if (packageManagerInternal.isPermissionUpgradeNeeded(userId)) { if (DEBUG) Slog.i(LOG_TAG, "defaultPermsWereGrantedSinceBoot(" + userId + ")"); // Now call into the permission controller to apply policy around permissions final AndroidFuture<Boolean> future = new AndroidFuture<>(); Loading Loading @@ -641,11 +639,15 @@ public final class PermissionPolicyService extends SystemService { } finally { t.traceEnd(); } } private void updateUserSensitive(@UserIdInt int userId) { if (DEBUG) Slog.i(LOG_TAG, "updateUserSensitive(" + userId + ")"); final PermissionControllerManager permissionControllerManager = new PermissionControllerManager( getUserContext(getContext(), UserHandle.of(userId)), PermissionThread.getHandler()); permissionControllerManager.updateUserSensitive(); packageManagerInternal.updateRuntimePermissionsFingerprint(userId); } } private static @Nullable Context getUserContext(@NonNull Context context, Loading Loading @@ -695,12 +697,10 @@ public final class PermissionPolicyService extends SystemService { if (DEBUG) Slog.i(LOG_TAG, "synchronizePermissionsAndAppOpsForUser(" + userId + ")"); final TimingsTraceAndSlog t = new TimingsTraceAndSlog(); final PackageManagerInternal packageManagerInternal = LocalServices.getService( PackageManagerInternal.class); final PermissionToOpSynchroniser synchronizer = new PermissionToOpSynchroniser( getUserContext(getContext(), UserHandle.of(userId))); t.traceBegin("Permission_synchronize_addPackages-" + userId); packageManagerInternal.forEachPackage( mPackageManagerInternal.forEachPackage( (pkg) -> synchronizer.addPackage(pkg.getPackageName())); t.traceEnd(); t.traceBegin("Permission_syncPackages-" + userId); Loading Loading @@ -1052,13 +1052,11 @@ public final class PermissionPolicyService extends SystemService { * @param pkgName The package to add for later processing. */ void addPackage(@NonNull String pkgName) { PackageManagerInternal pmInternal = LocalServices.getService(PackageManagerInternal.class); final PackageInfo pkgInfo; final AndroidPackage pkg; try { pkgInfo = mPackageManager.getPackageInfo(pkgName, GET_PERMISSIONS); pkg = pmInternal.getPackage(pkgName); pkg = mPackageManagerInternal.getPackage(pkgName); } catch (NameNotFoundException e) { return; } Loading