Enable hover states for SeekBarPreference
Bug: 201499839 Test: manual testing on pixel device with wired mouse Note: change was originally set for TM-QPR branch, but now targeting UDC-DEV instead (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ec11542cbe14f874c9fe17ee4c2a4c4e29ea748c) Merged-In: Ibbbd0e0ef627576acb5eb3f4acb6d40dcceb0371 Change-Id: Ibbbd0e0ef627576acb5eb3f4acb6d40dcceb0371
This commit is contained in:
@@ -27,6 +27,7 @@ import android.os.Parcelable;
|
||||
import android.text.TextUtils;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.accessibility.AccessibilityNodeInfo;
|
||||
import android.widget.SeekBar;
|
||||
@@ -42,7 +43,7 @@ import com.android.settingslib.RestrictedPreference;
|
||||
* Based on android.preference.SeekBarPreference, but uses support preference as base.
|
||||
*/
|
||||
public class SeekBarPreference extends RestrictedPreference
|
||||
implements OnSeekBarChangeListener, View.OnKeyListener {
|
||||
implements OnSeekBarChangeListener, View.OnKeyListener, View.OnHoverListener {
|
||||
|
||||
public static final int HAPTIC_FEEDBACK_MODE_NONE = 0;
|
||||
public static final int HAPTIC_FEEDBACK_MODE_ON_TICKS = 1;
|
||||
@@ -128,6 +129,7 @@ public class SeekBarPreference extends RestrictedPreference
|
||||
public void onBindViewHolder(PreferenceViewHolder view) {
|
||||
super.onBindViewHolder(view);
|
||||
view.itemView.setOnKeyListener(this);
|
||||
view.itemView.setOnHoverListener(this);
|
||||
mSeekBar = (SeekBar) view.findViewById(
|
||||
com.android.internal.R.id.seekbar);
|
||||
mSeekBar.setOnSeekBarChangeListener(this);
|
||||
@@ -414,6 +416,19 @@ public class SeekBarPreference extends RestrictedPreference
|
||||
notifyChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onHover(View v, MotionEvent event) {
|
||||
switch (event.getAction()) {
|
||||
case MotionEvent.ACTION_HOVER_ENTER:
|
||||
v.setHovered(true);
|
||||
break;
|
||||
case MotionEvent.ACTION_HOVER_EXIT:
|
||||
v.setHovered(false);
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* SavedState, a subclass of {@link BaseSavedState}, will store the state
|
||||
* of MyPreference, a subclass of Preference.
|
||||
|
Reference in New Issue
Block a user