diff options
author | Sascha Haeberling <haeberling@google.com> | 2013-11-13 19:04:21 -0800 |
---|---|---|
committer | Sascha Haeberling <haeberling@google.com> | 2013-11-13 19:05:34 -0800 |
commit | b7dcf9f20708376dfd14f9db6b41addc2f92e5c6 (patch) | |
tree | 3caea5cbc1e4c0c15d2dc6081fe47e7b75a0e6eb /src/com/android/camera/ui/ProgressRenderer.java | |
parent | ff3a994a2f33c493024b82023bfa910686c4d1de (diff) | |
download | android_packages_apps_Snap-b7dcf9f20708376dfd14f9db6b41addc2f92e5c6.tar.gz android_packages_apps_Snap-b7dcf9f20708376dfd14f9db6b41addc2f92e5c6.tar.bz2 android_packages_apps_Snap-b7dcf9f20708376dfd14f9db6b41addc2f92e5c6.zip |
Fix issue of focus indicator staying on without being hidden
Bug: 11505806
A mix up in the previous 100% CL caused this. This CL here also
makes it more robust by making the 100% extra time time-based instead
of frame-based.
Change-Id: I52c53d4b5816570c2c805e0e8ff193de684f2a64
Diffstat (limited to 'src/com/android/camera/ui/ProgressRenderer.java')
-rw-r--r-- | src/com/android/camera/ui/ProgressRenderer.java | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/src/com/android/camera/ui/ProgressRenderer.java b/src/com/android/camera/ui/ProgressRenderer.java index 1945dcf9b..500293133 100644 --- a/src/com/android/camera/ui/ProgressRenderer.java +++ b/src/com/android/camera/ui/ProgressRenderer.java @@ -43,11 +43,13 @@ public class ProgressRenderer { private VisibilityListener mVisibilityListener; /** - * After we reach 100%, keep on painting the progress for nother x frames + * After we reach 100%, keep on painting the progress for another x milliseconds * before hiding it. */ - private static final int SHOW_PROGRESS_X_ADDITIONAL_FRAMES = 5; - private int showProgressXMoreFrames; + private static final int SHOW_PROGRESS_X_ADDITIONAL_MS = 100; + + /** When to hide the progress indicator. */ + private long mTimeToHide = 0; public ProgressRenderer(Context context) { mProgressRadius = context.getResources().getDimensionPixelSize(R.dimen.pie_progress_radius); @@ -78,6 +80,7 @@ public class ProgressRenderer { // We hide the progress once we drew the 100% state once. if (percent < 100) { mVisible = true; + mTimeToHide = System.currentTimeMillis() + SHOW_PROGRESS_X_ADDITIONAL_MS; } } @@ -96,17 +99,11 @@ public class ProgressRenderer { canvas.drawArc(mArcBounds, -90, mProgressAngleDegrees, false, mProgressPaint); // After we reached 100%, we paint the progress renderer for another x - // frames until we hide it. - if (mProgressAngleDegrees == 360) { - if (showProgressXMoreFrames <= 0) { - showProgressXMoreFrames = SHOW_PROGRESS_X_ADDITIONAL_FRAMES; - } else { - if (--showProgressXMoreFrames == 0) { - mVisible = false; - if (mVisibilityListener != null) { - mVisibilityListener.onHidden(); - } - } + // milliseconds until we hide it. + if (mProgressAngleDegrees == 360 && System.currentTimeMillis() > mTimeToHide) { + mVisible = false; + if (mVisibilityListener != null) { + mVisibilityListener.onHidden(); } } } |