diff options
Diffstat (limited to 'PermissionController/role-controller/java/com/android/role/controller/model/Permission.java')
-rw-r--r-- | PermissionController/role-controller/java/com/android/role/controller/model/Permission.java | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/PermissionController/role-controller/java/com/android/role/controller/model/Permission.java b/PermissionController/role-controller/java/com/android/role/controller/model/Permission.java index 0c4a14574..6ded32d58 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/model/Permission.java +++ b/PermissionController/role-controller/java/com/android/role/controller/model/Permission.java @@ -60,14 +60,29 @@ public class Permission { * @return whether this permission is available */ public boolean isAvailable() { - // Workaround to match the value 34+ for U+ in roles.xml before SDK finalization. - if (mMinSdkVersion >= 34) { - return SdkLevel.isAtLeastU(); + // Workaround to match the value 35+ for V+ in roles.xml before SDK finalization. + if (mMinSdkVersion >= 35) { + return SdkLevel.isAtLeastV(); } else { return Build.VERSION.SDK_INT >= mMinSdkVersion; } } + /** + * Return a new permission with the specified minimum SDK version, or this permission if it + * already has the same minimum SDK version. + * + * @param minSdkVersion the minimum SDK version + * @return a permission with the specified minimum SDK version + */ + @NonNull + public Permission withMinSdkVersion(int minSdkVersion) { + if (mMinSdkVersion == minSdkVersion) { + return this; + } + return new Permission(mName, minSdkVersion); + } + @Override public String toString() { return "Permission{" |