Remove mVideoPaused from VideoPreference

- We destoryed the MediaPlayer when VideoPreference is onPause().
When VideoPreference is onResumed, MediaPlayer always start from
pause state, we don't need a data save/restore current video state.

Bug: 143270527
Test: robolectric, manual
Change-Id: I544e933e4237f6d92aeff8a7eb04b52e89d74a4a
This commit is contained in:
Raff Tsai
2019-11-01 10:37:27 +08:00
parent 9101ab566a
commit 68927639ee
10 changed files with 17 additions and 158 deletions

View File

@@ -20,12 +20,10 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.os.Bundle;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -83,29 +81,15 @@ public class GesturePreferenceControllerTest {
}
@Test
public void onResume_shouldStartVideoPreferenceWithVideoPauseState() {
public void onResume_shouldStartVideoPreference() {
final VideoPreference videoPreference = mock(VideoPreference.class);
when(mScreen.findPreference(mController.getVideoPrefKey())).thenReturn(videoPreference);
mController.mIsPrefAvailable = true;
mController.displayPreference(mScreen);
final Bundle savedState = new Bundle();
mController.onCreate(null);
mController.onResume();
verify(videoPreference).onViewVisible(false);
reset(videoPreference);
savedState.putBoolean(GesturePreferenceController.KEY_VIDEO_PAUSED, true);
mController.onCreate(savedState);
mController.onResume();
verify(videoPreference).onViewVisible(true);
reset(videoPreference);
savedState.putBoolean(GesturePreferenceController.KEY_VIDEO_PAUSED, false);
mController.onCreate(savedState);
mController.onResume();
verify(videoPreference).onViewVisible(false);
verify(videoPreference).onViewVisible();
}
@Test
@@ -120,35 +104,6 @@ public class GesturePreferenceControllerTest {
verify(videoPreference).onViewInvisible();
}
@Test
public void onPause_shouldUpdateVideoPauseState() {
final VideoPreference videoPreference = mock(VideoPreference.class);
when(mScreen.findPreference(mController.getVideoPrefKey())).thenReturn(videoPreference);
mController.mIsPrefAvailable = true;
mController.displayPreference(mScreen);
when(videoPreference.isVideoPaused()).thenReturn(true);
mController.onPause();
assertThat(mController.mVideoPaused).isTrue();
when(videoPreference.isVideoPaused()).thenReturn(false);
mController.onPause();
assertThat(mController.mVideoPaused).isFalse();
}
@Test
public void onSaveInstanceState_shouldSaveVideoPauseState() {
final Bundle outState = mock(Bundle.class);
mController.mVideoPaused = true;
mController.onSaveInstanceState(outState);
verify(outState).putBoolean(GesturePreferenceController.KEY_VIDEO_PAUSED, true);
mController.mVideoPaused = false;
mController.onSaveInstanceState(outState);
verify(outState).putBoolean(GesturePreferenceController.KEY_VIDEO_PAUSED, false);
}
@Test
public void updateState_preferenceSetCheckedWhenSettingIsOn() {
// Mock a TwoStatePreference

View File

@@ -21,7 +21,6 @@ import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.anyBoolean;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@@ -92,6 +91,6 @@ public class VideoPreferenceControllerTest {
mController.onResume();
verify(mPreference).onViewVisible(anyBoolean());
verify(mPreference).onViewVisible();
}
}

View File

@@ -107,8 +107,6 @@ public class VideoPreferenceTest {
@Test
public void onViewInvisible_shouldReleaseMediaplayer() {
mVideoPreference.onViewVisible(false);
mVideoPreference.onViewInvisible();
verify(mAnimationController).release();