[Libreoffice-commits] core.git: Branch 'feature/droid_calcimpress3' - 2 commits - android/experimental

Tomaž Vajngerl tomaz.vajngerl at collabora.com
Wed Oct 1 08:44:52 PDT 2014


 android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java             |    5 ----
 android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java            |    5 ++--
 android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/DynamicTileLayer.java |    7 +++++
 android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java |   12 +---------
 4 files changed, 11 insertions(+), 18 deletions(-)

New commits:
commit 65bf7c7e0bdeb6c59edd081695ea4092a81d24b9
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Wed Oct 1 17:46:03 2014 +0200

    android: fix redrawing everyting on part change (via sidebar)
    
    Change-Id: If7aeeca3da65f44dfe1f9a5bc347baf4e3cadd82

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
index 54478bf..31b9eb5 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
@@ -46,10 +46,11 @@ public class LOKitThread extends Thread {
             mApplication.getLayerController().getView().changeCheckerboardBitmap(bitmap, mTileProvider.getPageWidth(), mTileProvider.getPageHeight());
         }
 
-        mLayerClient.clearAllTiles();
-
+        mLayerClient.clearAndResetlayers();
+        draw();
         RectF rect = new RectF(0, 0, mTileProvider.getPageWidth(), mTileProvider.getPageHeight());
         mController.setPageRect(rect, rect);
+        mController.setViewportMetrics(mController.getViewportMetrics());
         mController.setForceRedraw();
     }
 
diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/DynamicTileLayer.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/DynamicTileLayer.java
index c6c7d7938..1ad8d38 100644
--- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/DynamicTileLayer.java
+++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/DynamicTileLayer.java
@@ -195,7 +195,7 @@ public class DynamicTileLayer extends Layer {
         }
     }
 
-    public void clearAllTiles() {
+    public void clearAndReset() {
         tiles.clear();
         currentViewport = new RectF();
     }
diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
index 5905d4a..23095ef 100644
--- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
+++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
@@ -264,8 +264,8 @@ public class GeckoLayerClient implements LayerView.Listener {
         mRootLayer.reevaluateTiles(mLayerController.getViewportMetrics());
     }
 
-    public void clearAllTiles() {
-        mRootLayer.clearAllTiles();
+    public void clearAndResetlayers() {
+        mRootLayer.clearAndReset();
     }
 
     private class AdjustRunnable implements Runnable {
commit ecd6cc3014d9039f48b2bbd7bfcea3e6d433c15c
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Wed Oct 1 17:41:02 2014 +0200

    android: null safeguards and cleanup unneeded calls
    
    Change-Id: I0ffcfb0fbaa03e5035bec9dd1ffed21f85972470

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java
index 859a3d8..332e0f8 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java
@@ -3,7 +3,6 @@ package org.libreoffice;
 
 import android.os.Handler;
 import android.util.DisplayMetrics;
-import android.util.Log;
 
 
 public class LOKitShell {
@@ -20,10 +19,6 @@ public class LOKitShell {
         }
     }
 
-    public static void viewSizeChanged() {
-        Log.i(LOGTAG, "viewSizeChanged");
-    }
-
     // Get a Handler for the main java thread
     public static Handler getMainHandler() {
         return LibreOfficeMainActivity.mAppContext.mMainHandler;
diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/DynamicTileLayer.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/DynamicTileLayer.java
index 03da4bf..c6c7d7938 100644
--- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/DynamicTileLayer.java
+++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/DynamicTileLayer.java
@@ -131,6 +131,10 @@ public class DynamicTileLayer extends Layer {
     }
 
     public void reevaluateTiles(ImmutableViewportMetrics viewportMetrics) {
+        if (tileProvider == null) {
+            return;
+        }
+
         RectF newCurrentViewPort = inflate(roundToTileSize(viewportMetrics.getViewport(), tileSize), tileSize);
 
         if (!currentViewport.equals(newCurrentViewPort)) {
@@ -193,5 +197,6 @@ public class DynamicTileLayer extends Layer {
 
     public void clearAllTiles() {
         tiles.clear();
+        currentViewport = new RectF();
     }
 }
diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
index 9ae462b..5905d4a 100644
--- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
+++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
@@ -71,7 +71,6 @@ public class GeckoLayerClient implements LayerView.Listener {
     private ImmutableViewportMetrics mNewGeckoViewport;
     private Context mContext;
     private boolean mPendingViewportAdjust;
-    private boolean mViewportSizeChanged;
 
     public GeckoLayerClient(Context context) {
         mContext = context;
@@ -147,8 +146,6 @@ public class GeckoLayerClient implements LayerView.Listener {
 
     /* Informs Gecko that the screen size has changed. */
     private void sendResizeEventIfNecessary(boolean force) {
-        Log.e(LOGTAG, "### sendResizeEventIfNecessary " + force);
-
         DisplayMetrics metrics = new DisplayMetrics();
         LibreOfficeMainActivity.mAppContext.getWindowManager().getDefaultDisplay().getMetrics(metrics);
         View view = mLayerController.getView();
@@ -183,7 +180,6 @@ public class GeckoLayerClient implements LayerView.Listener {
 
     public void viewportSizeChanged() {
         sendResizeEventIfNecessary(true);
-        LOKitShell.viewSizeChanged();
     }
 
     void adjustViewport(DisplayPortMetrics displayPort) {
@@ -204,10 +200,6 @@ public class GeckoLayerClient implements LayerView.Listener {
         }
 
         LOKitShell.sendEvent(LOEventFactory.viewport(clampedMetrics));
-        if (mViewportSizeChanged) {
-            mViewportSizeChanged = false;
-            LOKitShell.viewSizeChanged();
-        }
     }
 
     /** This function is invoked by Gecko via JNI; be careful when modifying signature.


More information about the Libreoffice-commits mailing list