summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/ui/ProgressRenderer.java
diff options
context:
space:
mode:
authorSascha Haeberling <haeberling@google.com>2013-11-13 19:04:21 -0800
committerSascha Haeberling <haeberling@google.com>2013-11-13 19:05:34 -0800
commitb7dcf9f20708376dfd14f9db6b41addc2f92e5c6 (patch)
tree3caea5cbc1e4c0c15d2dc6081fe47e7b75a0e6eb /src/com/android/camera/ui/ProgressRenderer.java
parentff3a994a2f33c493024b82023bfa910686c4d1de (diff)
downloadandroid_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.java25
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();
}
}
}