diff options
author | Rubin Xu <rubinxu@google.com> | 2020-04-15 11:18:06 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-04-15 11:18:06 +0000 |
commit | a042c8afd3334f6bee04c658b9660927e691471e (patch) | |
tree | e91a028767a87f1e15a9165a3d61af7c63ac4854 /packages/SettingsLib/RestrictedLockUtils | |
parent | a38e5aa5f4b3c46394833d0d06a89e5d91767eb5 (diff) | |
parent | de633f32ea98997c5b425297eed360de7d410be1 (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.java | 22 |
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; |