From a44bfb5a396056e22825f4989eee47b90b7bbc14 Mon Sep 17 00:00:00 2001 From: luca020400 Date: Tue, 10 May 2016 22:56:23 +0200 Subject: Settings: Move vibrator value restore to onActivityStop Change-Id: Ia35f1dcffd86c8c2717e68cd91537d652ecfa982 --- src/com/android/settings/hardware/VibratorIntensity.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/com/android') diff --git a/src/com/android/settings/hardware/VibratorIntensity.java b/src/com/android/settings/hardware/VibratorIntensity.java index c17c3762f..a778f3603 100644 --- a/src/com/android/settings/hardware/VibratorIntensity.java +++ b/src/com/android/settings/hardware/VibratorIntensity.java @@ -42,7 +42,7 @@ import cyanogenmod.providers.CMSettings; import com.android.settings.R; public class VibratorIntensity extends DialogPreference implements - SeekBar.OnSeekBarChangeListener { + SeekBar.OnSeekBarChangeListener, PreferenceManager.OnActivityStopListener { private static final String PREF_NAME = "vibrator_intensity"; private SeekBar mSeekBar; private TextView mValue; @@ -122,6 +122,8 @@ public class VibratorIntensity extends DialogPreference implements mSeekBar.setOnSeekBarChangeListener(this); mSeekBar.setMax(mMaxValue - mMinValue); mSeekBar.setProgress(mOriginalValue - mMinValue); + + getPreferenceManager().registerOnActivityStopListener(this); } @Override @@ -156,6 +158,13 @@ public class VibratorIntensity extends DialogPreference implements CMSettings.Secure.putInt(getContext().getContentResolver(), CMSettings.Secure.VIBRATOR_INTENSITY, mOriginalValue); } + + getPreferenceManager().unregisterOnActivityStopListener(this); + } + + @Override + public void onActivityStop() { + mHardware.setVibratorIntensity(mOriginalValue); } public static void restore(Context context) { @@ -198,7 +207,6 @@ public class VibratorIntensity extends DialogPreference implements mHardware.setVibratorIntensity(seekBar.getProgress() + mMinValue); Vibrator vib = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE); vib.vibrate(200); - mHardware.setVibratorIntensity(mOriginalValue); } private static int intensityToPercent(int minValue, int maxValue, int value) { -- cgit v1.2.3