diff options
| author | Romain Guy <romainguy@android.com> | 2010-01-04 15:39:40 -0800 |
|---|---|---|
| committer | Romain Guy <romainguy@android.com> | 2010-01-04 15:39:40 -0800 |
| commit | 992cc4282e92c0b7c192247261c54933acab5ad0 (patch) | |
| tree | adc4647a8df16386b85d6259c9fe8686d58a2e67 | |
| parent | 7d3cbfe2dba641a6138b97e4e96e931e6760c538 (diff) | |
| download | frameworks_base-992cc4282e92c0b7c192247261c54933acab5ad0.zip frameworks_base-992cc4282e92c0b7c192247261c54933acab5ad0.tar.gz frameworks_base-992cc4282e92c0b7c192247261c54933acab5ad0.tar.bz2 | |
Ignore key events when the widget is disabled.
Bug: #2353635.
| -rw-r--r-- | core/java/android/widget/AbsSeekBar.java | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/core/java/android/widget/AbsSeekBar.java b/core/java/android/widget/AbsSeekBar.java index d25530b..d6dd872 100644 --- a/core/java/android/widget/AbsSeekBar.java +++ b/core/java/android/widget/AbsSeekBar.java @@ -26,7 +26,6 @@ import android.view.KeyEvent; import android.view.MotionEvent; public abstract class AbsSeekBar extends ProgressBar { - private Drawable mThumb; private int mThumbOffset; @@ -66,8 +65,9 @@ public abstract class AbsSeekBar extends ProgressBar { Drawable thumb = a.getDrawable(com.android.internal.R.styleable.SeekBar_thumb); setThumb(thumb); // will guess mThumbOffset if thumb != null... // ...but allow layout to override this - int thumbOffset = - a.getDimensionPixelOffset(com.android.internal.R.styleable.SeekBar_thumbOffset, getThumbOffset()); + int thumbOffset = a.getDimensionPixelOffset( + com.android.internal.R.styleable.SeekBar_thumbOffset, getThumbOffset()); + setThumbOffset(thumbOffset); a.recycle(); a = context.obtainStyledAttributes(attrs, @@ -91,7 +91,7 @@ public abstract class AbsSeekBar extends ProgressBar { // Assuming the thumb drawable is symmetric, set the thumb offset // such that the thumb will hang halfway off either edge of the // progress bar. - mThumbOffset = (int)thumb.getIntrinsicWidth() / 2; + mThumbOffset = thumb.getIntrinsicWidth() / 2; } mThumb = thumb; invalidate(); @@ -368,20 +368,21 @@ public abstract class AbsSeekBar extends ProgressBar { @Override public boolean onKeyDown(int keyCode, KeyEvent event) { - int progress = getProgress(); - - switch (keyCode) { - case KeyEvent.KEYCODE_DPAD_LEFT: - if (progress <= 0) break; - setProgress(progress - mKeyProgressIncrement, true); - onKeyChange(); - return true; - - case KeyEvent.KEYCODE_DPAD_RIGHT: - if (progress >= getMax()) break; - setProgress(progress + mKeyProgressIncrement, true); - onKeyChange(); - return true; + if (isEnabled()) { + int progress = getProgress(); + switch (keyCode) { + case KeyEvent.KEYCODE_DPAD_LEFT: + if (progress <= 0) break; + setProgress(progress - mKeyProgressIncrement, true); + onKeyChange(); + return true; + + case KeyEvent.KEYCODE_DPAD_RIGHT: + if (progress >= getMax()) break; + setProgress(progress + mKeyProgressIncrement, true); + onKeyChange(); + return true; + } } return super.onKeyDown(keyCode, event); |
