From 3b9d5843c94d042655d5d43a673cf2738f69c5f9 Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Thu, 6 Aug 2020 15:04:51 -0700 Subject: [PATCH] Fix adjacent page offset in landscape orientation Before, the adjacent tasks were coming in from the top and bottom of the screen rather than the sides. Bug: 149934536 Change-Id: Id6e57dcbc1967d70869df06068d25717de116934 --- .../src/com/android/quickstep/views/RecentsView.java | 4 +++- .../android/launcher3/touch/LandscapePagedViewHandler.java | 5 +++++ src/com/android/launcher3/touch/PagedOrientationHandler.java | 1 + .../android/launcher3/touch/PortraitPagedViewHandler.java | 5 +++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java index 857a020698..5ce6f6ba60 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java @@ -1853,7 +1853,9 @@ public abstract class RecentsView extends PagedView : i < modalMidpoint ? modalLeftOffsetSize : modalRightOffsetSize; - getChildAt(i).setTranslationX(translation + modalTranslation); + float totalTranslation = translation + modalTranslation; + mOrientationHandler.getPrimaryViewTranslate().set(getChildAt(i), + totalTranslation * mOrientationHandler.getPrimaryTranslationDirectionFactor()); } updateCurveProperties(); } diff --git a/src/com/android/launcher3/touch/LandscapePagedViewHandler.java b/src/com/android/launcher3/touch/LandscapePagedViewHandler.java index 1aaa608657..b2740fab3e 100644 --- a/src/com/android/launcher3/touch/LandscapePagedViewHandler.java +++ b/src/com/android/launcher3/touch/LandscapePagedViewHandler.java @@ -214,6 +214,11 @@ public class LandscapePagedViewHandler implements PagedOrientationHandler { return HORIZONTAL; } + @Override + public int getPrimaryTranslationDirectionFactor() { + return -1; + } + @Override public int getTaskDismissDirectionFactor() { return 1; diff --git a/src/com/android/launcher3/touch/PagedOrientationHandler.java b/src/com/android/launcher3/touch/PagedOrientationHandler.java index f88cdb3b0d..4b17c79a33 100644 --- a/src/com/android/launcher3/touch/PagedOrientationHandler.java +++ b/src/com/android/launcher3/touch/PagedOrientationHandler.java @@ -74,6 +74,7 @@ public interface PagedOrientationHandler { int getScrollOffsetStart(View view, Rect insets); int getScrollOffsetEnd(View view, Rect insets); SingleAxisSwipeDetector.Direction getOppositeSwipeDirection(); + int getPrimaryTranslationDirectionFactor(); int getTaskDismissDirectionFactor(); int getTaskDragDisplacementFactor(boolean isRtl); ChildBounds getChildBounds(View child, int childStart, int pageCenter, boolean layoutChild); diff --git a/src/com/android/launcher3/touch/PortraitPagedViewHandler.java b/src/com/android/launcher3/touch/PortraitPagedViewHandler.java index f18b109515..8f1c487f8a 100644 --- a/src/com/android/launcher3/touch/PortraitPagedViewHandler.java +++ b/src/com/android/launcher3/touch/PortraitPagedViewHandler.java @@ -211,6 +211,11 @@ public class PortraitPagedViewHandler implements PagedOrientationHandler { return VERTICAL; } + @Override + public int getPrimaryTranslationDirectionFactor() { + return 1; + } + @Override public int getTaskDismissDirectionFactor() { return -1;