From 0cacded5cace60f0271b23503b9f9071ed709f85 Mon Sep 17 00:00:00 2001 From: Ricky Wai Date: Wed, 6 Apr 2022 16:05:56 +0000 Subject: [PATCH] Apply enhanced confirmation mode OEM config to Settings So Settings app will block user accessing restricted settings if OEM config is off. Bug: 217709978 Test: With OEM config on, accessibility page for unknown source app is disabled by default. Test: With OEM config off, accessibility page for unknown source app is not disabled. Change-Id: Id25e8fd76e6192fd4db64f81903449bb02785b39 --- .../accessibility/AccessibilityDetailsSettingsFragment.java | 4 +++- .../settings/accessibility/RestrictedPreferenceHelper.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java index 911e2fc82aa..c3359e43aef 100644 --- a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java +++ b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java @@ -163,7 +163,9 @@ public class AccessibilityDetailsSettingsFragment extends InstrumentedFragment { try { final int mode = mAppOps.noteOpNoThrow(AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS, uid, packageName); - return mode != AppOpsManager.MODE_ERRORED && mode != AppOpsManager.MODE_IGNORED; + final boolean ecmEnabled = getContext().getResources().getBoolean( + com.android.internal.R.bool.config_enhancedConfirmationModeEnabled); + return !ecmEnabled || mode == AppOpsManager.MODE_ALLOWED; } catch (Exception e) { // Fallback in case if app ops is not available in testing. return true; diff --git a/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java b/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java index 3e42e21c932..4344accbfec 100644 --- a/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java +++ b/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java @@ -233,7 +233,9 @@ public class RestrictedPreferenceHelper { final int mode = mAppOps.noteOpNoThrow( AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS, preference.getUid(), preference.getPackageName()); - appOpsAllowed = mode == AppOpsManager.MODE_ALLOWED; + final boolean ecmEnabled = mContext.getResources().getBoolean( + com.android.internal.R.bool.config_enhancedConfirmationModeEnabled); + appOpsAllowed = !ecmEnabled || mode == AppOpsManager.MODE_ALLOWED; serviceAllowed = appOpsAllowed; } catch (Exception e) { // Allow service in case if app ops is not available in testing.