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

Commit d5ada83c authored by Grace Kloba's avatar Grace Kloba
Browse files

ScaleGestureDetector needs to query the displaymetrics

for the width/height on each touch down as orientation
can change.

This should fix the problem where we can't pinch on the
top right corner when device is in landscape mode.
parent e834722f
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -147,12 +147,9 @@ public class ScaleGestureDetector {

    public ScaleGestureDetector(Context context, OnScaleGestureListener listener) {
        ViewConfiguration config = ViewConfiguration.get(context);
        DisplayMetrics metrics = context.getResources().getDisplayMetrics();
        mContext = context;
        mListener = listener;
        mEdgeSlop = config.getScaledEdgeSlop();
        mRightSlopEdge = metrics.widthPixels - mEdgeSlop;
        mBottomSlopEdge = metrics.heightPixels - mEdgeSlop;
    }

    public boolean onTouchEvent(MotionEvent event) {
@@ -165,6 +162,11 @@ public class ScaleGestureDetector {
                    event.getPointerCount() >= 2) {
                // We have a new multi-finger gesture

                // as orientation can change, query the metrics in touch down
                DisplayMetrics metrics = mContext.getResources().getDisplayMetrics();
                mRightSlopEdge = metrics.widthPixels - mEdgeSlop;
                mBottomSlopEdge = metrics.heightPixels - mEdgeSlop;

                // Be paranoid in case we missed an event
                reset();