From d339bba78ada3655097e96c82eeb886818ee5080 Mon Sep 17 00:00:00 2001 From: aleksandar-stefanovic Date: Wed, 25 Jan 2017 20:28:21 +0100 Subject: Removed static context from JavaPanZoomController Removed static context, and edited the access levels of some methods in the classes, along with some general code style fixes. Change-Id: I89c71fa38eaafb5cda721602cfc8dad10ba7d26a Reviewed-on: https://gerrit.libreoffice.org/33557 Reviewed-by: Christian Lohmaier Tested-by: Christian Lohmaier --- .../org/mozilla/gecko/gfx/GeckoLayerClient.java | 22 +++++++-------- .../mozilla/gecko/gfx/JavaPanZoomController.java | 24 +++++++++-------- .../org/mozilla/gecko/gfx/PanZoomController.java | 31 +++++++++++----------- 3 files changed, 38 insertions(+), 39 deletions(-) diff --git a/android/source/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java b/android/source/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java index fdcdb1ba51f0..12c939690200 100644 --- a/android/source/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java +++ b/android/source/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java @@ -5,7 +5,7 @@ package org.mozilla.gecko.gfx; -import android.content.Context; +import org.libreoffice.LibreOfficeMainActivity; import android.graphics.PointF; import android.graphics.RectF; import android.util.DisplayMetrics; @@ -20,7 +20,7 @@ public class GeckoLayerClient implements PanZoomTarget { private LayerRenderer mLayerRenderer; - private Context mContext; + private LibreOfficeMainActivity mContext; private IntSize mScreenSize; private DisplayPortMetrics mDisplayPort; @@ -50,7 +50,7 @@ public class GeckoLayerClient implements PanZoomTarget { private PanZoomController mPanZoomController; private LayerView mView; - public GeckoLayerClient(Context context) { + public GeckoLayerClient(LibreOfficeMainActivity context) { // we can fill these in with dummy values because they are always written // to before being read mContext = context; @@ -65,7 +65,7 @@ public class GeckoLayerClient implements PanZoomTarget { public void setView(LayerView view) { mView = view; - mPanZoomController = PanZoomController.Factory.create(this, view); + mPanZoomController = PanZoomController.Factory.create(mContext, this, view); mView.connect(this); } @@ -87,10 +87,6 @@ public class GeckoLayerClient implements PanZoomTarget { mPanZoomController.destroy(); } - public Context getContext() { - return mContext; - } - Layer getRoot() { return mIsReady ? mRootLayer : null; } @@ -132,7 +128,7 @@ public class GeckoLayerClient implements PanZoomTarget { sendResizeEventIfNecessary(); } - public PanZoomController getPanZoomController() { + PanZoomController getPanZoomController() { return mPanZoomController; } @@ -173,7 +169,7 @@ public class GeckoLayerClient implements PanZoomTarget { }); } - void adjustViewport(DisplayPortMetrics displayPort) { + private void adjustViewport(DisplayPortMetrics displayPort) { ImmutableViewportMetrics metrics = getViewportMetrics(); ImmutableViewportMetrics clampedMetrics = metrics.clamp(); @@ -221,7 +217,7 @@ public class GeckoLayerClient implements PanZoomTarget { } } - DisplayPortMetrics getDisplayPort() { + private DisplayPortMetrics getDisplayPort() { return mDisplayPort; } @@ -235,7 +231,7 @@ public class GeckoLayerClient implements PanZoomTarget { mRootLayer.endTransaction(); } - public void geometryChanged() { + private void geometryChanged() { sendResizeEventIfNecessary(); if (getRedrawHint()) { adjustViewport(null); @@ -342,7 +338,7 @@ public class GeckoLayerClient implements PanZoomTarget { } /* Root Layer Access */ - public void reevaluateTiles() { + private void reevaluateTiles() { mLowResLayer.reevaluateTiles(mViewportMetrics, mDisplayPort); mRootLayer.reevaluateTiles(mViewportMetrics, mDisplayPort); } diff --git a/android/source/src/java/org/mozilla/gecko/gfx/JavaPanZoomController.java b/android/source/src/java/org/mozilla/gecko/gfx/JavaPanZoomController.java index 3987b00b6773..131c534afe20 100644 --- a/android/source/src/java/org/mozilla/gecko/gfx/JavaPanZoomController.java +++ b/android/source/src/java/org/mozilla/gecko/gfx/JavaPanZoomController.java @@ -28,7 +28,7 @@ import java.util.TimerTask; * Many ideas are from Joe Hewitt's Scrollability: * https://github.com/joehewitt/scrollability/ */ -public class JavaPanZoomController +class JavaPanZoomController extends GestureDetector.SimpleOnGestureListener implements PanZoomController, SimpleScaleGestureDetector.SimpleScaleGestureListener { @@ -77,6 +77,7 @@ public class JavaPanZoomController private final Axis mY; private final TouchEventHandler mTouchEventHandler; private Thread mMainThread; + private LibreOfficeMainActivity mContext; /* The timer that handles flings or bounces. */ private Timer mAnimationTimer; @@ -91,7 +92,8 @@ public class JavaPanZoomController /* Whether or not to wait for a double-tap before dispatching a single-tap */ private boolean mWaitForDoubleTap; - public JavaPanZoomController(PanZoomTarget target, View view) { + JavaPanZoomController(LibreOfficeMainActivity context, PanZoomTarget target, View view) { + mContext = context; PAN_THRESHOLD = 1/16f * LOKitShell.getDpi(view.getContext()); MAX_SCROLL = 0.075f * LOKitShell.getDpi(view.getContext()); mTarget = target; @@ -100,7 +102,7 @@ public class JavaPanZoomController mY = new AxisY(mSubscroller); mTouchEventHandler = new TouchEventHandler(view.getContext(), view, this); - mMainThread = LibreOfficeMainActivity.mAppContext.getMainLooper().getThread(); + mMainThread = mContext.getMainLooper().getThread(); checkMainThread(); setState(PanZoomState.NOTHING); @@ -111,7 +113,7 @@ public class JavaPanZoomController mTouchEventHandler.destroy(); } - private static final float easeOut(float t) { + private static float easeOut(float t) { // ease-out approx. // -(t-1)^2+1 t = t-1; @@ -202,7 +204,7 @@ public class JavaPanZoomController } /** This function must be called on the UI thread. */ - public void startingNewEventBlock(MotionEvent event, boolean waitingForTouchListeners) { + void startingNewEventBlock(MotionEvent event, boolean waitingForTouchListeners) { checkMainThread(); mSubscroller.cancel(); if (waitingForTouchListeners && (event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_DOWN) { @@ -214,7 +216,7 @@ public class JavaPanZoomController } /** This function must be called on the UI thread. */ - public void preventedTouchFinished() { + void preventedTouchFinished() { checkMainThread(); if (mState == PanZoomState.WAITING_LISTENERS) { // if we enter here, we just finished a block of events whose default actions @@ -276,7 +278,7 @@ public class JavaPanZoomController private boolean handleTouchMove(MotionEvent event) { if (mState == PanZoomState.PANNING_LOCKED || mState == PanZoomState.PANNING) { if (getVelocity() > 18.0f) { - LibreOfficeMainActivity.mAppContext.hideSoftKeyboard(); + mContext.hideSoftKeyboard(); } } @@ -555,7 +557,7 @@ public class JavaPanZoomController return getVelocity() < STOPPED_THRESHOLD; } - PointF resetDisplacement() { + private PointF resetDisplacement() { return new PointF(mX.resetDisplacement(), mY.resetDisplacement()); } @@ -593,7 +595,7 @@ public class JavaPanZoomController protected abstract void animateFrame(); /* This should always run on the UI thread */ - protected final void terminate() { + final void terminate() { mAnimationTerminated = true; } } @@ -986,7 +988,7 @@ public class JavaPanZoomController * While we usually use device pixels, zoomToRect must be specified in CSS * pixels. */ - public boolean animatedZoomTo(RectF zoomToRect) { + boolean animatedZoomTo(RectF zoomToRect) { final float startZoom = getMetrics().zoomFactor; RectF viewport = getMetrics().getViewport(); @@ -1030,7 +1032,7 @@ public class JavaPanZoomController * Move the viewport to the top-left point to and zoom to the desired * zoom factor. Input zoom factor can be null, in this case leave the zoom unchanged. */ - public boolean animatedMove(PointF topLeft, Float zoom) { + boolean animatedMove(PointF topLeft, Float zoom) { RectF moveToRect = getMetrics().getCssViewport(); moveToRect.offsetTo(topLeft.x, topLeft.y); diff --git a/android/source/src/java/org/mozilla/gecko/gfx/PanZoomController.java b/android/source/src/java/org/mozilla/gecko/gfx/PanZoomController.java index dd0de0caf898..ebcd641f21af 100644 --- a/android/source/src/java/org/mozilla/gecko/gfx/PanZoomController.java +++ b/android/source/src/java/org/mozilla/gecko/gfx/PanZoomController.java @@ -8,28 +8,29 @@ package org.mozilla.gecko.gfx; import android.graphics.PointF; import android.view.MotionEvent; import android.view.View; +import org.libreoffice.LibreOfficeMainActivity; -public interface PanZoomController { +interface PanZoomController { - static class Factory { - static PanZoomController create(PanZoomTarget target, View view) { - return new JavaPanZoomController(target, view); + class Factory { + static PanZoomController create(LibreOfficeMainActivity context, PanZoomTarget target, View view) { + return new JavaPanZoomController(context, target, view); } } - public void destroy(); + void destroy(); - public boolean onTouchEvent(MotionEvent event); - public boolean onMotionEvent(MotionEvent event); - public void notifyDefaultActionPrevented(boolean prevented); + boolean onTouchEvent(MotionEvent event); + boolean onMotionEvent(MotionEvent event); + void notifyDefaultActionPrevented(boolean prevented); - public boolean getRedrawHint(); - public PointF getVelocityVector(); + boolean getRedrawHint(); + PointF getVelocityVector(); - public void pageRectUpdated(); - public void abortPanning(); - public void abortAnimation(); + void pageRectUpdated(); + void abortPanning(); + void abortAnimation(); - public void setOverScrollMode(int overscrollMode); - public int getOverScrollMode(); + void setOverScrollMode(int overscrollMode); + int getOverScrollMode(); } -- cgit