Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8b99c8cf authored by Kevin Chyn's avatar Kevin Chyn
Browse files

Add setShouldBlink method to get SeekBarPreference

Bug: 63642792

Test: make -j && make -j RunSettingsRoboTests
Change-Id: I92bb34282fe2b89644a3e004ec0da7d3c1f3db43
parent 241fecbd
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -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