summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/ui/PieRenderer.java
diff options
context:
space:
mode:
authorSascha Haeberling <haeberling@google.com>2013-11-12 15:16:08 -0800
committerSascha Haeberling <haeberling@google.com>2013-11-12 18:43:33 -0800
commit54d24c3f82e979b7851e2c0f8b2a4dc69122a7c3 (patch)
tree29f2d601b0ed4a773d137f8eade4988c0e31925b /src/com/android/camera/ui/PieRenderer.java
parentcc70702cc06d98f011f0d9e80b2afa12e6762c8a (diff)
downloadandroid_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.java34
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,