Loading src/com/android/settings/widget/LabeledSeekBar.java +48 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.view.accessibility.AccessibilityEvent; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import java.util.List; Loading Loading @@ -148,6 +149,22 @@ public class LabeledSeekBar extends SeekBar { public LabeledSeekBar(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); super.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { // Do nothing } @Override public void onStartTrackingTouch(SeekBar seekBar) { // Do nothing } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { sendClickEventForAccessibility(progress); } }); } @Override Loading @@ -163,6 +180,30 @@ public class LabeledSeekBar extends SeekBar { mLabels = labels; } @Override public void setOnSeekBarChangeListener(final OnSeekBarChangeListener l) { // Tweak the listener to send accessibility event on progress changed. OnSeekBarChangeListener l2 = new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { l.onStopTrackingTouch(seekBar); } @Override public void onStartTrackingTouch(SeekBar seekBar) { l.onStartTrackingTouch(seekBar); } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { l.onProgressChanged(seekBar, progress, fromUser); sendClickEventForAccessibility(progress); } }; super.setOnSeekBarChangeListener(l2); } @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); Loading @@ -185,4 +226,11 @@ public class LabeledSeekBar extends SeekBar { return super.dispatchHoverEvent(event); } private void sendClickEventForAccessibility(int progress) { if (mAccessHelper != null) { mAccessHelper.invalidateRoot(); mAccessHelper.sendEventForVirtualView(progress, AccessibilityEvent.TYPE_VIEW_CLICKED); } } } Loading
src/com/android/settings/widget/LabeledSeekBar.java +48 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.view.accessibility.AccessibilityEvent; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import java.util.List; Loading Loading @@ -148,6 +149,22 @@ public class LabeledSeekBar extends SeekBar { public LabeledSeekBar(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); super.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { // Do nothing } @Override public void onStartTrackingTouch(SeekBar seekBar) { // Do nothing } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { sendClickEventForAccessibility(progress); } }); } @Override Loading @@ -163,6 +180,30 @@ public class LabeledSeekBar extends SeekBar { mLabels = labels; } @Override public void setOnSeekBarChangeListener(final OnSeekBarChangeListener l) { // Tweak the listener to send accessibility event on progress changed. OnSeekBarChangeListener l2 = new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { l.onStopTrackingTouch(seekBar); } @Override public void onStartTrackingTouch(SeekBar seekBar) { l.onStartTrackingTouch(seekBar); } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { l.onProgressChanged(seekBar, progress, fromUser); sendClickEventForAccessibility(progress); } }; super.setOnSeekBarChangeListener(l2); } @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); Loading @@ -185,4 +226,11 @@ public class LabeledSeekBar extends SeekBar { return super.dispatchHoverEvent(event); } private void sendClickEventForAccessibility(int progress) { if (mAccessHelper != null) { mAccessHelper.invalidateRoot(); mAccessHelper.sendEventForVirtualView(progress, AccessibilityEvent.TYPE_VIEW_CLICKED); } } }