Loading quickstep/src/com/android/quickstep/interaction/BackGestureTutorialController.java +8 −4 Original line number Diff line number Diff line Loading @@ -42,6 +42,13 @@ final class BackGestureTutorialController extends TutorialController { return R.string.back_gesture_intro_subtitle; } @Override public Integer getSuccessFeedbackSubtitle() { return mTutorialFragment.isAtFinalStep() ? R.string.back_gesture_feedback_complete_without_follow_up : R.string.back_gesture_feedback_complete_with_overview_follow_up; } @Override protected int getMockAppTaskLayoutResId() { return getMockAppTaskCurrentPageLayoutResId(); Loading Loading @@ -85,10 +92,7 @@ final class BackGestureTutorialController extends TutorialController { case BACK_COMPLETED_FROM_RIGHT: mTutorialFragment.releaseFeedbackAnimation(); updateFakeAppTaskViewLayout(getMockAppTaskPreviousPageLayoutResId()); int subtitleResId = mTutorialFragment.isAtFinalStep() ? R.string.back_gesture_feedback_complete_without_follow_up : R.string.back_gesture_feedback_complete_with_overview_follow_up; showFeedback(subtitleResId, true); showSuccessFeedback(); break; case BACK_CANCELLED_FROM_LEFT: case BACK_CANCELLED_FROM_RIGHT: Loading quickstep/src/com/android/quickstep/interaction/GestureSandboxActivity.java +5 −4 Original line number Diff line number Diff line Loading @@ -35,10 +35,9 @@ import java.util.List; /** Shows the gesture interactive sandbox in full screen mode. */ public class GestureSandboxActivity extends FragmentActivity { private static final String LOG_TAG = "GestureSandboxActivity"; private static final String KEY_TUTORIAL_STEPS = "tutorial_steps"; private static final String KEY_CURRENT_STEP = "current_step"; private static final String KEY_GESTURE_COMPLETE = "gesture_complete"; private TutorialType[] mTutorialSteps; private TutorialType mCurrentTutorialStep; Loading @@ -56,7 +55,8 @@ public class GestureSandboxActivity extends FragmentActivity { Bundle args = savedInstanceState == null ? getIntent().getExtras() : savedInstanceState; mTutorialSteps = getTutorialSteps(args); mCurrentTutorialStep = mTutorialSteps[mCurrentStep - 1]; mFragment = TutorialFragment.newInstance(mCurrentTutorialStep); mFragment = TutorialFragment.newInstance( mCurrentTutorialStep, args.getBoolean(KEY_GESTURE_COMPLETE, false)); getSupportFragmentManager().beginTransaction() .add(R.id.gesture_tutorial_fragment_container, mFragment) .commit(); Loading Loading @@ -87,6 +87,7 @@ public class GestureSandboxActivity extends FragmentActivity { protected void onSaveInstanceState(@NonNull Bundle savedInstanceState) { savedInstanceState.putStringArray(KEY_TUTORIAL_STEPS, getTutorialStepNames()); savedInstanceState.putInt(KEY_CURRENT_STEP, mCurrentStep); savedInstanceState.putBoolean(KEY_GESTURE_COMPLETE, mFragment.isGestureComplete()); super.onSaveInstanceState(savedInstanceState); } Loading Loading @@ -121,7 +122,7 @@ public class GestureSandboxActivity extends FragmentActivity { return; } mCurrentTutorialStep = mTutorialSteps[mCurrentStep]; mFragment = TutorialFragment.newInstance(mCurrentTutorialStep); mFragment = TutorialFragment.newInstance(mCurrentTutorialStep, false); getSupportFragmentManager().beginTransaction() .replace(R.id.gesture_tutorial_fragment_container, mFragment) .runOnCommit(() -> mFragment.onAttachedToWindow()) Loading quickstep/src/com/android/quickstep/interaction/HomeGestureTutorialController.java +8 −4 Original line number Diff line number Diff line Loading @@ -41,6 +41,13 @@ final class HomeGestureTutorialController extends SwipeUpGestureTutorialControll return R.string.home_gesture_intro_subtitle; } @Override public Integer getSuccessFeedbackSubtitle() { return mTutorialFragment.isAtFinalStep() ? R.string.home_gesture_feedback_complete_without_follow_up : R.string.home_gesture_feedback_complete_with_follow_up; } @Override protected int getMockAppTaskLayoutResId() { return mTutorialFragment.isLargeScreen() Loading Loading @@ -84,10 +91,7 @@ final class HomeGestureTutorialController extends SwipeUpGestureTutorialControll case HOME_GESTURE_COMPLETED: { mTutorialFragment.releaseFeedbackAnimation(); animateFakeTaskViewHome(finalVelocity, null); int subtitleResId = mTutorialFragment.isAtFinalStep() ? R.string.home_gesture_feedback_complete_without_follow_up : R.string.home_gesture_feedback_complete_with_follow_up; showFeedback(subtitleResId, true); showSuccessFeedback(); break; } case HOME_NOT_STARTED_TOO_FAR_FROM_EDGE: Loading quickstep/src/com/android/quickstep/interaction/OverviewGestureTutorialController.java +8 −5 Original line number Diff line number Diff line Loading @@ -51,6 +51,13 @@ final class OverviewGestureTutorialController extends SwipeUpGestureTutorialCont return R.string.overview_gesture_intro_subtitle; } @Override public Integer getSuccessFeedbackSubtitle() { return mTutorialFragment.getNumSteps() > 1 && mTutorialFragment.isAtFinalStep() ? R.string.overview_gesture_feedback_complete_with_follow_up : R.string.overview_gesture_feedback_complete_without_follow_up; } @Override protected int getMockAppTaskLayoutResId() { return mTutorialFragment.isLargeScreen() Loading Loading @@ -106,11 +113,7 @@ final class OverviewGestureTutorialController extends SwipeUpGestureTutorialCont mTutorialFragment.releaseFeedbackAnimation(); animateTaskViewToOverview(); onMotionPaused(true /*arbitrary value*/); int subtitleResId = mTutorialFragment.getNumSteps() > 1 && mTutorialFragment.isAtFinalStep() ? R.string.overview_gesture_feedback_complete_with_follow_up : R.string.overview_gesture_feedback_complete_without_follow_up; showFeedback(subtitleResId, true); showSuccessFeedback(); break; case HOME_OR_OVERVIEW_NOT_STARTED_WRONG_SWIPE_DIRECTION: case HOME_OR_OVERVIEW_CANCELLED: Loading quickstep/src/com/android/quickstep/interaction/TutorialController.java +12 −0 Original line number Diff line number Diff line Loading @@ -223,6 +223,11 @@ abstract class TutorialController implements BackGestureAttemptCallback, return null; } @StringRes public Integer getSuccessFeedbackSubtitle() { return null; } void showFeedback() { if (mGestureCompleted) { mFeedbackView.setTranslationY(0); Loading @@ -235,6 +240,13 @@ abstract class TutorialController implements BackGestureAttemptCallback, } } /** * Show feedback reflecting a successful gesture attempt. **/ void showSuccessFeedback() { showFeedback(getSuccessFeedbackSubtitle(), true); } /** * Show feedback reflecting a failed gesture attempt. * Loading Loading
quickstep/src/com/android/quickstep/interaction/BackGestureTutorialController.java +8 −4 Original line number Diff line number Diff line Loading @@ -42,6 +42,13 @@ final class BackGestureTutorialController extends TutorialController { return R.string.back_gesture_intro_subtitle; } @Override public Integer getSuccessFeedbackSubtitle() { return mTutorialFragment.isAtFinalStep() ? R.string.back_gesture_feedback_complete_without_follow_up : R.string.back_gesture_feedback_complete_with_overview_follow_up; } @Override protected int getMockAppTaskLayoutResId() { return getMockAppTaskCurrentPageLayoutResId(); Loading Loading @@ -85,10 +92,7 @@ final class BackGestureTutorialController extends TutorialController { case BACK_COMPLETED_FROM_RIGHT: mTutorialFragment.releaseFeedbackAnimation(); updateFakeAppTaskViewLayout(getMockAppTaskPreviousPageLayoutResId()); int subtitleResId = mTutorialFragment.isAtFinalStep() ? R.string.back_gesture_feedback_complete_without_follow_up : R.string.back_gesture_feedback_complete_with_overview_follow_up; showFeedback(subtitleResId, true); showSuccessFeedback(); break; case BACK_CANCELLED_FROM_LEFT: case BACK_CANCELLED_FROM_RIGHT: Loading
quickstep/src/com/android/quickstep/interaction/GestureSandboxActivity.java +5 −4 Original line number Diff line number Diff line Loading @@ -35,10 +35,9 @@ import java.util.List; /** Shows the gesture interactive sandbox in full screen mode. */ public class GestureSandboxActivity extends FragmentActivity { private static final String LOG_TAG = "GestureSandboxActivity"; private static final String KEY_TUTORIAL_STEPS = "tutorial_steps"; private static final String KEY_CURRENT_STEP = "current_step"; private static final String KEY_GESTURE_COMPLETE = "gesture_complete"; private TutorialType[] mTutorialSteps; private TutorialType mCurrentTutorialStep; Loading @@ -56,7 +55,8 @@ public class GestureSandboxActivity extends FragmentActivity { Bundle args = savedInstanceState == null ? getIntent().getExtras() : savedInstanceState; mTutorialSteps = getTutorialSteps(args); mCurrentTutorialStep = mTutorialSteps[mCurrentStep - 1]; mFragment = TutorialFragment.newInstance(mCurrentTutorialStep); mFragment = TutorialFragment.newInstance( mCurrentTutorialStep, args.getBoolean(KEY_GESTURE_COMPLETE, false)); getSupportFragmentManager().beginTransaction() .add(R.id.gesture_tutorial_fragment_container, mFragment) .commit(); Loading Loading @@ -87,6 +87,7 @@ public class GestureSandboxActivity extends FragmentActivity { protected void onSaveInstanceState(@NonNull Bundle savedInstanceState) { savedInstanceState.putStringArray(KEY_TUTORIAL_STEPS, getTutorialStepNames()); savedInstanceState.putInt(KEY_CURRENT_STEP, mCurrentStep); savedInstanceState.putBoolean(KEY_GESTURE_COMPLETE, mFragment.isGestureComplete()); super.onSaveInstanceState(savedInstanceState); } Loading Loading @@ -121,7 +122,7 @@ public class GestureSandboxActivity extends FragmentActivity { return; } mCurrentTutorialStep = mTutorialSteps[mCurrentStep]; mFragment = TutorialFragment.newInstance(mCurrentTutorialStep); mFragment = TutorialFragment.newInstance(mCurrentTutorialStep, false); getSupportFragmentManager().beginTransaction() .replace(R.id.gesture_tutorial_fragment_container, mFragment) .runOnCommit(() -> mFragment.onAttachedToWindow()) Loading
quickstep/src/com/android/quickstep/interaction/HomeGestureTutorialController.java +8 −4 Original line number Diff line number Diff line Loading @@ -41,6 +41,13 @@ final class HomeGestureTutorialController extends SwipeUpGestureTutorialControll return R.string.home_gesture_intro_subtitle; } @Override public Integer getSuccessFeedbackSubtitle() { return mTutorialFragment.isAtFinalStep() ? R.string.home_gesture_feedback_complete_without_follow_up : R.string.home_gesture_feedback_complete_with_follow_up; } @Override protected int getMockAppTaskLayoutResId() { return mTutorialFragment.isLargeScreen() Loading Loading @@ -84,10 +91,7 @@ final class HomeGestureTutorialController extends SwipeUpGestureTutorialControll case HOME_GESTURE_COMPLETED: { mTutorialFragment.releaseFeedbackAnimation(); animateFakeTaskViewHome(finalVelocity, null); int subtitleResId = mTutorialFragment.isAtFinalStep() ? R.string.home_gesture_feedback_complete_without_follow_up : R.string.home_gesture_feedback_complete_with_follow_up; showFeedback(subtitleResId, true); showSuccessFeedback(); break; } case HOME_NOT_STARTED_TOO_FAR_FROM_EDGE: Loading
quickstep/src/com/android/quickstep/interaction/OverviewGestureTutorialController.java +8 −5 Original line number Diff line number Diff line Loading @@ -51,6 +51,13 @@ final class OverviewGestureTutorialController extends SwipeUpGestureTutorialCont return R.string.overview_gesture_intro_subtitle; } @Override public Integer getSuccessFeedbackSubtitle() { return mTutorialFragment.getNumSteps() > 1 && mTutorialFragment.isAtFinalStep() ? R.string.overview_gesture_feedback_complete_with_follow_up : R.string.overview_gesture_feedback_complete_without_follow_up; } @Override protected int getMockAppTaskLayoutResId() { return mTutorialFragment.isLargeScreen() Loading Loading @@ -106,11 +113,7 @@ final class OverviewGestureTutorialController extends SwipeUpGestureTutorialCont mTutorialFragment.releaseFeedbackAnimation(); animateTaskViewToOverview(); onMotionPaused(true /*arbitrary value*/); int subtitleResId = mTutorialFragment.getNumSteps() > 1 && mTutorialFragment.isAtFinalStep() ? R.string.overview_gesture_feedback_complete_with_follow_up : R.string.overview_gesture_feedback_complete_without_follow_up; showFeedback(subtitleResId, true); showSuccessFeedback(); break; case HOME_OR_OVERVIEW_NOT_STARTED_WRONG_SWIPE_DIRECTION: case HOME_OR_OVERVIEW_CANCELLED: Loading
quickstep/src/com/android/quickstep/interaction/TutorialController.java +12 −0 Original line number Diff line number Diff line Loading @@ -223,6 +223,11 @@ abstract class TutorialController implements BackGestureAttemptCallback, return null; } @StringRes public Integer getSuccessFeedbackSubtitle() { return null; } void showFeedback() { if (mGestureCompleted) { mFeedbackView.setTranslationY(0); Loading @@ -235,6 +240,13 @@ abstract class TutorialController implements BackGestureAttemptCallback, } } /** * Show feedback reflecting a successful gesture attempt. **/ void showSuccessFeedback() { showFeedback(getSuccessFeedbackSubtitle(), true); } /** * Show feedback reflecting a failed gesture attempt. * Loading