summaryrefslogtreecommitdiff
path: root/packages/SettingsLib/RestrictedLockUtils
diff options
context:
space:
mode:
authorRubin Xu <rubinxu@google.com>2020-04-15 11:18:06 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-04-15 11:18:06 +0000
commita042c8afd3334f6bee04c658b9660927e691471e (patch)
treee91a028767a87f1e15a9165a3d61af7c63ac4854 /packages/SettingsLib/RestrictedLockUtils
parenta38e5aa5f4b3c46394833d0d06a89e5d91767eb5 (diff)
parentde633f32ea98997c5b425297eed360de7d410be1 (diff)
Merge "Improve work profile unification flow" into rvc-dev
Diffstat (limited to 'packages/SettingsLib/RestrictedLockUtils')
-rw-r--r--packages/SettingsLib/RestrictedLockUtils/src/com/android/settingslib/RestrictedLockUtils.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/packages/SettingsLib/RestrictedLockUtils/src/com/android/settingslib/RestrictedLockUtils.java b/packages/SettingsLib/RestrictedLockUtils/src/com/android/settingslib/RestrictedLockUtils.java
index fa2ec55bd81a..a77e34b4af1e 100644
--- a/packages/SettingsLib/RestrictedLockUtils/src/com/android/settingslib/RestrictedLockUtils.java
+++ b/packages/SettingsLib/RestrictedLockUtils/src/com/android/settingslib/RestrictedLockUtils.java
@@ -147,6 +147,28 @@ public class RestrictedLockUtils {
public EnforcedAdmin() {
}
+ /**
+ * Combines two {@link EnforcedAdmin} into one: if one of them is null, then just return
+ * the other. If both of them are the same, then return that. Otherwise return the symbolic
+ * {@link #MULTIPLE_ENFORCED_ADMIN}
+ */
+ public static EnforcedAdmin combine(EnforcedAdmin admin1, EnforcedAdmin admin2) {
+ if (admin1 == null) {
+ return admin2;
+ }
+ if (admin2 == null) {
+ return admin1;
+ }
+ if (admin1.equals(admin2)) {
+ return admin1;
+ }
+ if (!admin1.enforcedRestriction.equals(admin2.enforcedRestriction)) {
+ throw new IllegalArgumentException(
+ "Admins with different restriction cannot be combined");
+ }
+ return MULTIPLE_ENFORCED_ADMIN;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;