diff options
-rw-r--r-- | src/com/android/camera/ui/PieRenderer.java | 6 | ||||
-rw-r--r-- | src/com/android/camera/ui/ProgressRenderer.java | 25 |
2 files changed, 14 insertions, 17 deletions
diff --git a/src/com/android/camera/ui/PieRenderer.java b/src/com/android/camera/ui/PieRenderer.java index 60d33c3ba..f1a5a9a4b 100644 --- a/src/com/android/camera/ui/PieRenderer.java +++ b/src/com/android/camera/ui/PieRenderer.java @@ -1026,15 +1026,15 @@ public class PieRenderer extends OverlayRenderer cancelFocus(); if (waitUntilProgressIsHidden) { - mOverlay.post(mDisappear); - mProgressRenderer.setVisibilityListener(null); - } else { mProgressRenderer.setVisibilityListener(new VisibilityListener() { @Override public void onHidden() { mOverlay.post(mDisappear); } }); + } else { + mOverlay.post(mDisappear); + mProgressRenderer.setVisibilityListener(null); } } 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(); } } } |