From 33712a7fb4ec9319102d378c03aa567430fe3503 Mon Sep 17 00:00:00 2001 From: Noah Wang Date: Mon, 25 Jan 2016 22:32:00 -0800 Subject: [PATCH] Reflect settings change right after interaction Change-Id: I3e15925e19f65c6de62a844fb51b242d71bb4d4e --- .../PreviewSeekBarPreferenceFragment.java | 38 ++++++++++++------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/src/com/android/settings/PreviewSeekBarPreferenceFragment.java b/src/com/android/settings/PreviewSeekBarPreferenceFragment.java index 0b4c1a95b2d..ea8b55ac078 100644 --- a/src/com/android/settings/PreviewSeekBarPreferenceFragment.java +++ b/src/com/android/settings/PreviewSeekBarPreferenceFragment.java @@ -57,6 +57,29 @@ public abstract class PreviewSeekBarPreferenceFragment extends SettingsPreferenc private View mLarger; private View mSmaller; + private class onPreviewSeekBarChangeListener implements OnSeekBarChangeListener { + private boolean mSeekByTouch; + + @Override + public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { + setPreviewLayer(progress, true); + if (!mSeekByTouch) { + commit(); + } + } + + @Override + public void onStartTrackingTouch(SeekBar seekBar) { + mSeekByTouch = true; + } + + @Override + public void onStopTrackingTouch(SeekBar seekBar) { + commit(); + mSeekByTouch = false; + } + } + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -77,20 +100,7 @@ public abstract class PreviewSeekBarPreferenceFragment extends SettingsPreferenc final SeekBar seekBar = (SeekBar) content.findViewById(R.id.seek_bar); seekBar.setMax(max); seekBar.setProgress(mInitialIndex); - seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { - @Override - public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { - setPreviewLayer(progress, true); - } - - @Override - public void onStartTrackingTouch(SeekBar seekBar) { - } - - @Override - public void onStopTrackingTouch(SeekBar seekBar) { - } - }); + seekBar.setOnSeekBarChangeListener(new onPreviewSeekBarChangeListener()); mSmaller = content.findViewById(R.id.smaller); mSmaller.setOnClickListener(new OnClickListener() {