summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android/source/src/java/org/libreoffice/FontController.java1
-rw-r--r--android/source/src/java/org/libreoffice/LOKitThread.java14
-rw-r--r--android/source/src/java/org/libreoffice/overlay/DocumentOverlayView.java2
-rw-r--r--android/source/src/java/org/mozilla/gecko/gfx/JavaPanZoomController.java8
4 files changed, 20 insertions, 5 deletions
diff --git a/android/source/src/java/org/libreoffice/FontController.java b/android/source/src/java/org/libreoffice/FontController.java
index 6d0ebee21ba0..db87302cbd4a 100644
--- a/android/source/src/java/org/libreoffice/FontController.java
+++ b/android/source/src/java/org/libreoffice/FontController.java
@@ -51,6 +51,7 @@ public class FontController implements AdapterView.OnItemSelectedListener {
@Override
public void updateColorPickerPosition(int color) {
+ if (null == colorPickerAdapter) return;
colorPickerAdapter.findSelectedTextColor(color);
changeFontColorBoxColor(color);
}
diff --git a/android/source/src/java/org/libreoffice/LOKitThread.java b/android/source/src/java/org/libreoffice/LOKitThread.java
index 99b53397b9d0..c4146fcb6b29 100644
--- a/android/source/src/java/org/libreoffice/LOKitThread.java
+++ b/android/source/src/java/org/libreoffice/LOKitThread.java
@@ -166,6 +166,10 @@ class LOKitThread extends Thread {
* Result is stored in DocumentOverlayView class.
*/
private void updatePartPageRectangles() {
+ if (mTileProvider == null) {
+ Log.d(LOGTAG, "mTileProvider==null when calling updatePartPageRectangles");
+ return;
+ }
String partPageRectString = ((LOKitTileProvider) mTileProvider).getPartPageRectangles();
List<RectF> partPageRectangles = mInvalidationHandler.convertPayloadToRectangles(partPageRectString);
mContext.getDocumentOverlay().setPartPageRectangles(partPageRectangles);
@@ -334,16 +338,19 @@ class LOKitThread extends Thread {
changeHandlePosition(event.mHandleType, event.mDocumentCoordinate);
break;
case LOEvent.SWIPE_LEFT:
- onSwipeLeft();
+ if (null != mTileProvider) onSwipeLeft();
break;
case LOEvent.SWIPE_RIGHT:
- onSwipeRight();
+ if (null != mTileProvider) onSwipeRight();
break;
case LOEvent.NAVIGATION_CLICK:
mInvalidationHandler.changeStateTo(InvalidationHandler.OverlayState.NONE);
break;
case LOEvent.UNO_COMMAND:
- mTileProvider.postUnoCommand(event.mString, event.mValue);
+ if (null == mTileProvider)
+ Log.e(LOGTAG, "no mTileProvider when trying to process "+event.mValue+" from UNO_COMMAND "+event.mString);
+ else
+ mTileProvider.postUnoCommand(event.mString, event.mValue);
break;
case LOEvent.UPDATE_PART_PAGE_RECT:
updatePartPageRectangles();
@@ -361,6 +368,7 @@ class LOKitThread extends Thread {
}
private void updateCalcHeaders() {
+ if (null == mTileProvider) return;
LOKitTileProvider tileProvider = (LOKitTileProvider)mTileProvider;
String values = tileProvider.getCalcHeaders();
mContext.getCalcHeadersController().setHeaders(values);
diff --git a/android/source/src/java/org/libreoffice/overlay/DocumentOverlayView.java b/android/source/src/java/org/libreoffice/overlay/DocumentOverlayView.java
index aed4432f0ad8..00dabc8a8c43 100644
--- a/android/source/src/java/org/libreoffice/overlay/DocumentOverlayView.java
+++ b/android/source/src/java/org/libreoffice/overlay/DocumentOverlayView.java
@@ -284,6 +284,7 @@ public class DocumentOverlayView extends View implements View.OnTouchListener {
* unless there is a change of page number.
*/
public void showPageNumberRect() {
+ if (null == mPartPageRectangles) return;
PointF midPoint = mLayerView.getLayerClient().convertViewPointToLayerPoint(new PointF(getWidth()/2f, getHeight()/2f));
int index = previousIndex;
// search which page the user in currently on. can enhance the search algorithm to binary search if necessary
@@ -311,6 +312,7 @@ public class DocumentOverlayView extends View implements View.OnTouchListener {
* Hide page number rectangle canvas element.
*/
public void hidePageNumberRect() {
+ if (null == mPageNumberRect) return;
if (mPageNumberRect.isVisible()) {
mPageNumberRect.setVisible(false);
invalidate();
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 cf5cd25647a1..60ee318fa625 100644
--- a/android/source/src/java/org/mozilla/gecko/gfx/JavaPanZoomController.java
+++ b/android/source/src/java/org/mozilla/gecko/gfx/JavaPanZoomController.java
@@ -741,7 +741,11 @@ class JavaPanZoomController
float maxZoomFactor = MAX_ZOOM;
ZoomConstraints constraints = mTarget.getZoomConstraints();
+ if (null == constraints) {
+ Log.e(LOGTAG, "zoomConstraits not available - too impatient?");
+ return viewportMetrics;
+ }
if (constraints.getMinZoom() > 0)
minZoomFactor = constraints.getMinZoom();
if (constraints.getMaxZoom() > 0)
@@ -824,7 +828,7 @@ class JavaPanZoomController
if (mState == PanZoomState.ANIMATED_ZOOM)
return false;
- if (!mTarget.getZoomConstraints().getAllowZoom())
+ if (null == mTarget.getZoomConstraints() || !mTarget.getZoomConstraints().getAllowZoom())
return false;
setState(PanZoomState.PINCHING);
@@ -987,7 +991,7 @@ class JavaPanZoomController
@Override
public boolean onDoubleTap(MotionEvent motionEvent) {
- if (!mTarget.getZoomConstraints().getAllowDoubleTapZoom()) {
+ if (null == mTarget.getZoomConstraints() || !mTarget.getZoomConstraints().getAllowDoubleTapZoom()) {
return true;
}
// Double tap zooms in or out depending on the current zoom factor