Add setShouldBlink method to get SeekBarPreference

Bug: 63642792

Test: make -j && make -j RunSettingsRoboTests
Change-Id: I92bb34282fe2b89644a3e004ec0da7d3c1f3db43
This commit is contained in:
Kevin Chyn
2017-07-12 18:19:45 -07:00
parent 241fecbd79
commit 8b99c8cfa3

View File

@@ -46,6 +46,7 @@ public class SeekBarPreference extends RestrictedPreference
private int mDefaultProgress = -1;
private SeekBar mSeekBar;
private boolean mShouldBlink;
public SeekBarPreference(
Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
@@ -80,6 +81,11 @@ public class SeekBarPreference extends RestrictedPreference
this(context, null);
}
public void setShouldBlink(boolean shouldBlink) {
mShouldBlink = shouldBlink;
notifyChanged();
}
@Override
public void onBindViewHolder(PreferenceViewHolder view) {
super.onBindViewHolder(view);
@@ -97,6 +103,19 @@ public class SeekBarPreference extends RestrictedPreference
if (mSeekBar instanceof DefaultIndicatorSeekBar) {
((DefaultIndicatorSeekBar) mSeekBar).setDefaultProgress(mDefaultProgress);
}
if (mShouldBlink) {
View v = view.itemView;
v.post(() -> {
if (v.getBackground() != null) {
final int centerX = v.getWidth() / 2;
final int centerY = v.getHeight() / 2;
v.getBackground().setHotspot(centerX, centerY);
}
v.setPressed(true);
v.setPressed(false);
mShouldBlink = false;
});
}
}
@Override