diff options
| author | Shimeng (Simon) Wang <swang@google.com> | 2011-02-17 15:02:34 -0800 |
|---|---|---|
| committer | Shimeng (Simon) Wang <swang@google.com> | 2011-02-17 15:02:34 -0800 |
| commit | 459c42395648193bb13ed8a4bcf5c58af9cac3c5 (patch) | |
| tree | 63ad03eb62dc5e26ed8484a47e2782d237b668ee /core/java/android/webkit/ZoomManager.java | |
| parent | 572c4a7dba7d2dc5a475b956c2a63eb5422fd66d (diff) | |
| download | frameworks_base-459c42395648193bb13ed8a4bcf5c58af9cac3c5.zip frameworks_base-459c42395648193bb13ed8a4bcf5c58af9cac3c5.tar.gz frameworks_base-459c42395648193bb13ed8a4bcf5c58af9cac3c5.tar.bz2 | |
Reset initial zoom overview state when user takes zoom action.
This will prevent wrong fit-to-screen when a new picture comes.
issue: 3466509
Change-Id: I37d5509190766ba16665527bbdef968bddff8915
Diffstat (limited to 'core/java/android/webkit/ZoomManager.java')
| -rw-r--r-- | core/java/android/webkit/ZoomManager.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/core/java/android/webkit/ZoomManager.java b/core/java/android/webkit/ZoomManager.java index 9d472e0..d7a6a53 100644 --- a/core/java/android/webkit/ZoomManager.java +++ b/core/java/android/webkit/ZoomManager.java @@ -361,6 +361,7 @@ class ZoomManager { // returns TRUE if zoom out succeeds and FALSE if no zoom changes. private boolean zoom(float zoomMultiplier) { + mInitialZoomOverview = false; // TODO: alternatively we can disallow this during draw history mode mWebView.switchOutDrawHistory(); // Center zooming to the center of the screen. @@ -378,6 +379,7 @@ class ZoomManager { * @return true if the new scale triggered an animation and false otherwise. */ public boolean startZoomAnimation(float scale, boolean reflowText) { + mInitialZoomOverview = false; float oldScale = mActualScale; mInitialScrollX = mWebView.getScrollX(); mInitialScrollY = mWebView.getScrollY(); @@ -421,6 +423,7 @@ class ZoomManager { * in progress by calling isFixedLengthAnimationInProgress(). */ public void animateZoom(Canvas canvas) { + mInitialZoomOverview = false; if (mZoomScale == 0) { Log.w(LOGTAG, "A WebView is attempting to perform a fixed length " + "zoom animation when no zoom is in progress"); @@ -568,6 +571,8 @@ class ZoomManager { * C. If the page is in overmode then change to the default scale. */ public void handleDoubleTap(float lastTouchX, float lastTouchY) { + // User takes action, set initial zoom overview to false. + mInitialZoomOverview = false; WebSettings settings = mWebView.getSettings(); if (!isDoubleTapEnabled()) { return; @@ -706,6 +711,7 @@ class ZoomManager { private class ScaleDetectorListener implements ScaleGestureDetector.OnScaleGestureListener { public boolean onScaleBegin(ScaleGestureDetector detector) { + mInitialZoomOverview = false; dismissZoomPicker(); mWebView.mViewManager.startZoom(); mWebView.onPinchToZoomAnimationStart(); |
