diff options
-rw-r--r-- | src/com/android/camera/FocusOverlayManager.java | 7 | ||||
-rw-r--r-- | src/com/android/camera/ui/PieRenderer.java | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/com/android/camera/FocusOverlayManager.java b/src/com/android/camera/FocusOverlayManager.java index 9acf85de9..c78eb7152 100644 --- a/src/com/android/camera/FocusOverlayManager.java +++ b/src/com/android/camera/FocusOverlayManager.java @@ -94,6 +94,7 @@ public class FocusOverlayManager { private ComboPreferences mPreferences; private Handler mHandler; Listener mListener; + private boolean mPreviousMoving; public interface Listener { public void autoFocus(); @@ -302,11 +303,13 @@ public class FocusOverlayManager { // continuous autofocus. if (mState != STATE_IDLE) return; - if (moving) { + // animate on false->true trasition only b/8219520 + if (moving && !mPreviousMoving) { mPieRenderer.showStart(); - } else { + } else if (!moving) { mPieRenderer.showSuccess(true); } + mPreviousMoving = moving; } @TargetApi(ApiHelper.VERSION_CODES.ICE_CREAM_SANDWICH) diff --git a/src/com/android/camera/ui/PieRenderer.java b/src/com/android/camera/ui/PieRenderer.java index 8afd4816a..95597b2a1 100644 --- a/src/com/android/camera/ui/PieRenderer.java +++ b/src/com/android/camera/ui/PieRenderer.java @@ -717,7 +717,7 @@ public class PieRenderer extends OverlayRenderer private void cancelFocus() { mFocusCancelled = true; mOverlay.removeCallbacks(mDisappear); - if (mAnimation != null) { + if (mAnimation != null && !mAnimation.hasEnded()) { mAnimation.cancel(); } mFocusCancelled = false; |