Launch oobe from Settings

Bug: 344860480
Flag: com.android.systemui.shared.new_touchpad_gestures_tutorial
Test: Manual
Change-Id: Iabc155d2f99717c6489308ffb1e63ef4e59f0332
diff --git a/Android.bp b/Android.bp
index cb898be..bdc9d37 100644
--- a/Android.bp
+++ b/Android.bp
@@ -85,6 +85,7 @@
         "notification_flags_lib",
         "securebox",
         "android.os.flags-aconfig-java",
+        "//frameworks/libs/systemui:com_android_systemui_shared_flags_lib",
 
         // Settings dependencies
         "FingerprintManagerInteractor",
diff --git a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
index 648a3e6..245901e 100644
--- a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
@@ -16,8 +16,11 @@
 
 package com.android.settings.inputmethod;
 
+import static com.android.systemui.shared.Flags.newTouchpadGesturesTutorial;
+
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.content.Intent;
 import android.util.FeatureFlagUtils;
 
 import androidx.fragment.app.Fragment;
@@ -34,6 +37,7 @@
     private static final int ORDER_BOTTOM = 100;
     private static final String PREFERENCE_KEY = "trackpad_touch_gesture";
     private static final String GESTURE_DIALOG_TAG = "GESTURE_DIALOG_TAG";
+    private static final String TUTORIAL_ACTION = "com.android.systemui.action.TOUCHPAD_TUTORIAL";
 
     private Fragment mParent;
     private MetricsFeatureProvider mMetricsFeatureProvider;
@@ -73,8 +77,15 @@
 
     private void showTouchpadGestureEducation() {
         mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_LEARN_TOUCHPAD_GESTURE_CLICK);
-        TrackpadGestureDialogFragment fragment = new TrackpadGestureDialogFragment();
-        fragment.setTargetFragment(mParent, 0);
-        fragment.show(mParent.getActivity().getSupportFragmentManager(), GESTURE_DIALOG_TAG);
+        if (newTouchpadGesturesTutorial()) {
+            Intent intent = new Intent(TUTORIAL_ACTION);
+            intent.addCategory(Intent.CATEGORY_DEFAULT);
+            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+            mContext.startActivity(intent);
+        } else {
+            TrackpadGestureDialogFragment fragment = new TrackpadGestureDialogFragment();
+            fragment.setTargetFragment(mParent, 0);
+            fragment.show(mParent.getActivity().getSupportFragmentManager(), GESTURE_DIALOG_TAG);
+        }
     }
 }