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 008ba4ec40)
This commit is contained in:
Doris Ling
2016-08-23 16:08:34 -07:00
parent 1330f130d6
commit 465e926542
2 changed files with 14 additions and 0 deletions

View File

@@ -185,6 +185,12 @@ public final class GesturePreference extends SwitchPreference implements
Loader<Bitmap> loader = manager.initLoader(id, Bundle.EMPTY, this); Loader<Bitmap> 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<Bitmap> { private static final class PreviewRetriever extends AsyncLoader<Bitmap> {
private Uri mVideoPath; private Uri mVideoPath;

View File

@@ -118,6 +118,14 @@ public class GestureSettings extends SettingsPreferenceFragment implements
return view; return view;
} }
@Override
public void onStart() {
super.onStart();
for (GesturePreference preference : mPreferences) {
preference.onViewVisible();
}
}
@Override @Override
public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceChange(Preference preference, Object newValue) {
boolean enabled = (boolean) newValue; boolean enabled = (boolean) newValue;