diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.com> | 2014-09-29 14:20:11 +0200 |
---|---|---|
committer | Tomaž Vajngerl <tomaz.vajngerl@collabora.com> | 2014-10-04 17:39:03 +0200 |
commit | f7721c73117b36705d1c1452e241346e7f1113d0 (patch) | |
tree | 9bc419483b22dc1d5b4c4e2eaf6073b0b8a1abab /android | |
parent | 3273a1f3cdc455bbf5726cd8b476b37e4b3d9e68 (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.java | 36 | ||||
-rw-r--r-- | android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java | 1 |
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); } } |