diff options
-rw-r--r-- | PermissionController/role-controller/java/com/android/role/controller/model/Role.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/PermissionController/role-controller/java/com/android/role/controller/model/Role.java b/PermissionController/role-controller/java/com/android/role/controller/model/Role.java index e3269a146..0a04e2764 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/model/Role.java +++ b/PermissionController/role-controller/java/com/android/role/controller/model/Role.java @@ -48,6 +48,7 @@ import androidx.annotation.VisibleForTesting; import com.android.modules.utils.build.SdkLevel; import com.android.role.controller.util.CollectionUtils; import com.android.role.controller.util.PackageUtils; +import com.android.role.controller.util.RoleFlags; import com.android.role.controller.util.RoleManagerCompat; import com.android.role.controller.util.UserUtils; @@ -113,7 +114,8 @@ public class Role { static { sExclusivityValues.put(EXCLUSIVITY_NONE, true); sExclusivityValues.put(EXCLUSIVITY_USER, true); - sExclusivityValues.put(EXCLUSIVITY_PROFILE_GROUP, true); + sExclusivityValues.put(EXCLUSIVITY_PROFILE_GROUP, + RoleFlags.isProfileGroupExclusivityAvailable()); } /** @@ -347,6 +349,10 @@ public class Role { throw new IllegalArgumentException( "Role cannot be non-exclusive when showNone is true: " + exclusivity); } + if (!mPreferredActivities.isEmpty() && exclusivity == EXCLUSIVITY_PROFILE_GROUP) { + throw new IllegalArgumentException( + "Role cannot have preferred activities when exclusivity is profileGroup"); + } return exclusivity; } } |