From 78c093b0b30964e24f6b4b731154bd4fc2a21511 Mon Sep 17 00:00:00 2001 From: menghanli Date: Mon, 7 Jun 2021 13:38:50 +0800 Subject: [PATCH] Move DialogEumn into AccessibilityDialogUtils Bug: 190022774 Test: Manual testing Change-Id: I391089b675b415c26bbacd028caf1d1ab617e707 --- ...ils.java => AccessibilityDialogUtils.java} | 54 ++++++++++++++++- ...MagnificationModePreferenceController.java | 8 +-- ...ccessibilityServicePreferenceFragment.java | 1 + .../ToggleFeaturePreferenceFragment.java | 58 ++----------------- ...ScreenMagnificationPreferenceFragment.java | 5 +- ...ificationModePreferenceControllerTest.java | 2 +- .../ToggleFeaturePreferenceFragmentTest.java | 8 +-- ...enMagnificationPreferenceFragmentTest.java | 8 +-- 8 files changed, 73 insertions(+), 71 deletions(-) rename src/com/android/settings/accessibility/{AccessibilityEditDialogUtils.java => AccessibilityDialogUtils.java} (91%) diff --git a/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java b/src/com/android/settings/accessibility/AccessibilityDialogUtils.java similarity index 91% rename from src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java rename to src/com/android/settings/accessibility/AccessibilityDialogUtils.java index c1ac604c94a..ffe5d6db59b 100644 --- a/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java +++ b/src/com/android/settings/accessibility/AccessibilityDialogUtils.java @@ -62,7 +62,57 @@ import java.util.List; /** * Utility class for creating the edit dialog. */ -public class AccessibilityEditDialogUtils { +public class AccessibilityDialogUtils { + + /** Denotes the dialog emuns for show dialog. */ + @Retention(RetentionPolicy.SOURCE) + public @interface DialogEnums { + + /** OPEN: Settings > Accessibility > Any toggle service > Shortcut > Settings. */ + int EDIT_SHORTCUT = 1; + + /** OPEN: Settings > Accessibility > Magnification > Shortcut > Settings. */ + int MAGNIFICATION_EDIT_SHORTCUT = 1001; + + /** + * OPEN: Settings > Accessibility > Downloaded toggle service > Toggle use service to + * enable service. + */ + int ENABLE_WARNING_FROM_TOGGLE = 1002; + + /** OPEN: Settings > Accessibility > Downloaded toggle service > Shortcut checkbox. */ + int ENABLE_WARNING_FROM_SHORTCUT = 1003; + + /** + * OPEN: Settings > Accessibility > Downloaded toggle service > Shortcut checkbox + * toggle. + */ + int ENABLE_WARNING_FROM_SHORTCUT_TOGGLE = 1004; + + /** + * OPEN: Settings > Accessibility > Downloaded toggle service > Toggle use service to + * disable service. + */ + int DISABLE_WARNING_FROM_TOGGLE = 1005; + + /** + * OPEN: Settings > Accessibility > Magnification > Toggle user service in button + * navigation. + */ + int ACCESSIBILITY_BUTTON_TUTORIAL = 1006; + + /** + * OPEN: Settings > Accessibility > Magnification > Toggle user service in gesture + * navigation. + */ + int GESTURE_NAVIGATION_TUTORIAL = 1007; + + /** + * OPEN: Settings > Accessibility > Downloaded toggle service > Toggle user service > Show + * launch tutorial. + */ + int LAUNCH_ACCESSIBILITY_TUTORIAL = 1008; + } /** * IntDef enum for dialog type that indicates different dialog for user to choose the shortcut @@ -77,7 +127,7 @@ public class AccessibilityEditDialogUtils { DialogType.EDIT_MAGNIFICATION_SWITCH_SHORTCUT, }) - public @interface DialogType { + public @interface DialogType { int EDIT_SHORTCUT_GENERIC = 0; int EDIT_SHORTCUT_GENERIC_SUW = 1; int EDIT_SHORTCUT_MAGNIFICATION = 2; diff --git a/src/com/android/settings/accessibility/MagnificationModePreferenceController.java b/src/com/android/settings/accessibility/MagnificationModePreferenceController.java index ef858345cea..711065602be 100644 --- a/src/com/android/settings/accessibility/MagnificationModePreferenceController.java +++ b/src/com/android/settings/accessibility/MagnificationModePreferenceController.java @@ -17,7 +17,7 @@ package com.android.settings.accessibility; import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME; -import static com.android.settings.accessibility.AccessibilityEditDialogUtils.CustomButton; +import static com.android.settings.accessibility.AccessibilityDialogUtils.CustomButton; import static com.android.settings.accessibility.AccessibilityUtil.State.OFF; import static com.android.settings.accessibility.AccessibilityUtil.State.ON; @@ -166,7 +166,7 @@ public class MagnificationModePreferenceController extends BasePreferenceControl } private Dialog createMagnificationModeDialog() { - mMagnificationModesListView = AccessibilityEditDialogUtils.createSingleChoiceListView( + mMagnificationModesListView = AccessibilityDialogUtils.createSingleChoiceListView( mContext, mModeInfos, this::onMagnificationModeSelected); final View headerView = LayoutInflater.from(mContext).inflate( @@ -179,7 +179,7 @@ public class MagnificationModePreferenceController extends BasePreferenceControl final CharSequence title = mContext.getString( R.string.accessibility_magnification_mode_dialog_title); - return AccessibilityEditDialogUtils.createCustomDialog(mContext, title, + return AccessibilityDialogUtils.createCustomDialog(mContext, title, mMagnificationModesListView, this::onMagnificationModeDialogPositiveButtonClicked); } @@ -235,7 +235,7 @@ public class MagnificationModePreferenceController extends BasePreferenceControl } private Dialog createMagnificationShortCutConfirmDialog() { - return AccessibilityEditDialogUtils.createMagnificationSwitchShortcutDialog(mContext, + return AccessibilityDialogUtils.createMagnificationSwitchShortcutDialog(mContext, this::onSwitchShortcutDialogButtonClicked); } diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java index 7902ec6c092..4c4757a0e0b 100644 --- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java @@ -16,6 +16,7 @@ package com.android.settings.accessibility; +import static com.android.settings.accessibility.AccessibilityDialogUtils.DialogEnums; import static com.android.settings.accessibility.AccessibilityStatsLogUtils.logAccessibilityServiceEnabled; import static com.android.settings.accessibility.PreferredShortcuts.retrieveUserShortcutType; diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java index 7c189436b60..c247a193509 100644 --- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java @@ -16,6 +16,8 @@ package com.android.settings.accessibility; +import static com.android.settings.accessibility.AccessibilityDialogUtils.DialogEnums; + import android.app.Dialog; import android.app.settings.SettingsEnums; import android.content.ComponentName; @@ -50,7 +52,7 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; -import com.android.settings.accessibility.AccessibilityEditDialogUtils.DialogType; +import com.android.settings.accessibility.AccessibilityDialogUtils.DialogType; import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType; import com.android.settings.utils.LocaleUtils; import com.android.settings.widget.SettingsMainSwitchBar; @@ -61,8 +63,6 @@ import com.android.settingslib.widget.OnMainSwitchChangeListener; import com.google.android.setupcompat.util.WizardManagerHelper; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.List; import java.util.Locale; @@ -228,7 +228,7 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference R.string.accessibility_shortcut_title, mPackageName); final int dialogType = WizardManagerHelper.isAnySetupWizard(getIntent()) ? DialogType.EDIT_SHORTCUT_GENERIC_SUW : DialogType.EDIT_SHORTCUT_GENERIC; - dialog = AccessibilityEditDialogUtils.showEditShortcutDialog( + dialog = AccessibilityDialogUtils.showEditShortcutDialog( getPrefContext(), dialogType, dialogTitle, this::callOnAlertDialogCheckboxClicked); setupEditShortcutDialog(dialog); @@ -256,56 +256,6 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference } } - /** Denotes the dialog emuns for show dialog */ - @Retention(RetentionPolicy.SOURCE) - protected @interface DialogEnums { - - /** OPEN: Settings > Accessibility > Any toggle service > Shortcut > Settings. */ - int EDIT_SHORTCUT = 1; - - /** OPEN: Settings > Accessibility > Magnification > Shortcut > Settings. */ - int MAGNIFICATION_EDIT_SHORTCUT = 1001; - - /** - * OPEN: Settings > Accessibility > Downloaded toggle service > Toggle use service to - * enable service. - */ - int ENABLE_WARNING_FROM_TOGGLE = 1002; - - /** OPEN: Settings > Accessibility > Downloaded toggle service > Shortcut checkbox. */ - int ENABLE_WARNING_FROM_SHORTCUT = 1003; - - /** - * OPEN: Settings > Accessibility > Downloaded toggle service > Shortcut checkbox - * toggle. - */ - int ENABLE_WARNING_FROM_SHORTCUT_TOGGLE = 1004; - - /** - * OPEN: Settings > Accessibility > Downloaded toggle service > Toggle use service to - * disable service. - */ - int DISABLE_WARNING_FROM_TOGGLE = 1005; - - /** - * OPEN: Settings > Accessibility > Magnification > Toggle user service in button - * navigation. - */ - int ACCESSIBILITY_BUTTON_TUTORIAL = 1006; - - /** - * OPEN: Settings > Accessibility > Magnification > Toggle user service in gesture - * navigation. - */ - int GESTURE_NAVIGATION_TUTORIAL = 1007; - - /** - * OPEN: Settings > Accessibility > Downloaded toggle service > Toggle user service > Show - * launch tutorial. - */ - int LAUNCH_ACCESSIBILITY_TUTORIAL = 1008; - } - @Override public int getMetricsCategory() { return SettingsEnums.ACCESSIBILITY_SERVICE; diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java index 57fd7ea9918..ca33a964725 100644 --- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java @@ -17,6 +17,7 @@ package com.android.settings.accessibility; import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME; +import static com.android.settings.accessibility.AccessibilityDialogUtils.DialogEnums; import static com.android.settings.accessibility.AccessibilityUtil.State.OFF; import static com.android.settings.accessibility.AccessibilityUtil.State.ON; @@ -44,7 +45,7 @@ import androidx.preference.PreferenceCategory; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.DialogCreatable; import com.android.settings.R; -import com.android.settings.accessibility.AccessibilityEditDialogUtils.DialogType; +import com.android.settings.accessibility.AccessibilityDialogUtils.DialogType; import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType; import com.android.settings.utils.LocaleUtils; @@ -134,7 +135,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends final int dialogType = WizardManagerHelper.isAnySetupWizard(getIntent()) ? DialogType.EDIT_SHORTCUT_MAGNIFICATION_SUW : DialogType.EDIT_SHORTCUT_MAGNIFICATION; - dialog = AccessibilityEditDialogUtils.showEditShortcutDialog(getPrefContext(), + dialog = AccessibilityDialogUtils.showEditShortcutDialog(getPrefContext(), dialogType, dialogTitle, this::callOnAlertDialogCheckboxClicked); setupMagnificationEditShortcutDialog(dialog); return dialog; diff --git a/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java index d4b7ea038fe..e3940e7165b 100644 --- a/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java @@ -16,7 +16,7 @@ package com.android.settings.accessibility; -import static com.android.settings.accessibility.AccessibilityEditDialogUtils.CustomButton; +import static com.android.settings.accessibility.AccessibilityDialogUtils.CustomButton; import static com.android.settings.accessibility.MagnificationCapabilities.MagnificationMode; import static com.android.settings.accessibility.MagnificationModePreferenceController.MagnificationModeInfo; import static com.android.settings.accessibility.MagnificationPreferenceFragment.ON; diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java index 4f4185cb81c..471e83d2a1c 100644 --- a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java @@ -43,7 +43,7 @@ import androidx.preference.PreferenceScreen; import androidx.test.core.app.ApplicationProvider; import com.android.settings.R; -import com.android.settings.accessibility.AccessibilityEditDialogUtils.DialogType; +import com.android.settings.accessibility.AccessibilityDialogUtils.DialogType; import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType; import com.android.settings.testutils.shadow.ShadowFragment; @@ -145,7 +145,7 @@ public class ToggleFeaturePreferenceFragmentTest { @Test public void setupEditShortcutDialog_shortcutPreferenceOff_checkboxIsEmptyValue() { mContext.setTheme(R.style.Theme_AppCompat); - final AlertDialog dialog = AccessibilityEditDialogUtils.showEditShortcutDialog( + final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog( mContext, DialogType.EDIT_SHORTCUT_GENERIC, PLACEHOLDER_DIALOG_TITLE, this::callEmptyOnClicked); final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */ @@ -163,7 +163,7 @@ public class ToggleFeaturePreferenceFragmentTest { @Test public void setupEditShortcutDialog_shortcutPreferenceOn_checkboxIsSavedValue() { mContext.setTheme(R.style.Theme_AppCompat); - final AlertDialog dialog = AccessibilityEditDialogUtils.showEditShortcutDialog( + final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog( mContext, DialogType.EDIT_SHORTCUT_GENERIC, PLACEHOLDER_DIALOG_TITLE, this::callEmptyOnClicked); final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */ @@ -185,7 +185,7 @@ public class ToggleFeaturePreferenceFragmentTest { @Config(shadows = ShadowFragment.class) public void restoreValueFromSavedInstanceState_assignToVariable() { mContext.setTheme(R.style.Theme_AppCompat); - final AlertDialog dialog = AccessibilityEditDialogUtils.showEditShortcutDialog( + final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog( mContext, DialogType.EDIT_SHORTCUT_GENERIC, PLACEHOLDER_DIALOG_TITLE, this::callEmptyOnClicked); final Bundle savedInstanceState = new Bundle(); diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java index 43f691e2005..a5811e26dbf 100644 --- a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java @@ -53,7 +53,7 @@ import androidx.test.core.app.ApplicationProvider; import com.android.settings.DialogCreatable; import com.android.settings.R; -import com.android.settings.accessibility.AccessibilityEditDialogUtils.DialogType; +import com.android.settings.accessibility.AccessibilityDialogUtils.DialogType; import com.android.settings.testutils.shadow.ShadowFragment; import com.android.settings.testutils.shadow.ShadowSettingsPreferenceFragment; import com.android.settingslib.core.lifecycle.Lifecycle; @@ -209,7 +209,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest { @Test public void setupMagnificationEditShortcutDialog_shortcutPreferenceOff_checkboxIsEmptyValue() { mContext.setTheme(R.style.Theme_AppCompat); - final AlertDialog dialog = AccessibilityEditDialogUtils.showEditShortcutDialog( + final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog( mContext, DialogType.EDIT_SHORTCUT_MAGNIFICATION, PLACEHOLDER_DIALOG_TITLE, this::callEmptyOnClicked); final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */ @@ -226,7 +226,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest { @Test public void setupMagnificationEditShortcutDialog_shortcutPreferenceOn_checkboxIsSavedValue() { mContext.setTheme(R.style.Theme_AppCompat); - final AlertDialog dialog = AccessibilityEditDialogUtils.showEditShortcutDialog( + final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog( mContext, DialogType.EDIT_SHORTCUT_MAGNIFICATION, PLACEHOLDER_DIALOG_TITLE, this::callEmptyOnClicked); final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */ @@ -247,7 +247,7 @@ public class ToggleScreenMagnificationPreferenceFragmentTest { @Config(shadows = ShadowFragment.class) public void restoreValueFromSavedInstanceState_assignToVariable() { mContext.setTheme(R.style.Theme_AppCompat); - final AlertDialog dialog = AccessibilityEditDialogUtils.showEditShortcutDialog( + final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog( mContext, DialogType.EDIT_SHORTCUT_MAGNIFICATION, PLACEHOLDER_DIALOG_TITLE, this::callEmptyOnClicked); final Bundle savedInstanceState = new Bundle();