diff options
author | Paul Gardiner <paul.gardiner@artifex.com> | 2013-09-25 12:41:06 +0100 |
---|---|---|
committer | Paul Gardiner <paul.gardiner@artifex.com> | 2013-09-25 12:41:06 +0100 |
commit | 6a10189b6611d746b8dfbc6fb1f42d65beb708e3 (patch) | |
tree | 0a9bbdcef8ec3949a559105487c037a88c708c40 /platform/android/src/com/artifex/mupdfdemo/ReaderView.java | |
parent | 457d80c7612e07a8570ae47d27f53f1e0e125cc9 (diff) | |
download | mupdf-6a10189b6611d746b8dfbc6fb1f42d65beb708e3.tar.xz |
Android: while adjusting reflow zoom, refresh only the visible page
Also fix a race condition where an attempt to set the zoom might precede
the loading of html into the WebView
Diffstat (limited to 'platform/android/src/com/artifex/mupdfdemo/ReaderView.java')
-rw-r--r-- | platform/android/src/com/artifex/mupdfdemo/ReaderView.java | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/platform/android/src/com/artifex/mupdfdemo/ReaderView.java b/platform/android/src/com/artifex/mupdfdemo/ReaderView.java index 9ec572a3..f779372b 100644 --- a/platform/android/src/com/artifex/mupdfdemo/ReaderView.java +++ b/platform/android/src/com/artifex/mupdfdemo/ReaderView.java @@ -436,12 +436,9 @@ public class ReaderView mScale = Math.min(Math.max(mScale * detector.getScaleFactor(), min_scale), max_scale); if (mReflow) { - applyToChildren(new ViewMapper() { - @Override - void applyToView(View view) { - onScaleChild(view, mScale); - } - }); + View v = mChildViews.get(mCurrent); + if (v != null) + onScaleChild(v, mScale); } else { float factor = mScale/previousScale; @@ -472,6 +469,14 @@ public class ReaderView } public void onScaleEnd(ScaleGestureDetector detector) { + if (mReflow) { + applyToChildren(new ViewMapper() { + @Override + void applyToView(View view) { + onScaleChild(view, mScale); + } + }); + } mScaling = false; } |