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.vajng...@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.vajng...@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.
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits