Tech debt cleanup: Consolidates A11yService warning dialog.
Both frameworks/base and the Settings app define almost-identical copies of a warning dialog shown when enabling an accessibility service. The frameworks/base version was used for contexts outside of Settings (e.g. while editing the volume key shortcut after triggering it with 2+ features already enabled) while the Settings version was used in the Settings app. This change replaces version used in Settings with the version defined in frameworks/base. The warning dialog's functionality is tested in AccessibilityServiceWarningTest in frameworks/base. Feature flag: `adb shell device_config override accessibility android.view.accessibility.deduplicate_accessibility_warning_dialog true` Bug: 303511250 Test: atest AccessibilityServiceWarningTest Test: existing A11ySettings robotests Change-Id: Iad2f13040d53d82a4afb0353fae3ac355b5548d6
This commit is contained in:
@@ -157,28 +157,55 @@ public class ToggleAccessibilityServicePreferenceFragment extends
|
||||
if (info == null) {
|
||||
return null;
|
||||
}
|
||||
mWarningDialog = AccessibilityServiceWarning
|
||||
.createCapabilitiesDialog(getPrefContext(), info,
|
||||
this::onDialogButtonFromEnableToggleClicked,
|
||||
this::onDialogButtonFromUninstallClicked);
|
||||
if (android.view.accessibility.Flags.deduplicateAccessibilityWarningDialog()) {
|
||||
mWarningDialog =
|
||||
com.android.internal.accessibility.dialog.AccessibilityServiceWarning
|
||||
.createAccessibilityServiceWarningDialog(getPrefContext(), info,
|
||||
v -> onAllowButtonFromEnableToggleClicked(),
|
||||
v -> onDenyButtonFromEnableToggleClicked(),
|
||||
v -> onDialogButtonFromUninstallClicked());
|
||||
} else {
|
||||
mWarningDialog = AccessibilityServiceWarning
|
||||
.createCapabilitiesDialog(getPrefContext(), info,
|
||||
this::onDialogButtonFromEnableToggleClicked,
|
||||
this::onDialogButtonFromUninstallClicked);
|
||||
}
|
||||
return mWarningDialog;
|
||||
case DialogEnums.ENABLE_WARNING_FROM_SHORTCUT_TOGGLE:
|
||||
if (info == null) {
|
||||
return null;
|
||||
}
|
||||
mWarningDialog = AccessibilityServiceWarning
|
||||
.createCapabilitiesDialog(getPrefContext(), info,
|
||||
this::onDialogButtonFromShortcutToggleClicked,
|
||||
this::onDialogButtonFromUninstallClicked);
|
||||
if (android.view.accessibility.Flags.deduplicateAccessibilityWarningDialog()) {
|
||||
mWarningDialog =
|
||||
com.android.internal.accessibility.dialog.AccessibilityServiceWarning
|
||||
.createAccessibilityServiceWarningDialog(getPrefContext(), info,
|
||||
v -> onAllowButtonFromShortcutToggleClicked(),
|
||||
v -> onDenyButtonFromShortcutToggleClicked(),
|
||||
v -> onDialogButtonFromUninstallClicked());
|
||||
} else {
|
||||
mWarningDialog = AccessibilityServiceWarning
|
||||
.createCapabilitiesDialog(getPrefContext(), info,
|
||||
this::onDialogButtonFromShortcutToggleClicked,
|
||||
this::onDialogButtonFromUninstallClicked);
|
||||
}
|
||||
return mWarningDialog;
|
||||
case DialogEnums.ENABLE_WARNING_FROM_SHORTCUT:
|
||||
if (info == null) {
|
||||
return null;
|
||||
}
|
||||
mWarningDialog = AccessibilityServiceWarning
|
||||
.createCapabilitiesDialog(getPrefContext(), info,
|
||||
this::onDialogButtonFromShortcutClicked,
|
||||
this::onDialogButtonFromUninstallClicked);
|
||||
if (android.view.accessibility.Flags.deduplicateAccessibilityWarningDialog()) {
|
||||
mWarningDialog =
|
||||
com.android.internal.accessibility.dialog.AccessibilityServiceWarning
|
||||
.createAccessibilityServiceWarningDialog(getPrefContext(), info,
|
||||
v -> onAllowButtonFromShortcutClicked(),
|
||||
v -> onDenyButtonFromShortcutClicked(),
|
||||
v -> onDialogButtonFromUninstallClicked());
|
||||
} else {
|
||||
mWarningDialog = AccessibilityServiceWarning
|
||||
.createCapabilitiesDialog(getPrefContext(), info,
|
||||
this::onDialogButtonFromShortcutClicked,
|
||||
this::onDialogButtonFromUninstallClicked);
|
||||
}
|
||||
return mWarningDialog;
|
||||
case DialogEnums.DISABLE_WARNING_FROM_TOGGLE:
|
||||
if (info == null) {
|
||||
@@ -459,7 +486,7 @@ public class ToggleAccessibilityServicePreferenceFragment extends
|
||||
}
|
||||
}
|
||||
|
||||
private void onAllowButtonFromShortcutToggleClicked() {
|
||||
void onAllowButtonFromShortcutToggleClicked() {
|
||||
mShortcutPreference.setChecked(true);
|
||||
|
||||
final int shortcutTypes = retrieveUserShortcutType(getPrefContext(),
|
||||
|
Reference in New Issue
Block a user