diff --git a/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java index beeabd5dcba..6b44a0a0f8e 100644 --- a/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java +++ b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java @@ -17,6 +17,7 @@ package com.android.settings.accessibility; import android.accessibilityservice.AccessibilityServiceInfo; +import android.content.DialogInterface; import android.view.View; import com.android.settings.R; @@ -68,4 +69,17 @@ public class InvisibleToggleAccessibilityServicePreferenceFragment extends true); } } + + /** + * {@inheritDoc} + * + * Enables accessibility service when shortcutPreference is checked. + */ + @Override + protected void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) { + super.callOnAlertDialogCheckboxClicked(dialog, which); + + final boolean enabled = mShortcutPreference.isChecked(); + AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName, enabled); + } } diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java index 8b4f3f25bd7..6b0759a92e1 100644 --- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java @@ -597,7 +597,13 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference return shortcut.getType(); } - private void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) { + /** + * This method will be invoked when a button in the edit shortcut dialog is clicked. + * + * @param dialog The dialog that received the click + * @param which The button that was clicked + */ + protected void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) { if (mComponentName == null) { return; } diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java index 87eaede5180..9710bce5ae3 100644 --- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java @@ -386,7 +386,8 @@ public class ToggleScreenMagnificationPreferenceFragment extends return shortcut.getType(); } - private void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) { + @Override + protected void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) { updateUserShortcutType(/* saveChanges= */ true); optInAllMagnificationValuesToSettings(getPrefContext(), mUserShortcutType); optOutAllMagnificationValuesFromSettings(getPrefContext(), ~mUserShortcutType);