Refine AccessibilityGestureNavigationTutorial button type

Root cause: It is weird to display positive text for the negative button.
Solution: Change to the positive button.

Bug: 216189516
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityGestureNavigationTutorialTest
Change-Id: I8ffc6b7b5b510fab159a23af83bca4426f2dc81d
This commit is contained in:
menghanli
2022-07-22 15:11:30 +08:00
parent 2675dbf54a
commit 755d691183
2 changed files with 25 additions and 11 deletions

View File

@@ -95,18 +95,20 @@ public final class AccessibilityGestureNavigationTutorial {
* Displays a dialog that guides users to use accessibility features with accessibility * Displays a dialog that guides users to use accessibility features with accessibility
* gestures under system gesture navigation mode. * gestures under system gesture navigation mode.
*/ */
public static void showGestureNavigationTutorialDialog(Context context, public static AlertDialog showGestureNavigationTutorialDialog(Context context,
DialogInterface.OnDismissListener onDismissListener) { DialogInterface.OnDismissListener onDismissListener) {
final AlertDialog alertDialog = new AlertDialog.Builder(context) final AlertDialog alertDialog = new AlertDialog.Builder(context)
.setView(createTutorialDialogContentView(context, .setView(createTutorialDialogContentView(context,
DialogType.GESTURE_NAVIGATION_SETTINGS)) DialogType.GESTURE_NAVIGATION_SETTINGS))
.setNegativeButton(R.string.accessibility_tutorial_dialog_button, mOnClickListener) .setPositiveButton(R.string.accessibility_tutorial_dialog_button, mOnClickListener)
.setOnDismissListener(onDismissListener) .setOnDismissListener(onDismissListener)
.create(); .create();
alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
alertDialog.setCanceledOnTouchOutside(false); alertDialog.setCanceledOnTouchOutside(false);
alertDialog.show(); alertDialog.show();
return alertDialog;
} }
static AlertDialog showAccessibilityGestureTutorialDialog(Context context) { static AlertDialog showAccessibilityGestureTutorialDialog(Context context) {
@@ -128,10 +130,10 @@ public final class AccessibilityGestureNavigationTutorial {
.launch(); .launch();
final AlertDialog alertDialog = new AlertDialog.Builder(context) final AlertDialog alertDialog = new AlertDialog.Builder(context)
.setNegativeButton(R.string.accessibility_tutorial_dialog_link_button,
linkButtonListener)
.setPositiveButton(R.string.accessibility_tutorial_dialog_button, .setPositiveButton(R.string.accessibility_tutorial_dialog_button,
actionButtonListener) actionButtonListener)
.setNegativeButton(R.string.accessibility_tutorial_dialog_link_button,
linkButtonListener)
.create(); .create();
final TutorialPageChangeListener.OnPageSelectedCallback callback = final TutorialPageChangeListener.OnPageSelectedCallback callback =
@@ -194,7 +196,7 @@ public final class AccessibilityGestureNavigationTutorial {
private static AlertDialog createDialog(Context context, int dialogType) { private static AlertDialog createDialog(Context context, int dialogType) {
final AlertDialog alertDialog = new AlertDialog.Builder(context) final AlertDialog alertDialog = new AlertDialog.Builder(context)
.setView(createTutorialDialogContentView(context, dialogType)) .setView(createTutorialDialogContentView(context, dialogType))
.setNegativeButton(R.string.accessibility_tutorial_dialog_button, mOnClickListener) .setPositiveButton(R.string.accessibility_tutorial_dialog_button, mOnClickListener)
.create(); .create();
alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

View File

@@ -18,6 +18,7 @@ package com.android.settings.accessibility;
import static com.android.settings.accessibility.AccessibilityGestureNavigationTutorial.createAccessibilityTutorialDialog; import static com.android.settings.accessibility.AccessibilityGestureNavigationTutorial.createAccessibilityTutorialDialog;
import static com.android.settings.accessibility.AccessibilityGestureNavigationTutorial.createShortcutTutorialPages; import static com.android.settings.accessibility.AccessibilityGestureNavigationTutorial.createShortcutTutorialPages;
import static com.android.settings.accessibility.AccessibilityGestureNavigationTutorial.showGestureNavigationTutorialDialog;
import static com.android.settings.accessibility.AccessibilityUtil.UserShortcutType; import static com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
@@ -55,10 +56,10 @@ public final class AccessibilityGestureNavigationTutorialTest {
@Rule @Rule
public final MockitoRule mMockitoRule = MockitoJUnit.rule(); public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@Mock @Mock
private DialogInterface.OnClickListener mMockOnClickListener; private DialogInterface.OnClickListener mOnClickListener;
@Mock
private DialogInterface.OnDismissListener mOnDismissListener;
private final Context mContext = ApplicationProvider.getApplicationContext(); private final Context mContext = ApplicationProvider.getApplicationContext();
private int mShortcutTypes; private int mShortcutTypes;
@@ -126,12 +127,12 @@ public final class AccessibilityGestureNavigationTutorialTest {
public void performClickOnPositiveButton_turnOnSoftwareShortcut_callOnClickListener() { public void performClickOnPositiveButton_turnOnSoftwareShortcut_callOnClickListener() {
mShortcutTypes |= UserShortcutType.SOFTWARE; mShortcutTypes |= UserShortcutType.SOFTWARE;
final AlertDialog alertDialog = final AlertDialog alertDialog =
createAccessibilityTutorialDialog(mContext, mShortcutTypes, mMockOnClickListener); createAccessibilityTutorialDialog(mContext, mShortcutTypes, mOnClickListener);
alertDialog.show(); alertDialog.show();
alertDialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick(); alertDialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick();
verify(mMockOnClickListener).onClick(alertDialog, DialogInterface.BUTTON_POSITIVE); verify(mOnClickListener).onClick(alertDialog, DialogInterface.BUTTON_POSITIVE);
} }
@Test @Test
@@ -139,7 +140,7 @@ public final class AccessibilityGestureNavigationTutorialTest {
mShortcutTypes |= UserShortcutType.SOFTWARE; mShortcutTypes |= UserShortcutType.SOFTWARE;
Activity activity = Robolectric.buildActivity(Activity.class).create().get(); Activity activity = Robolectric.buildActivity(Activity.class).create().get();
final AlertDialog alertDialog = final AlertDialog alertDialog =
createAccessibilityTutorialDialog(activity, mShortcutTypes, mMockOnClickListener); createAccessibilityTutorialDialog(activity, mShortcutTypes, mOnClickListener);
alertDialog.show(); alertDialog.show();
alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE).performClick(); alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE).performClick();
@@ -151,4 +152,15 @@ public final class AccessibilityGestureNavigationTutorialTest {
assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, -1)) assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, -1))
.isEqualTo(SettingsEnums.SWITCH_SHORTCUT_DIALOG_ACCESSIBILITY_BUTTON_SETTINGS); .isEqualTo(SettingsEnums.SWITCH_SHORTCUT_DIALOG_ACCESSIBILITY_BUTTON_SETTINGS);
} }
@Test
public void performClickOnPositiveButton_turnOnGestureShortcut_callOnDismissListener() {
final AlertDialog alertDialog =
showGestureNavigationTutorialDialog(mContext, mOnDismissListener);
alertDialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick();
assertThat(alertDialog.isShowing()).isFalse();
verify(mOnDismissListener).onDismiss(alertDialog);
}
} }