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

Commit d0d3b924 authored by Arthur Hung's avatar Arthur Hung Committed by Automerger Merge Worker
Browse files

Merge "Fix back gesture send to wrong focus window" into tm-dev am: 4bf81d57...

Merge "Fix back gesture send to wrong focus window" into tm-dev am: 4bf81d57 am: dc621522 am: e437099d

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17990066



Change-Id: Iaf29d93850ddf2cbb0eb335855c739675f05b12f
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 500df7f0 e437099d
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -246,9 +246,13 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont
     * {@link BackAnimationController}
     */
    public void onMotionEvent(MotionEvent event, int action, @BackEvent.SwipeEdge int swipeEdge) {
        if (action == MotionEvent.ACTION_DOWN) {
        if (action == MotionEvent.ACTION_MOVE) {
            if (!mBackGestureStarted) {
                // Let the animation initialized here to make sure the onPointerDownOutsideFocus
                // could be happened when ACTION_DOWN, it may change the current focus that we
                // would access it when startBackNavigation.
                initAnimation(event);
        } else if (action == MotionEvent.ACTION_MOVE) {
            }
            onMove(event, swipeEdge);
        } else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) {
            ProtoLog.d(WM_SHELL_BACK_PREVIEW,
+2 −3
Original line number Diff line number Diff line
@@ -209,12 +209,11 @@ public class BackAnimationControllerTest {
        createNavigationInfo(animationTarget, null, null,
                BackNavigationInfo.TYPE_RETURN_TO_HOME, null);

        // Check that back start is dispatched.
        doMotionEvent(MotionEvent.ACTION_DOWN, 0);
        verify(mIOnBackInvokedCallback).onBackStarted();

        // Check that back progress is dispatched.
        // Check that back start and progress is dispatched when first move.
        doMotionEvent(MotionEvent.ACTION_MOVE, 100);
        verify(mIOnBackInvokedCallback).onBackStarted();
        ArgumentCaptor<BackEvent> backEventCaptor = ArgumentCaptor.forClass(BackEvent.class);
        verify(mIOnBackInvokedCallback).onBackProgressed(backEventCaptor.capture());
        assertEquals(animationTarget, backEventCaptor.getValue().getDepartingAnimationTarget());
+1 −8
Original line number Diff line number Diff line
@@ -124,8 +124,7 @@ class BackNavigationController {
                    LocalServices.getService(WindowManagerInternal.class);
            IBinder focusedWindowToken = windowManagerInternal.getFocusedWindowToken();

            window = wmService.windowForClientLocked(null, focusedWindowToken,
                    false /* throwOnError */);
            window = wmService.getFocusedWindowLocked();

            if (window == null) {
                EmbeddedWindowController.EmbeddedWindow embeddedWindow =
@@ -146,12 +145,6 @@ class BackNavigationController {
                        "Focused window found using getFocusedWindowToken");
            }

            if (window == null) {
                window = wmService.getFocusedWindowLocked();
                ProtoLog.d(WM_DEBUG_BACK_PREVIEW,
                        "Focused window found using wmService.getFocusedWindowLocked()");
            }

            if (window == null) {
                // We don't have any focused window, fallback ont the top currentTask of the focused
                // display.
+1 −0
Original line number Diff line number Diff line
@@ -306,6 +306,7 @@ public class BackNavigationControllerTests extends WindowTestsBase {
        if (focus) {
            doReturn(window.getWindowInfo().token)
                    .when(mWindowManagerInternal).getFocusedWindowToken();
            doReturn(window).when(mWm).getFocusedWindowLocked();
        }
    }
}