diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java index b088fe35969..1ad093fad35 100644 --- a/src/com/android/settings/notification/SoundSettings.java +++ b/src/com/android/settings/notification/SoundSettings.java @@ -204,10 +204,6 @@ public class SoundSettings extends DashboardFragment implements OnActivityResult @Override public void onSampleStarting(SeekBarVolumizer sbv) { - if (mCurrent != null && mCurrent != sbv) { - mCurrent.stopSample(); - } - mCurrent = sbv; if (mCurrent != null) { mHandler.removeMessages(STOP_SAMPLE); mHandler.sendEmptyMessageDelayed(STOP_SAMPLE, SAMPLE_CUTOFF); @@ -222,6 +218,15 @@ public class SoundSettings extends DashboardFragment implements OnActivityResult } } + @Override + public void onStartTrackingTouch(SeekBarVolumizer sbv) { + // stop the ringtone when other seek bar is adjust + if (mCurrent != null && mCurrent != sbv) { + mCurrent.stopSample(); + } + mCurrent = sbv; + } + public void stopSample() { if (mCurrent != null) { mCurrent.stopSample(); diff --git a/src/com/android/settings/notification/VolumeSeekBarPreference.java b/src/com/android/settings/notification/VolumeSeekBarPreference.java index 92b3cae61b9..36a4d8aed06 100644 --- a/src/com/android/settings/notification/VolumeSeekBarPreference.java +++ b/src/com/android/settings/notification/VolumeSeekBarPreference.java @@ -138,6 +138,12 @@ public class VolumeSeekBarPreference extends SeekBarPreference { mZenMuted = zenMuted; updateIconView(); } + @Override + public void onStartTrackingTouch(SeekBarVolumizer sbv) { + if (mCallback != null) { + mCallback.onStartTrackingTouch(sbv); + } + } }; final Uri sampleUri = mStream == AudioManager.STREAM_MUSIC ? getMediaVolumeUri() : null; if (mVolumizer == null) { @@ -201,5 +207,10 @@ public class VolumeSeekBarPreference extends SeekBarPreference { public interface Callback { void onSampleStarting(SeekBarVolumizer sbv); void onStreamValueChanged(int stream, int progress); + + /** + * Callback reporting that the seek bar is start tracking. + */ + void onStartTrackingTouch(SeekBarVolumizer sbv); } }