[Libreoffice-commits] core.git: Branch 'feature/droid_calcimpress2' - 3 commits - android/experimental

Tomaž Vajngerl tomaz.vajngerl at collabora.com
Tue Sep 30 07:27:29 PDT 2014


 android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java            |    3 ++-
 android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java      |   10 ++++++----
 android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java       |    2 +-
 android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java           |    2 +-
 android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java |    4 ++++
 android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java   |    8 ++++++--
 6 files changed, 20 insertions(+), 9 deletions(-)

New commits:
commit 4eaf0b817f8ef01824d1a1912e60cba4af835599
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Tue Sep 30 13:30:45 2014 +0200

    android: clear all tiles on part change (method clearAllTiles)
    
    Change-Id: I4e18fed5167559284bc18235811cb2b1c6c62a4d

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
index baf1206..c6ee612 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
@@ -53,6 +53,7 @@ public class LOKitThread extends Thread {
 
     private void changePart(int partIndex) throws InterruptedException {
         mTileProvider.changePart(partIndex);
+        mLayerClient.clearAllTiles();
         refresh();
     }
 
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 e847c01..28c2bbb 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
@@ -275,6 +275,10 @@ public class GeckoLayerClient implements LayerView.Listener {
         mRootLayer.reevaluateTiles(mLayerController.getViewportMetrics());
     }
 
+    public void clearAllTiles() {
+        mRootLayer.clearAllTiles();
+    }
+
     private class AdjustRunnable implements Runnable {
         public void run() {
             mPendingViewportAdjust = false;
diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java
index 14a08e2..eb1ab5c 100644
--- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java
+++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java
@@ -215,13 +215,13 @@ public class MultiTileLayer extends Layer {
 
         if (tileViewPort != newTileViewPort) {
             tileViewPort = newTileViewPort;
-            cleanTiles();
+            clearMarkedTiles();
             addNewTiles(viewportMetrics);
             markTiles(viewportMetrics);
         }
     }
 
-    private void cleanTiles() {
+    private void clearMarkedTiles() {
         List<SubTile> tilesToRemove = new ArrayList<SubTile>();
         for(SubTile tile : mTiles) {
             if (tile.markedForRemoval) {
@@ -269,5 +269,9 @@ public class MultiTileLayer extends Layer {
             }
         }
     }
+
+    public void clearAllTiles() {
+        mTiles.clear();
+    }
 }
 
commit 61c587bfb20ec58d129f62ee8211fa63761968d7
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Tue Sep 30 13:28:45 2014 +0200

    android: call destroy only if the document exists
    
    Change-Id: Ia9459151ac46a8be0f9a3944f2bcd427435c284e

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
index 1b9cce7..44d438d 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
@@ -157,7 +157,9 @@ public class LOKitTileProvider implements TileProvider {
     @Override
     public void close() {
         Log.i(LOGTAG, "Document destroyed: " + mInputFile);
-        mDocument.destroy();
+        if (mDocument != null) {
+            mDocument.destroy();
+        }
     }
 
     @Override
commit ec2f2a98c325261109560b9a075965f269a61079
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.com>
Date:   Tue Sep 30 13:25:26 2014 +0200

    android: allow to set a size of the thumbnail
    
    Change-Id: Ida8bbd74893f59c3737d28c264e7ed24b231e6ac

diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
index 5c03c2b..baf1206 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
@@ -41,7 +41,7 @@ public class LOKitThread extends Thread {
     }
 
     private void refresh() {
-        Bitmap bitmap = mTileProvider.thumbnail();
+        Bitmap bitmap = mTileProvider.thumbnail(1000);
         if (bitmap != null) {
             mApplication.getLayerController().getView().changeCheckerboardBitmap(bitmap, mTileProvider.getPageWidth(), mTileProvider.getPageHeight());
         }
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
index 77a833e..1b9cce7 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
@@ -129,17 +129,17 @@ public class LOKitTileProvider implements TileProvider {
     }
 
     @Override
-    public Bitmap thumbnail() {
+    public Bitmap thumbnail(int size) {
         int widthPixel = getPageWidth();
         int heightPixel = getPageHeight();
 
         if (widthPixel > heightPixel) {
             double ratio = heightPixel / (double) widthPixel;
-            widthPixel = 1000;
+            widthPixel = size;
             heightPixel = (int) (widthPixel * ratio);
         } else {
             double ratio = widthPixel / (double) heightPixel;
-            heightPixel = 1000;
+            heightPixel = size;
             widthPixel = (int) (heightPixel * ratio);
         }
 
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java
index 4d15066..1266f79 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java
@@ -59,7 +59,7 @@ public class MockTileProvider implements TileProvider {
     }
 
     @Override
-    public Bitmap thumbnail() {
+    public Bitmap thumbnail(int size) {
         return layerController.getDrawable("dummy_page");
     }
 
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java
index d2a9ddd..8373ad8 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java
@@ -16,7 +16,7 @@ public interface TileProvider {
 
     void changePart(int partIndex);
 
-    Bitmap thumbnail();
+    Bitmap thumbnail(int size);
 
     void close();
 }


More information about the Libreoffice-commits mailing list