From 4245ad477166d60f12d45055afca3484dcd91d77 Mon Sep 17 00:00:00 2001 From: Doris Ling Date: Fri, 21 Oct 2016 14:28:54 -0700 Subject: [PATCH] Ensure that the gesture animation video is paused properly. Add the handling to pause the animation video when user navigates away from the gesture settings. Test: Manual - play gesture animation videos, then switch to another app in recents. Verifies from logcat that NuPlayerDriver is not active. Fix: 32064123 Change-Id: I3d0fb3946e4d0d77a686aa97cfabe667862cac17 --- .../android/settings/gestures/GesturePreference.java | 10 ++++++++++ src/com/android/settings/gestures/GestureSettings.java | 8 ++++++++ 2 files changed, 18 insertions(+) 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;