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
This commit is contained in:
Ricky Wai
2022-04-06 16:05:56 +00:00
parent e0f6939c4c
commit 0cacded5ca
2 changed files with 6 additions and 2 deletions

View File

@@ -163,7 +163,9 @@ public class AccessibilityDetailsSettingsFragment extends InstrumentedFragment {
try { try {
final int mode = mAppOps.noteOpNoThrow(AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS, final int mode = mAppOps.noteOpNoThrow(AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS,
uid, packageName); 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) { } catch (Exception e) {
// Fallback in case if app ops is not available in testing. // Fallback in case if app ops is not available in testing.
return true; return true;

View File

@@ -233,7 +233,9 @@ public class RestrictedPreferenceHelper {
final int mode = mAppOps.noteOpNoThrow( final int mode = mAppOps.noteOpNoThrow(
AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS, AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS,
preference.getUid(), preference.getPackageName()); 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; serviceAllowed = appOpsAllowed;
} catch (Exception e) { } catch (Exception e) {
// Allow service in case if app ops is not available in testing. // Allow service in case if app ops is not available in testing.