summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.com>2014-09-29 14:20:11 +0200
committerTomaž Vajngerl <tomaz.vajngerl@collabora.com>2014-10-04 17:39:03 +0200
commitf7721c73117b36705d1c1452e241346e7f1113d0 (patch)
tree9bc419483b22dc1d5b4c4e2eaf6073b0b8a1abab /android
parent3273a1f3cdc455bbf5726cd8b476b37e4b3d9e68 (diff)
android: refresh screenshot correctly, fix rendering at load
Change-Id: I38345399c96764ecc454cc3e6e8f87b5cc5e8fbe
Diffstat (limited to 'android')
-rw-r--r--android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java36
-rw-r--r--android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java1
2 files changed, 14 insertions, 23 deletions
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
index ba7102e2b5e1..5c03c2bb5104 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java
@@ -1,7 +1,6 @@
package org.libreoffice;
import android.graphics.Bitmap;
-import android.graphics.Rect;
import android.graphics.RectF;
import android.util.DisplayMetrics;
import android.util.Log;
@@ -15,11 +14,10 @@ import java.util.concurrent.LinkedBlockingQueue;
public class LOKitThread extends Thread {
private static final String LOGTAG = LOKitThread.class.getSimpleName();
- public LinkedBlockingQueue<LOEvent> mEventQueue = new LinkedBlockingQueue<LOEvent>();
+ private LinkedBlockingQueue<LOEvent> mEventQueue = new LinkedBlockingQueue<LOEvent>();
private LibreOfficeMainActivity mApplication;
private TileProvider mTileProvider;
private ImmutableViewportMetrics mViewportMetrics;
- private boolean mCheckboardImageSet = false;
private GeckoLayerClient mLayerClient;
private LayerController mController;
@@ -36,19 +34,26 @@ public class LOKitThread extends Thread {
GeckoLayerClient layerClient = mApplication.getLayerClient();
layerClient.beginDrawing();
-
layerClient.reevaluateTiles();
-
layerClient.endDrawing(mViewportMetrics);
return true;
}
+ private void refresh() {
+ Bitmap bitmap = mTileProvider.thumbnail();
+ if (bitmap != null) {
+ mApplication.getLayerController().getView().changeCheckerboardBitmap(bitmap, mTileProvider.getPageWidth(), mTileProvider.getPageHeight());
+ }
+
+ RectF rect = new RectF(0, 0, mTileProvider.getPageWidth(), mTileProvider.getPageHeight());
+ mController.setPageRect(rect, rect);
+ mController.setForceRedraw();
+ }
+
private void changePart(int partIndex) throws InterruptedException {
mTileProvider.changePart(partIndex);
- GeckoLayerClient layerClient = mApplication.getLayerClient();
- updateCheckbardImage();
- LOKitShell.sendEvent(LOEvent.draw(new Rect()));
+ refresh();
}
private boolean load(String filename) {
@@ -68,24 +73,11 @@ public class LOKitThread extends Thread {
boolean isReady = mTileProvider.isReady();
if (isReady) {
- updateCheckbardImage();
- RectF rect = new RectF(0, 0, mTileProvider.getPageWidth(), mTileProvider.getPageHeight());
- mController.setPageRect(rect, rect);
- mController.setForceRedraw();
+ refresh();
}
return isReady;
}
- private void updateCheckbardImage() {
- if (!mCheckboardImageSet) {
- Bitmap bitmap = mTileProvider.thumbnail();
- if (bitmap != null) {
- mApplication.getLayerController().getView().changeCheckerboardBitmap(bitmap, mTileProvider.getPageWidth(), mTileProvider.getPageHeight());
- mCheckboardImageSet = true;
- }
- }
- }
-
public void run() {
try {
while (true) {
diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java
index 18f6328d55d7..38a09d818f61 100644
--- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java
+++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java
@@ -322,7 +322,6 @@ public class LayerView extends SurfaceView implements SurfaceHolder.Callback {
}
public void changeCheckerboardBitmap(Bitmap bitmap, float pageWidth, float pageHeight) {
- mRenderer.resetCheckerboard();
mRenderer.setCheckerboardBitmap(bitmap, pageWidth, pageHeight);
}
}