summaryrefslogtreecommitdiff
path: root/PermissionController/role-controller/java/com/android/role/controller/model/Permission.java
diff options
context:
space:
mode:
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.java21
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{"