summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/camera/FocusOverlayManager.java7
-rw-r--r--src/com/android/camera/ui/PieRenderer.java2
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;