summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2013-02-18 15:16:44 -0800
committerMichael Kolb <kolby@google.com>2013-02-18 15:23:58 -0800
commite3de7223ee3fe56e097d68f50c5a59ae61370d65 (patch)
treea11a47154bdff8fa272c494dfb4d03c957867f8d /src
parentf7159e15dd704e9501a3538cb05498f40a30f042 (diff)
downloadandroid_packages_apps_Snap-e3de7223ee3fe56e097d68f50c5a59ae61370d65.tar.gz
android_packages_apps_Snap-e3de7223ee3fe56e097d68f50c5a59ae61370d65.tar.bz2
android_packages_apps_Snap-e3de7223ee3fe56e097d68f50c5a59ae61370d65.zip
Fix AF animation
Bug: 8219462 Change-Id: I9c39c70aad8f1ca6763acfc2d2a5ff5c918c71a5
Diffstat (limited to 'src')
-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;