From 0577a068b82a94d8c7f34078d783171d560b8756 Mon Sep 17 00:00:00 2001 From: menghanli Date: Tue, 25 Jan 2022 06:45:40 +0800 Subject: [PATCH] Show quick setting tooltips after shortcut edit dialog dismiss - ToggleAccessibilityServicePreferenceFragment for unbundle accessibility service - LaunchAccessibilityActivityPreferenceFragment for unbundle accessibility shortcut-activity Bug: 210356011 Test: Manual testing Change-Id: I3bbaa6c0e5a4359e696c776a300520c4572b31f7 --- ...unchAccessibilityActivityPreferenceFragment.java | 7 +++++++ ...oggleAccessibilityServicePreferenceFragment.java | 6 ++++++ .../ToggleFeaturePreferenceFragment.java | 13 +++++++++++++ 3 files changed, 26 insertions(+) diff --git a/src/com/android/settings/accessibility/LaunchAccessibilityActivityPreferenceFragment.java b/src/com/android/settings/accessibility/LaunchAccessibilityActivityPreferenceFragment.java index 3a3011c54c4..8e2ed48826a 100644 --- a/src/com/android/settings/accessibility/LaunchAccessibilityActivityPreferenceFragment.java +++ b/src/com/android/settings/accessibility/LaunchAccessibilityActivityPreferenceFragment.java @@ -235,4 +235,11 @@ public class LaunchAccessibilityActivityPreferenceFragment extends ToggleFeature dialog.dismiss(); showQuickSettingsTooltipIfNeeded(); } + + + @Override + protected void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) { + super.callOnAlertDialogCheckboxClicked(dialog, which); + showQuickSettingsTooltipIfNeeded(getShortcutTypeCheckBoxValue()); + } } diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java index ce9cf1599c9..0e0eedae02b 100644 --- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java @@ -496,6 +496,12 @@ public class ToggleAccessibilityServicePreferenceFragment extends showQuickSettingsTooltipIfNeeded(); } + @Override + protected void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) { + super.callOnAlertDialogCheckboxClicked(dialog, which); + showQuickSettingsTooltipIfNeeded(getShortcutTypeCheckBoxValue()); + } + void onDialogButtonFromShortcutClicked(View view) { final int viewId = view.getId(); if (viewId == R.id.permission_enable_allow_button) { diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java index 0cc1f1c1662..d36764b61c2 100644 --- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java @@ -798,6 +798,19 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference PreferredShortcuts.saveUserShortcutType(getPrefContext(), shortcut); } + /** + * Shows the quick settings tooltip if the quick settings service and the shortcut are assigned. + * The tooltip only shows once. + * + * @param shortcutType The shortcut type. + */ + protected void showQuickSettingsTooltipIfNeeded(@UserShortcutType int shortcutType) { + if (shortcutType == AccessibilityUtil.UserShortcutType.EMPTY) { + return; + } + showQuickSettingsTooltipIfNeeded(); + } + /** * Shows the quick settings tooltip if the quick settings service is assigned. The tooltip only * shows once.