Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ada34334 authored by Lucas Silva's avatar Lucas Silva Committed by Android (Google) Code Review
Browse files

Merge "Fix swiping up bouncer on GH" into main

parents fed93f24 4cc106f8
Loading
Loading
Loading
Loading
+4 −3
Original line number Original line Diff line number Diff line
@@ -64,12 +64,12 @@ import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.mockito.MockitoAnnotations;


import java.util.List;
import java.util.Optional;

import platform.test.runner.parameterized.ParameterizedAndroidJunit4;
import platform.test.runner.parameterized.ParameterizedAndroidJunit4;
import platform.test.runner.parameterized.Parameters;
import platform.test.runner.parameterized.Parameters;


import java.util.List;
import java.util.Optional;

@SmallTest
@SmallTest
@RunWith(ParameterizedAndroidJunit4.class)
@RunWith(ParameterizedAndroidJunit4.class)
@EnableFlags(Flags.FLAG_HUBMODE_FULLSCREEN_VERTICAL_SWIPE_FIX)
@EnableFlags(Flags.FLAG_HUBMODE_FULLSCREEN_VERTICAL_SWIPE_FIX)
@@ -171,6 +171,7 @@ public class BouncerFullscreenSwipeTouchHandlerTest extends SysuiTestCase {
                mActivityStarter,
                mActivityStarter,
                mKeyguardInteractor,
                mKeyguardInteractor,
                mSceneInteractor,
                mSceneInteractor,
                mKosmos.getShadeRepository(),
                Optional.of(() -> mWindowRootView));
                Optional.of(() -> mWindowRootView));


        when(mScrimManager.getCurrentController()).thenReturn(mScrimController);
        when(mScrimManager.getCurrentController()).thenReturn(mScrimController);
+20 −3
Original line number Original line Diff line number Diff line
@@ -74,12 +74,12 @@ import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.mockito.MockitoAnnotations;


import java.util.List;
import java.util.Optional;

import platform.test.runner.parameterized.ParameterizedAndroidJunit4;
import platform.test.runner.parameterized.ParameterizedAndroidJunit4;
import platform.test.runner.parameterized.Parameters;
import platform.test.runner.parameterized.Parameters;


import java.util.List;
import java.util.Optional;

@SmallTest
@SmallTest
@RunWith(ParameterizedAndroidJunit4.class)
@RunWith(ParameterizedAndroidJunit4.class)
@DisableFlags(Flags.FLAG_HUBMODE_FULLSCREEN_VERTICAL_SWIPE_FIX)
@DisableFlags(Flags.FLAG_HUBMODE_FULLSCREEN_VERTICAL_SWIPE_FIX)
@@ -187,6 +187,7 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase {
                mActivityStarter,
                mActivityStarter,
                mKeyguardInteractor,
                mKeyguardInteractor,
                mSceneInteractor,
                mSceneInteractor,
                mKosmos.getShadeRepository(),
                Optional.of(() -> mWindowRootView)
                Optional.of(() -> mWindowRootView)
        );
        );


@@ -627,6 +628,22 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase {
        onRemovedCallbackCaptor.getValue().onRemoved();
        onRemovedCallbackCaptor.getValue().onRemoved();
    }
    }


    @Test
    public void testTouchSessionStart_notifiesShadeOfUserInteraction() {
        mTouchHandler.onSessionStart(mTouchSession);

        mKosmos.getTestScope().getTestScheduler().runCurrent();
        assertThat(mKosmos.getShadeRepository().getLegacyShadeTracking().getValue()).isTrue();

        ArgumentCaptor<TouchHandler.TouchSession.Callback> onRemovedCallbackCaptor =
                ArgumentCaptor.forClass(TouchHandler.TouchSession.Callback.class);
        verify(mTouchSession).registerCallback(onRemovedCallbackCaptor.capture());
        onRemovedCallbackCaptor.getValue().onRemoved();

        mKosmos.getTestScope().getTestScheduler().runCurrent();
        assertThat(mKosmos.getShadeRepository().getLegacyShadeTracking().getValue()).isFalse();
    }

    private void swipeToPosition(float percent, float velocityY) {
    private void swipeToPosition(float percent, float velocityY) {
        Mockito.clearInvocations(mTouchSession);
        Mockito.clearInvocations(mTouchSession);
        mTouchHandler.onSessionStart(mTouchSession);
        mTouchHandler.onSessionStart(mTouchSession);
+5 −0
Original line number Original line Diff line number Diff line
@@ -43,6 +43,7 @@ import com.android.systemui.scene.domain.interactor.SceneInteractor
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.scene.ui.view.WindowRootView
import com.android.systemui.scene.ui.view.WindowRootView
import com.android.systemui.shade.ShadeExpansionChangeEvent
import com.android.systemui.shade.ShadeExpansionChangeEvent
import com.android.systemui.shade.data.repository.ShadeRepository
import com.android.systemui.statusbar.NotificationShadeWindowController
import com.android.systemui.statusbar.NotificationShadeWindowController
import com.android.systemui.statusbar.phone.CentralSurfaces
import com.android.systemui.statusbar.phone.CentralSurfaces
import com.android.wm.shell.animation.FlingAnimationUtils
import com.android.wm.shell.animation.FlingAnimationUtils
@@ -79,6 +80,7 @@ constructor(
    private val activityStarter: ActivityStarter,
    private val activityStarter: ActivityStarter,
    private val keyguardInteractor: KeyguardInteractor,
    private val keyguardInteractor: KeyguardInteractor,
    private val sceneInteractor: SceneInteractor,
    private val sceneInteractor: SceneInteractor,
    private val shadeRepository: ShadeRepository,
    private val windowRootViewProvider: Optional<Provider<WindowRootView>>,
    private val windowRootViewProvider: Optional<Provider<WindowRootView>>,
) : TouchHandler {
) : TouchHandler {
    /** An interface for creating ValueAnimators. */
    /** An interface for creating ValueAnimators. */
@@ -260,6 +262,8 @@ constructor(
        }
        }
        scrimManager.addCallback(scrimManagerCallback)
        scrimManager.addCallback(scrimManagerCallback)
        currentScrimController = scrimManager.currentController
        currentScrimController = scrimManager.currentController

        shadeRepository.setLegacyShadeTracking(true)
        session.registerCallback {
        session.registerCallback {
            velocityTracker?.apply { recycle() }
            velocityTracker?.apply { recycle() }
            velocityTracker = null
            velocityTracker = null
@@ -270,6 +274,7 @@ constructor(
            if (!Flags.communalBouncerDoNotModifyPluginOpen()) {
            if (!Flags.communalBouncerDoNotModifyPluginOpen()) {
                notificationShadeWindowController.setForcePluginOpen(false, this)
                notificationShadeWindowController.setForcePluginOpen(false, this)
            }
            }
            shadeRepository.setLegacyShadeTracking(false)
        }
        }
        session.registerGestureListener(onGestureListener)
        session.registerGestureListener(onGestureListener)
        session.registerInputListener { ev: InputEvent -> onMotionEvent(ev) }
        session.registerInputListener { ev: InputEvent -> onMotionEvent(ev) }