Loading services/core/java/com/android/server/notification/PermissionHelper.java +11 −2 Original line number Diff line number Diff line Loading @@ -55,8 +55,10 @@ public final class PermissionHelper { private final PermissionManagerServiceInternal mPmi; private final IPackageManager mPackageManager; private final IPermissionManager mPermManager; // TODO (b/194833441): Remove when the migration is enabled // TODO (b/194833441): Remove this boolean (but keep the isMigrationEnabled() method) // when the migration is enabled private final boolean mMigrationEnabled; private final boolean mIsTv; private final boolean mForceUserSetOnUpgrade; public PermissionHelper(PermissionManagerServiceInternal pmi, IPackageManager packageManager, Loading @@ -67,10 +69,17 @@ public final class PermissionHelper { mPermManager = permManager; mMigrationEnabled = migrationEnabled; mForceUserSetOnUpgrade = forceUserSetOnUpgrade; boolean isTv; try { isTv = mPackageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK, 0); } catch (RemoteException e) { isTv = false; } mIsTv = isTv; } public boolean isMigrationEnabled() { return mMigrationEnabled; return mMigrationEnabled && !mIsTv; } /** Loading services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java +11 −0 Original line number Diff line number Diff line Loading @@ -296,6 +296,8 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt .OnRuntimePermissionStateChangedListener> mRuntimePermissionStateChangedListeners = new ArrayList<>(); private final boolean mIsLeanback; @NonNull private final OnPermissionChangeListeners mOnPermissionChangeListeners; Loading Loading @@ -379,6 +381,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt mContext = context; mPackageManagerInt = LocalServices.getService(PackageManagerInternal.class); mUserManagerInt = LocalServices.getService(UserManagerInternal.class); mIsLeanback = availableFeatures.containsKey(PackageManager.FEATURE_LEANBACK); mPrivilegedPermissionAllowlistSourcePackageNames.add(PLATFORM_PACKAGE_NAME); // PackageManager.hasSystemFeature() is not used here because PackageManagerService Loading Loading @@ -2821,6 +2824,14 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt } } } if (mIsLeanback && NOTIFICATION_PERMISSIONS.contains(permName)) { uidState.grantPermission(bp); if (origPermState == null || !origPermState.isGranted()) { if (uidState.grantPermission(bp)) { wasChanged = true; } } } } else { if (origPermState == null) { // New permission Loading Loading
services/core/java/com/android/server/notification/PermissionHelper.java +11 −2 Original line number Diff line number Diff line Loading @@ -55,8 +55,10 @@ public final class PermissionHelper { private final PermissionManagerServiceInternal mPmi; private final IPackageManager mPackageManager; private final IPermissionManager mPermManager; // TODO (b/194833441): Remove when the migration is enabled // TODO (b/194833441): Remove this boolean (but keep the isMigrationEnabled() method) // when the migration is enabled private final boolean mMigrationEnabled; private final boolean mIsTv; private final boolean mForceUserSetOnUpgrade; public PermissionHelper(PermissionManagerServiceInternal pmi, IPackageManager packageManager, Loading @@ -67,10 +69,17 @@ public final class PermissionHelper { mPermManager = permManager; mMigrationEnabled = migrationEnabled; mForceUserSetOnUpgrade = forceUserSetOnUpgrade; boolean isTv; try { isTv = mPackageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK, 0); } catch (RemoteException e) { isTv = false; } mIsTv = isTv; } public boolean isMigrationEnabled() { return mMigrationEnabled; return mMigrationEnabled && !mIsTv; } /** Loading
services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java +11 −0 Original line number Diff line number Diff line Loading @@ -296,6 +296,8 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt .OnRuntimePermissionStateChangedListener> mRuntimePermissionStateChangedListeners = new ArrayList<>(); private final boolean mIsLeanback; @NonNull private final OnPermissionChangeListeners mOnPermissionChangeListeners; Loading Loading @@ -379,6 +381,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt mContext = context; mPackageManagerInt = LocalServices.getService(PackageManagerInternal.class); mUserManagerInt = LocalServices.getService(UserManagerInternal.class); mIsLeanback = availableFeatures.containsKey(PackageManager.FEATURE_LEANBACK); mPrivilegedPermissionAllowlistSourcePackageNames.add(PLATFORM_PACKAGE_NAME); // PackageManager.hasSystemFeature() is not used here because PackageManagerService Loading Loading @@ -2821,6 +2824,14 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt } } } if (mIsLeanback && NOTIFICATION_PERMISSIONS.contains(permName)) { uidState.grantPermission(bp); if (origPermState == null || !origPermState.isGranted()) { if (uidState.grantPermission(bp)) { wasChanged = true; } } } } else { if (origPermState == null) { // New permission Loading