Merge "Migrate SeekBarPreference to SliderPreference for haptics" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
de81197c74
@@ -24,10 +24,10 @@ import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.SliderPreferenceController;
|
||||
import com.android.settings.widget.SeekBarPreference;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
import com.android.settingslib.core.lifecycle.events.OnStart;
|
||||
import com.android.settingslib.core.lifecycle.events.OnStop;
|
||||
import com.android.settingslib.widget.SliderPreference;
|
||||
|
||||
/**
|
||||
* Abstract preference controller for a vibration intensity setting, that displays multiple
|
||||
@@ -69,15 +69,16 @@ public abstract class VibrationIntensityPreferenceController extends SliderPrefe
|
||||
@Override
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
final SeekBarPreference preference = screen.findPreference(getPreferenceKey());
|
||||
final SliderPreference preference = screen.findPreference(getPreferenceKey());
|
||||
mSettingsContentObserver.onDisplayPreference(this, preference);
|
||||
preference.setEnabled(mPreferenceConfig.isPreferenceEnabled());
|
||||
preference.setSummaryProvider(unused -> mPreferenceConfig.getSummary());
|
||||
preference.setMin(getMin());
|
||||
preference.setMax(getMax());
|
||||
preference.setSliderIncrement(1); // Discrete slider
|
||||
// Haptics previews played by the Settings app don't bypass user settings to be played.
|
||||
// The sliders continuously updates the intensity value so the previews can apply them.
|
||||
preference.setContinuousUpdates(true);
|
||||
preference.setUpdatesContinuously(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -42,6 +42,9 @@ public abstract class SliderPreferenceController extends BasePreferenceControlle
|
||||
} else if (preference instanceof androidx.preference.SeekBarPreference) {
|
||||
((androidx.preference.SeekBarPreference) preference)
|
||||
.setValue(getSliderPosition());
|
||||
} else if (preference instanceof com.android.settingslib.widget.SliderPreference) {
|
||||
((com.android.settingslib.widget.SliderPreference) preference)
|
||||
.setValue(getSliderPosition());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user