Adding MSDL Feedback when swiping up to reveal overview.

Test: AbsSwipeUpHandlerTestCase
Flag: com.android.launcher3.msdl_feedback
Bug: 376282841

Change-Id: I90a76ea72f87066b9f9d33dda055f99d25249e77
This commit is contained in:
Juan Sebastian Martinez
2024-11-21 15:20:13 -08:00
parent 9899283045
commit ce427bfe16
10 changed files with 58 additions and 14 deletions

View File

@@ -30,7 +30,9 @@ import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
import android.animation.ValueAnimator;
@@ -58,14 +60,18 @@ import com.android.launcher3.LauncherRootView;
import com.android.launcher3.dragndrop.DragLayer;
import com.android.launcher3.statemanager.BaseState;
import com.android.launcher3.statemanager.StatefulContainer;
import com.android.launcher3.util.MSDLPlayerWrapper;
import com.android.launcher3.util.SystemUiController;
import com.android.quickstep.fallback.window.RecentsWindowFactory;
import com.android.quickstep.util.ContextInitListener;
import com.android.quickstep.util.MotionPauseDetector;
import com.android.quickstep.views.RecentsView;
import com.android.quickstep.views.RecentsViewContainer;
import com.android.systemui.shared.Flags;
import com.android.systemui.shared.system.InputConsumerController;
import com.google.android.msdl.data.model.MSDLToken;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -123,6 +129,7 @@ public abstract class AbsSwipeUpHandlerTestCase<
@Mock protected LauncherRootView mRootView;
@Mock protected SystemUiController mSystemUiController;
@Mock protected GestureState mGestureState;
@Mock protected MSDLPlayerWrapper mMSDLPlayerWrapper;
@Rule
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
@@ -305,6 +312,17 @@ public abstract class AbsSwipeUpHandlerTestCase<
});
}
@Test
@EnableFlags(com.android.launcher3.Flags.FLAG_MSDL_FEEDBACK)
public void onMotionPauseDetected_playsSwipeThresholdToken() {
SWIPE_HANDLER handler = createSwipeHandler();
MotionPauseDetector.OnMotionPauseListener listener = handler.getMotionPauseListener();
listener.onMotionPauseDetected();
verify(mMSDLPlayerWrapper, times(1)).playToken(eq(MSDLToken.SWIPE_THRESHOLD_INDICATOR));
verifyNoMoreInteractions(mMSDLPlayerWrapper);
}
/**
* Verifies that RecentsAnimationController#finish() is called, and captures and runs any
* callback that was passed to it. This ensures that STATE_CURRENT_TASK_FINISHED is correctly

View File

@@ -49,7 +49,8 @@ public class FallbackSwipeHandlerTestCase extends AbsSwipeUpHandlerTestCase<
mGestureState,
touchTimeMs,
continuingLastGesture,
mInputConsumerController);
mInputConsumerController,
mMSDLPlayerWrapper);
}
@NonNull

View File

@@ -23,6 +23,7 @@ import com.android.launcher3.R
import com.android.launcher3.dagger.LauncherAppComponent
import com.android.launcher3.dagger.LauncherAppSingleton
import com.android.launcher3.util.LauncherModelHelper
import com.android.launcher3.util.MSDLPlayerWrapper
import com.android.quickstep.dagger.QuickStepModule
import com.android.systemui.contextualeducation.GestureType
import com.android.systemui.shared.system.InputConsumerController
@@ -51,6 +52,8 @@ class LauncherSwipeHandlerV2Test {
@Mock private lateinit var systemUiProxy: SystemUiProxy
@Mock private lateinit var msdlPlayerWrapper: MSDLPlayerWrapper
private lateinit var underTest: LauncherSwipeHandlerV2
@get:Rule val mockitoRule = MockitoJUnit.rule()
@@ -79,6 +82,7 @@ class LauncherSwipeHandlerV2Test {
0,
false,
inputConsumerController,
msdlPlayerWrapper,
)
underTest.onGestureStarted(/* isLikelyToStartNewTask= */ false)
}

View File

@@ -78,7 +78,8 @@ public class LauncherSwipeHandlerV2TestCase extends AbsSwipeUpHandlerTestCase<
mGestureState,
touchTimeMs,
continuingLastGesture,
mInputConsumerController);
mInputConsumerController,
mMSDLPlayerWrapper);
}
@NonNull

View File

@@ -65,7 +65,8 @@ public class RecentsWindowSwipeHandlerTestCase extends AbsSwipeUpHandlerTestCase
touchTimeMs,
continuingLastGesture,
mInputConsumerController,
mRecentsWindowFactory);
mRecentsWindowFactory,
mMSDLPlayerWrapper);
}
@Nullable