From 465e92654275e532cfdd78cff3e7da64f46b5ea8 Mon Sep 17 00:00:00 2001 From: Doris Ling Date: Tue, 23 Aug 2016 16:08:34 -0700 Subject: [PATCH] Fix animation video render issue when Settings->Moves is resumed from screen off. Re-initialize the animation video if necessary when the preference is visible to the user. Fixes: 31023261 Test: manual - 1. Go to Settings -> Moves and verify that the animation video are displayed correctly on load. 2. Press power button to turn screen off, then on again. Verify when Moves settings resumes, the animation video is displayed correctly. 3. Repeat #2 above but let display time out instead of turning off screen by power button. Change-Id: I0ee21d23a4c402b3a8463dca3b36fce67d651993 (cherry picked from commit 008ba4ec402c6b223ff4126d9a180b3931a049ef) --- src/com/android/settings/gestures/GesturePreference.java | 6 ++++++ src/com/android/settings/gestures/GestureSettings.java | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/src/com/android/settings/gestures/GesturePreference.java b/src/com/android/settings/gestures/GesturePreference.java index eae7316ac4..2d921bf49d 100644 --- a/src/com/android/settings/gestures/GesturePreference.java +++ b/src/com/android/settings/gestures/GesturePreference.java @@ -185,6 +185,12 @@ public final class GesturePreference extends SwitchPreference implements Loader loader = manager.initLoader(id, Bundle.EMPTY, this); } + void onViewVisible() { + if (mVideoReady && mMediaPlayer != null && !mMediaPlayer.isPlaying()) { + mMediaPlayer.seekTo(0); + } + } + private static final class PreviewRetriever extends AsyncLoader { private Uri mVideoPath; diff --git a/src/com/android/settings/gestures/GestureSettings.java b/src/com/android/settings/gestures/GestureSettings.java index 8f028b6163..9932bd68b9 100644 --- a/src/com/android/settings/gestures/GestureSettings.java +++ b/src/com/android/settings/gestures/GestureSettings.java @@ -119,6 +119,14 @@ public class GestureSettings extends SettingsPreferenceFragment implements } @Override + public void onStart() { + super.onStart(); + for (GesturePreference preference : mPreferences) { + preference.onViewVisible(); + } + } + + @Override public boolean onPreferenceChange(Preference preference, Object newValue) { boolean enabled = (boolean) newValue; String key = preference.getKey(); -- 2.11.0