diff options
author | Sascha Haeberling <haeberling@google.com> | 2013-11-12 15:16:08 -0800 |
---|---|---|
committer | Sascha Haeberling <haeberling@google.com> | 2013-11-12 18:43:33 -0800 |
commit | 54d24c3f82e979b7851e2c0f8b2a4dc69122a7c3 (patch) | |
tree | 29f2d601b0ed4a773d137f8eade4988c0e31925b /src/com/android/camera/ui/PieRenderer.java | |
parent | cc70702cc06d98f011f0d9e80b2afa12e6762c8a (diff) | |
download | android_packages_apps_Snap-54d24c3f82e979b7851e2c0f8b2a4dc69122a7c3.tar.gz android_packages_apps_Snap-54d24c3f82e979b7851e2c0f8b2a4dc69122a7c3.tar.bz2 android_packages_apps_Snap-54d24c3f82e979b7851e2c0f8b2a4dc69122a7c3.zip |
Show the 100% state of the progress at least one frame.
Bug: 11505806
Change-Id: I5fe8456ff93cd50da53e022ac2cf2dd9ac633b2f
Diffstat (limited to 'src/com/android/camera/ui/PieRenderer.java')
-rw-r--r-- | src/com/android/camera/ui/PieRenderer.java | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/src/com/android/camera/ui/PieRenderer.java b/src/com/android/camera/ui/PieRenderer.java index 58bee94d6..60d33c3ba 100644 --- a/src/com/android/camera/ui/PieRenderer.java +++ b/src/com/android/camera/ui/PieRenderer.java @@ -16,9 +16,6 @@ package com.android.camera.ui; -import java.util.ArrayList; -import java.util.List; - import android.animation.Animator; import android.animation.Animator.AnimatorListener; import android.animation.ValueAnimator; @@ -40,8 +37,12 @@ import android.view.animation.Animation; import android.view.animation.Transformation; import com.android.camera.drawable.TextDrawable; +import com.android.camera.ui.ProgressRenderer.VisibilityListener; import com.android.camera2.R; +import java.util.ArrayList; +import java.util.List; + /** * An overlay renderer that is used to display focus state and progress state. */ @@ -709,6 +710,11 @@ public class PieRenderer extends OverlayRenderer return false; } + @Override + public boolean isVisible() { + return super.isVisible() || mProgressRenderer.isVisible(); + } + private boolean pulledToCenter(PointF polarCoords) { return polarCoords.y < mArcRadius - mRadiusInc; } @@ -1014,11 +1020,27 @@ public class PieRenderer extends OverlayRenderer mState = STATE_IDLE; } + public void clear(boolean waitUntilProgressIsHidden) { + if (mState == STATE_PIE) + return; + cancelFocus(); + + if (waitUntilProgressIsHidden) { + mOverlay.post(mDisappear); + mProgressRenderer.setVisibilityListener(null); + } else { + mProgressRenderer.setVisibilityListener(new VisibilityListener() { + @Override + public void onHidden() { + mOverlay.post(mDisappear); + } + }); + } + } + @Override public void clear() { - if (mState == STATE_PIE) return; - cancelFocus(); - mOverlay.post(mDisappear); + clear(false); } private void startAnimation(long duration, boolean timeout, |