diff --git a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java index bceed73d4b8..dd8a3ea3aeb 100644 --- a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java +++ b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java @@ -95,18 +95,20 @@ public final class AccessibilityGestureNavigationTutorial { * Displays a dialog that guides users to use accessibility features with accessibility * gestures under system gesture navigation mode. */ - public static void showGestureNavigationTutorialDialog(Context context, + public static AlertDialog showGestureNavigationTutorialDialog(Context context, DialogInterface.OnDismissListener onDismissListener) { final AlertDialog alertDialog = new AlertDialog.Builder(context) .setView(createTutorialDialogContentView(context, DialogType.GESTURE_NAVIGATION_SETTINGS)) - .setNegativeButton(R.string.accessibility_tutorial_dialog_button, mOnClickListener) + .setPositiveButton(R.string.accessibility_tutorial_dialog_button, mOnClickListener) .setOnDismissListener(onDismissListener) .create(); alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); alertDialog.setCanceledOnTouchOutside(false); alertDialog.show(); + + return alertDialog; } static AlertDialog showAccessibilityGestureTutorialDialog(Context context) { @@ -128,10 +130,10 @@ public final class AccessibilityGestureNavigationTutorial { .launch(); final AlertDialog alertDialog = new AlertDialog.Builder(context) - .setNegativeButton(R.string.accessibility_tutorial_dialog_link_button, - linkButtonListener) .setPositiveButton(R.string.accessibility_tutorial_dialog_button, actionButtonListener) + .setNegativeButton(R.string.accessibility_tutorial_dialog_link_button, + linkButtonListener) .create(); final TutorialPageChangeListener.OnPageSelectedCallback callback = @@ -194,7 +196,7 @@ public final class AccessibilityGestureNavigationTutorial { private static AlertDialog createDialog(Context context, int dialogType) { final AlertDialog alertDialog = new AlertDialog.Builder(context) .setView(createTutorialDialogContentView(context, dialogType)) - .setNegativeButton(R.string.accessibility_tutorial_dialog_button, mOnClickListener) + .setPositiveButton(R.string.accessibility_tutorial_dialog_button, mOnClickListener) .create(); alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java index ceb630c6d3b..81cd864f6ae 100644 --- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java @@ -18,6 +18,7 @@ package com.android.settings.accessibility; import static com.android.settings.accessibility.AccessibilityGestureNavigationTutorial.createAccessibilityTutorialDialog; 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.google.common.truth.Truth.assertThat; @@ -55,10 +56,10 @@ public final class AccessibilityGestureNavigationTutorialTest { @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule(); - @Mock - private DialogInterface.OnClickListener mMockOnClickListener; - + private DialogInterface.OnClickListener mOnClickListener; + @Mock + private DialogInterface.OnDismissListener mOnDismissListener; private final Context mContext = ApplicationProvider.getApplicationContext(); private int mShortcutTypes; @@ -126,12 +127,12 @@ public final class AccessibilityGestureNavigationTutorialTest { public void performClickOnPositiveButton_turnOnSoftwareShortcut_callOnClickListener() { mShortcutTypes |= UserShortcutType.SOFTWARE; final AlertDialog alertDialog = - createAccessibilityTutorialDialog(mContext, mShortcutTypes, mMockOnClickListener); + createAccessibilityTutorialDialog(mContext, mShortcutTypes, mOnClickListener); alertDialog.show(); alertDialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick(); - verify(mMockOnClickListener).onClick(alertDialog, DialogInterface.BUTTON_POSITIVE); + verify(mOnClickListener).onClick(alertDialog, DialogInterface.BUTTON_POSITIVE); } @Test @@ -139,7 +140,7 @@ public final class AccessibilityGestureNavigationTutorialTest { mShortcutTypes |= UserShortcutType.SOFTWARE; Activity activity = Robolectric.buildActivity(Activity.class).create().get(); final AlertDialog alertDialog = - createAccessibilityTutorialDialog(activity, mShortcutTypes, mMockOnClickListener); + createAccessibilityTutorialDialog(activity, mShortcutTypes, mOnClickListener); alertDialog.show(); alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE).performClick(); @@ -151,4 +152,15 @@ public final class AccessibilityGestureNavigationTutorialTest { assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, -1)) .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); + } }