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
This commit is contained in:
Doris Ling
2016-08-23 16:08:34 -07:00
parent 0948ce0cdb
commit 008ba4ec40
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);
}
void onViewVisible() {
if (mVideoReady && mMediaPlayer != null && !mMediaPlayer.isPlaying()) {
mMediaPlayer.seekTo(0);
}
}
private static final class PreviewRetriever extends AsyncLoader<Bitmap> {
private Uri mVideoPath;

View File

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