mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-04 09:56:49 +00:00
Fix TaskViewTouchController crash in seascape
Previously, we were using scroll direction POSITIVE as a catch all to mean "up" but in seascape, we actually want NEGATIVE. Added getUpDirection() to capture that. Tried to clarify the code a bit by putting all the methods used solely by TaskViewTouchController together with documentation. It's still pretty confusing and feels redundant, but couldn't think of an obvious way to simplify. Test: Swipe up and down on a task in all permutations of: - 3 button mode - Gesture navigation - Portrait - Landscape - Seascape - LTR - RTL - Home rotation allowed - Home rotation disallowed Fixes: 174009771 Fixes: 173567204 Change-Id: Id0f8d6f4365d888eb46182d8544d18206795dfb8
This commit is contained in:
@@ -74,11 +74,6 @@ public class LandscapePagedViewHandler implements PagedOrientationHandler {
|
||||
out.screenCenter = insets.top + view.getPaddingTop() + out.scroll + out.halfPageSize;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isGoingUp(float displacement, boolean isRtl) {
|
||||
return isRtl ? displacement < 0 : displacement > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLayoutNaturalToLauncher() {
|
||||
return false;
|
||||
@@ -214,11 +209,6 @@ public class LandscapePagedViewHandler implements PagedOrientationHandler {
|
||||
return view.getHeight() - view.getPaddingBottom() - insets.bottom;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleAxisSwipeDetector.Direction getOppositeSwipeDirection() {
|
||||
return HORIZONTAL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPrimaryTranslationDirectionFactor() {
|
||||
return -1;
|
||||
@@ -228,11 +218,6 @@ public class LandscapePagedViewHandler implements PagedOrientationHandler {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTaskDragDisplacementFactor(boolean isRtl) {
|
||||
return isRtl ? 1 : -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getTaskMenuX(float x, View thumbnailView) {
|
||||
return thumbnailView.getMeasuredWidth() + x;
|
||||
@@ -261,6 +246,31 @@ public class LandscapePagedViewHandler implements PagedOrientationHandler {
|
||||
lp.weight = 1;
|
||||
}
|
||||
|
||||
/* ---------- The following are only used by TaskViewTouchHandler. ---------- */
|
||||
|
||||
@Override
|
||||
public SingleAxisSwipeDetector.Direction getUpDownSwipeDirection() {
|
||||
return HORIZONTAL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getUpDirection(boolean isRtl) {
|
||||
return isRtl ? SingleAxisSwipeDetector.DIRECTION_NEGATIVE
|
||||
: SingleAxisSwipeDetector.DIRECTION_POSITIVE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isGoingUp(float displacement, boolean isRtl) {
|
||||
return isRtl ? displacement < 0 : displacement > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTaskDragDisplacementFactor(boolean isRtl) {
|
||||
return isRtl ? 1 : -1;
|
||||
}
|
||||
|
||||
/* -------------------- */
|
||||
|
||||
@Override
|
||||
public ChildBounds getChildBounds(View child, int childStart, int pageCenter,
|
||||
boolean layoutChild) {
|
||||
|
||||
Reference in New Issue
Block a user