summaryrefslogtreecommitdiffstats
path: root/core/java/android/widget/AbsSeekBar.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/widget/AbsSeekBar.java')
-rw-r--r--core/java/android/widget/AbsSeekBar.java67
1 files changed, 10 insertions, 57 deletions
diff --git a/core/java/android/widget/AbsSeekBar.java b/core/java/android/widget/AbsSeekBar.java
index d39960f..4800c7f 100644
--- a/core/java/android/widget/AbsSeekBar.java
+++ b/core/java/android/widget/AbsSeekBar.java
@@ -16,7 +16,6 @@
package android.widget;
-import android.animation.ObjectAnimator;
import android.annotation.Nullable;
import android.content.Context;
import android.content.res.ColorStateList;
@@ -65,9 +64,6 @@ public abstract class AbsSeekBar extends ProgressBar {
* progress.
*/
private int mKeyProgressIncrement = 1;
- private ObjectAnimator mPositionAnimator;
- private static final int PROGRESS_ANIMATION_DURATION = 250;
-
private static final int NO_ALPHA = 0xFF;
private float mDisabledAlpha;
@@ -388,14 +384,15 @@ public abstract class AbsSeekBar extends ProgressBar {
void onProgressRefresh(float scale, boolean fromUser) {
super.onProgressRefresh(scale, fromUser);
- if (!isAnimationRunning()) {
- setThumbPos(scale);
- }
- }
+ final Drawable thumb = mThumb;
+ if (thumb != null) {
+ setThumbPos(getWidth(), thumb, scale, Integer.MIN_VALUE);
- @Override
- void onAnimatePosition(float scale, boolean fromUser) {
- setThumbPos(scale);
+ // Since we draw translated, the drawable's bounds that it signals
+ // for invalidation won't be the actual bounds we want invalidated,
+ // so just invalidate this whole view.
+ invalidate();
+ }
}
@Override
@@ -440,18 +437,6 @@ public abstract class AbsSeekBar extends ProgressBar {
return max > 0 ? getProgress() / (float) max : 0;
}
- private void setThumbPos(float scale) {
- final Drawable thumb = mThumb;
- if (thumb != null) {
- setThumbPos(getWidth(), thumb, scale, Integer.MIN_VALUE);
- // Since we draw translated, the drawable's bounds that it signals
- // for invalidation won't be the actual bounds we want invalidated,
- // so just invalidate this whole view.
- invalidate();
-
- }
- }
-
/**
* Updates the thumb drawable bounds.
*
@@ -714,13 +699,13 @@ public abstract class AbsSeekBar extends ProgressBar {
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:
if (progress <= 0) break;
- animateSetProgress(progress - mKeyProgressIncrement);
+ setProgress(progress - mKeyProgressIncrement, true);
onKeyChange();
return true;
case KeyEvent.KEYCODE_DPAD_RIGHT:
if (progress >= getMax()) break;
- animateSetProgress(progress + mKeyProgressIncrement);
+ setProgress(progress + mKeyProgressIncrement, true);
onKeyChange();
return true;
}
@@ -729,38 +714,6 @@ public abstract class AbsSeekBar extends ProgressBar {
return super.onKeyDown(keyCode, event);
}
- boolean isAnimationRunning() {
- return mPositionAnimator != null && mPositionAnimator.isRunning();
- }
-
- /**
- * @hide
- */
- @Override
- public void setProgress(int progress, boolean fromUser) {
- if (isAnimationRunning()) {
- mPositionAnimator.cancel();
- }
- super.setProgress(progress, fromUser);
- }
-
- void animateSetProgress(int progress) {
- float curProgress = isAnimationRunning() ? getAnimationPosition() : getProgress();
-
- if (progress < 0) {
- progress = 0;
- } else if (progress > getMax()) {
- progress = getMax();
- }
- setProgressValueOnly(progress);
-
- mPositionAnimator = ObjectAnimator.ofFloat(this, "animationPosition", curProgress,
- progress);
- mPositionAnimator.setDuration(PROGRESS_ANIMATION_DURATION);
- mPositionAnimator.setAutoCancel(true);
- mPositionAnimator.start();
- }
-
@Override
public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
super.onInitializeAccessibilityEvent(event);