summaryrefslogtreecommitdiffstats
path: root/core/java/android/webkit/ZoomManager.java
diff options
context:
space:
mode:
authorShimeng (Simon) Wang <swang@google.com>2011-02-17 15:02:34 -0800
committerShimeng (Simon) Wang <swang@google.com>2011-02-17 15:02:34 -0800
commit459c42395648193bb13ed8a4bcf5c58af9cac3c5 (patch)
tree63ad03eb62dc5e26ed8484a47e2782d237b668ee /core/java/android/webkit/ZoomManager.java
parent572c4a7dba7d2dc5a475b956c2a63eb5422fd66d (diff)
downloadframeworks_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.java6
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();