1 /* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package com.android.quickstep.interaction; 17 18 import android.view.MotionEvent; 19 import android.view.View; 20 21 import androidx.annotation.Nullable; 22 23 import com.android.launcher3.R; 24 import com.android.quickstep.interaction.TutorialController.TutorialType; 25 26 /** Shows the Back gesture interactive tutorial. */ 27 public class BackGestureTutorialFragment extends TutorialFragment { 28 @Nullable 29 @Override getFeedbackVideoResId(boolean forDarkMode)30 Integer getFeedbackVideoResId(boolean forDarkMode) { 31 return R.drawable.gesture_tutorial_motion_back; 32 } 33 34 @Nullable 35 @Override getGestureVideoResId()36 Integer getGestureVideoResId() { 37 return R.drawable.gesture_tutorial_loop_back; 38 } 39 40 @Override createController(TutorialType type)41 TutorialController createController(TutorialType type) { 42 return new BackGestureTutorialController(this, type); 43 } 44 45 @Override getControllerClass()46 Class<? extends TutorialController> getControllerClass() { 47 return BackGestureTutorialController.class; 48 } 49 50 @Override onTouch(View view, MotionEvent motionEvent)51 public boolean onTouch(View view, MotionEvent motionEvent) { 52 if (motionEvent.getAction() == MotionEvent.ACTION_DOWN && mTutorialController != null) { 53 mTutorialController.setRippleHotspot(motionEvent.getX(), motionEvent.getY()); 54 } 55 return super.onTouch(view, motionEvent); 56 } 57 } 58