diff --git a/res/values/strings.xml b/res/values/strings.xml index c22ce6ce790..7ccdf2ff539 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -11506,6 +11506,9 @@ Gesture Navigation + + Try a demo + Button navigation diff --git a/res/xml/gesture_navigation_settings.xml b/res/xml/gesture_navigation_settings.xml index a4b5af9d848..60cb189c97f 100644 --- a/res/xml/gesture_navigation_settings.xml +++ b/res/xml/gesture_navigation_settings.xml @@ -23,6 +23,17 @@ android:title="@string/gesture_settings_activity_title" settings:keywords="@string/keywords_gesture_navigation_settings"> + + + + + { + startActivity(mLaunchTutorialIntent); + }); + } + + private boolean isGestureTutorialAvailable() { + Context context = getContext(); + return context != null + && mLaunchTutorialIntent.resolveActivity(context.getPackageManager()) != null; + } + private void initSeekBarPreference(final String key) { final LabeledSeekBarPreference pref = getPreferenceScreen().findPreference(key); pref.setContinuousUpdates(true); diff --git a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java index 9b4da46a98d..cf4a3adab91 100644 --- a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java +++ b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java @@ -78,15 +78,6 @@ public class SystemNavigationGestureSettings extends RadioButtonPickerFragment i private static final String KEY_SHOW_A11Y_TUTORIAL_DIALOG = "show_a11y_tutorial_dialog_bool"; - static final String LAUNCHER_PACKAGE_NAME = "com.google.android.apps.nexuslauncher"; - - static final String ACTION_GESTURE_SANDBOX = "com.android.quickstep.action.GESTURE_SANDBOX"; - - final Intent mLaunchSandboxIntent = new Intent(ACTION_GESTURE_SANDBOX) - .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - .putExtra("use_tutorial_menu", true) - .setPackage(LAUNCHER_PACKAGE_NAME); - private static final int MIN_LARGESCREEN_WIDTH_DP = 600; private boolean mA11yTutorialDialogShown = false; @@ -133,7 +124,6 @@ public class SystemNavigationGestureSettings extends RadioButtonPickerFragment i mVideoPreference.applyDynamicColor(); } setIllustrationVideo(mVideoPreference, getDefaultKey()); - setIllustrationClickListener(mVideoPreference, getDefaultKey()); migrateOverlaySensitivityToSettings(context, mOverlayManager); } @@ -150,6 +140,7 @@ public class SystemNavigationGestureSettings extends RadioButtonPickerFragment i final PreferenceScreen screen = getPreferenceScreen(); screen.removeAll(); screen.addPreference(mVideoPreference); + addPreferencesFromResource(getPreferenceScreenResId()); final List preferenceControllers = PreferenceControllerListHelper .getPreferenceControllersFromXml(getContext(), getPreferenceScreenResId()); @@ -246,40 +237,9 @@ public class SystemNavigationGestureSettings extends RadioButtonPickerFragment i if (!android.provider.Flags.a11yStandaloneGestureEnabled()) { setGestureNavigationTutorialDialog(key); } - setIllustrationClickListener(mVideoPreference, key); return true; } - private boolean isGestureTutorialAvailable() { - Context context = getContext(); - return context != null - && mLaunchSandboxIntent.resolveActivity(context.getPackageManager()) != null; - } - - private void setIllustrationClickListener(IllustrationPreference videoPref, - String systemNavKey) { - - switch (systemNavKey) { - case KEY_SYSTEM_NAV_GESTURAL: - if (isGestureTutorialAvailable()){ - videoPref.setContentDescription(R.string.nav_tutorial_button_description); - videoPref.setOnPreferenceClickListener(preference -> { - startActivity(mLaunchSandboxIntent); - return true; - }); - } else { - videoPref.setOnPreferenceClickListener(null); - } - - break; - case KEY_SYSTEM_NAV_2BUTTONS: - case KEY_SYSTEM_NAV_3BUTTONS: - default: - videoPref.setOnPreferenceClickListener(null); - break; - } - } - static void migrateOverlaySensitivityToSettings(Context context, IOverlayManager overlayManager) { if (!SystemNavigationPreferenceController.isGestureNavigationEnabled(context)) { @@ -338,12 +298,7 @@ public class SystemNavigationGestureSettings extends RadioButtonPickerFragment i String systemNavKey) { switch (systemNavKey) { case KEY_SYSTEM_NAV_GESTURAL: - if (isGestureTutorialAvailable()) { - videoPref.setLottieAnimationResId( - R.raw.lottie_system_nav_fully_gestural_with_nav); - } else { - videoPref.setLottieAnimationResId(R.raw.lottie_system_nav_fully_gestural); - } + videoPref.setLottieAnimationResId(R.raw.lottie_system_nav_fully_gestural); break; case KEY_SYSTEM_NAV_2BUTTONS: videoPref.setLottieAnimationResId(R.raw.lottie_system_nav_2_button);