Merge "Add haptic effect for the seekbar in Settings 2/n."
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.accessibility;
|
||||
|
||||
import static android.view.HapticFeedbackConstants.CLOCK_TICK;
|
||||
import static com.android.settings.Utils.isNightMode;
|
||||
|
||||
import android.content.Context;
|
||||
@@ -44,6 +45,7 @@ public class BalanceSeekBar extends SeekBar {
|
||||
private final Context mContext;
|
||||
private final Object mListenerLock = new Object();
|
||||
private OnSeekBarChangeListener mOnSeekBarChangeListener;
|
||||
private int mLastProgress = -1;
|
||||
private final OnSeekBarChangeListener mProxySeekBarListener = new OnSeekBarChangeListener() {
|
||||
@Override
|
||||
public void onStopTrackingTouch(SeekBar seekBar) {
|
||||
@@ -73,6 +75,12 @@ public class BalanceSeekBar extends SeekBar {
|
||||
progress = mCenter;
|
||||
seekBar.setProgress(progress); // direct update (fromUser becomes false)
|
||||
}
|
||||
if (progress != mLastProgress) {
|
||||
if (progress == mCenter || progress == getMin() || progress == getMax()) {
|
||||
seekBar.performHapticFeedback(CLOCK_TICK);
|
||||
}
|
||||
mLastProgress = progress;
|
||||
}
|
||||
final float balance = (progress - mCenter) * 0.01f;
|
||||
Settings.System.putFloatForUser(mContext.getContentResolver(),
|
||||
Settings.System.MASTER_BALANCE, balance, UserHandle.USER_CURRENT);
|
||||
@@ -152,10 +160,5 @@ public class BalanceSeekBar extends SeekBar {
|
||||
canvas.restore();
|
||||
super.onDraw(canvas);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
OnSeekBarChangeListener getProxySeekBarListener() {
|
||||
return mProxySeekBarListener;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user