Merge "Do not update enabled state when app ops is not changed" into tm-dev am: 8d4ecda17e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18482694

Change-Id: If96615fcb282df2f34399c3ef9f3246b3e506f0b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Ricky Wai
2022-05-20 12:27:03 +00:00
committed by Automerger Merge Worker
2 changed files with 6 additions and 6 deletions

View File

@@ -198,10 +198,9 @@ public class RestrictedPreferenceHelper {
if (mDisabledByAdmin != disabled) { if (mDisabledByAdmin != disabled) {
mDisabledByAdmin = disabled; mDisabledByAdmin = disabled;
changed = true; changed = true;
updateDisabledState();
} }
updateDisabledState();
return changed; return changed;
} }
@@ -210,10 +209,9 @@ public class RestrictedPreferenceHelper {
if (mDisabledByAppOps != disabled) { if (mDisabledByAppOps != disabled) {
mDisabledByAppOps = disabled; mDisabledByAppOps = disabled;
changed = true; changed = true;
updateDisabledState();
} }
updateDisabledState();
return changed; return changed;
} }

View File

@@ -254,9 +254,11 @@ public class RestrictedSwitchPreference extends SwitchPreference {
final boolean ecmEnabled = getContext().getResources().getBoolean( final boolean ecmEnabled = getContext().getResources().getBoolean(
com.android.internal.R.bool.config_enhancedConfirmationModeEnabled); com.android.internal.R.bool.config_enhancedConfirmationModeEnabled);
final boolean appOpsAllowed = !ecmEnabled || mode == AppOpsManager.MODE_ALLOWED; final boolean appOpsAllowed = !ecmEnabled || mode == AppOpsManager.MODE_ALLOWED;
if (appOpsAllowed || isEnabled) { if (isEnabled) {
setEnabled(true); setEnabled(true);
} else { } else if (appOpsAllowed && isDisabledByAppOps()) {
setEnabled(true);
} else if (!appOpsAllowed){
setDisabledByAppOps(true); setDisabledByAppOps(true);
} }
} }