diff --git a/src/com/android/settings/gestures/GesturePreference.java b/src/com/android/settings/gestures/GesturePreference.java index 1909dcd3646..5a64a5a6b10 100644 --- a/src/com/android/settings/gestures/GesturePreference.java +++ b/src/com/android/settings/gestures/GesturePreference.java @@ -150,6 +150,10 @@ public final class GesturePreference extends SwitchPreference { playButton.setVisibility(View.VISIBLE); } } + if (mMediaPlayer != null && !mMediaPlayer.isPlaying() && + playButton.getVisibility() != View.VISIBLE) { + playButton.setVisibility(View.VISIBLE); + } } }); @@ -175,4 +179,10 @@ public final class GesturePreference extends SwitchPreference { } } + void onViewInvisible() { + if (mMediaPlayer != null && mMediaPlayer.isPlaying()) { + mMediaPlayer.pause(); + } + } + } diff --git a/src/com/android/settings/gestures/GestureSettings.java b/src/com/android/settings/gestures/GestureSettings.java index 74080ce7dfc..c03c5e11785 100644 --- a/src/com/android/settings/gestures/GestureSettings.java +++ b/src/com/android/settings/gestures/GestureSettings.java @@ -144,6 +144,14 @@ public class GestureSettings extends SettingsPreferenceFragment implements } } + @Override + public void onStop() { + super.onStop(); + for (GesturePreference preference : mPreferences) { + preference.onViewInvisible(); + } + } + @Override public boolean onPreferenceChange(Preference preference, Object newValue) { boolean enabled = (boolean) newValue;