Fix videoPreference is broken when switch to multiple window
Fixes: 117802997
Test: robolectric, switch between multiple window and single window.
The video should keep displaying.
Change-Id: I97b6a4516b2591b80d9a046809ce4090fb02c80f
diff --git a/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java b/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
index 729962d..8e7031d 100644
--- a/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
+++ b/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
@@ -68,7 +68,7 @@
}
@Override
- public void onResume() {
+ public void onStart() {
if (mWasAvailable != isAvailable()) {
// Only update the preference visibility if the availability has changed -- otherwise
// the preference may be incorrectly added to screens with collapsed sections.
diff --git a/src/com/android/settings/gestures/GesturePreferenceController.java b/src/com/android/settings/gestures/GesturePreferenceController.java
index 845fba3..4fcf276 100644
--- a/src/com/android/settings/gestures/GesturePreferenceController.java
+++ b/src/com/android/settings/gestures/GesturePreferenceController.java
@@ -25,12 +25,12 @@
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.widget.VideoPreference;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnPause;
-import com.android.settingslib.core.lifecycle.events.OnResume;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
public abstract class GesturePreferenceController extends TogglePreferenceController
implements Preference.OnPreferenceChangeListener,
- LifecycleObserver, OnResume, OnPause {
+ LifecycleObserver, OnStart, OnStop {
private VideoPreference mVideoPreference;
@@ -62,16 +62,16 @@
}
@Override
- public void onPause() {
+ public void onStart() {
if (mVideoPreference != null) {
- mVideoPreference.onViewInvisible();
+ mVideoPreference.onViewVisible();
}
}
@Override
- public void onResume() {
+ public void onStop() {
if (mVideoPreference != null) {
- mVideoPreference.onViewVisible();
+ mVideoPreference.onViewInvisible();
}
}
diff --git a/src/com/android/settings/widget/VideoPreferenceController.java b/src/com/android/settings/widget/VideoPreferenceController.java
index 4d7fc40..87d35ee 100644
--- a/src/com/android/settings/widget/VideoPreferenceController.java
+++ b/src/com/android/settings/widget/VideoPreferenceController.java
@@ -22,11 +22,11 @@
import com.android.settings.core.BasePreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnPause;
-import com.android.settingslib.core.lifecycle.events.OnResume;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
public class VideoPreferenceController extends BasePreferenceController implements
- LifecycleObserver, OnResume, OnPause {
+ LifecycleObserver, OnStart, OnStop {
private VideoPreference mVideoPreference;
@@ -47,17 +47,16 @@
}
@Override
- public void onPause() {
- if (mVideoPreference != null) {
- mVideoPreference.onViewInvisible();
- }
- }
-
- @Override
- public void onResume() {
+ public void onStart() {
if (mVideoPreference != null) {
mVideoPreference.onViewVisible();
}
}
+ @Override
+ public void onStop() {
+ if (mVideoPreference != null) {
+ mVideoPreference.onViewInvisible();
+ }
+ }
}
diff --git a/tests/robotests/src/com/android/settings/gestures/GesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/GesturePreferenceControllerTest.java
index cccbf97..1707c9d 100644
--- a/tests/robotests/src/com/android/settings/gestures/GesturePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/GesturePreferenceControllerTest.java
@@ -81,25 +81,25 @@
}
@Test
- public void onResume_shouldStartVideoPreference() {
+ public void onStart_shouldStartVideoPreference() {
final VideoPreference videoPreference = mock(VideoPreference.class);
when(mScreen.findPreference(mController.getVideoPrefKey())).thenReturn(videoPreference);
mController.mIsPrefAvailable = true;
mController.displayPreference(mScreen);
- mController.onResume();
+ mController.onStart();
verify(videoPreference).onViewVisible();
}
@Test
- public void onPause_shouldStopVideoPreference() {
+ public void onStop_shouldStopVideoPreference() {
final VideoPreference videoPreference = mock(VideoPreference.class);
when(mScreen.findPreference(mController.getVideoPrefKey())).thenReturn(videoPreference);
mController.mIsPrefAvailable = true;
mController.displayPreference(mScreen);
- mController.onPause();
+ mController.onStop();
verify(videoPreference).onViewInvisible();
}
diff --git a/tests/robotests/src/com/android/settings/widget/VideoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/widget/VideoPreferenceControllerTest.java
index e03c70a8..acfdcbe 100644
--- a/tests/robotests/src/com/android/settings/widget/VideoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/widget/VideoPreferenceControllerTest.java
@@ -77,19 +77,19 @@
}
@Test
- public void onPause_shouldCallOnViewInvisibleOnPrefernece() {
+ public void onStop_shouldCallOnViewInvisibleOnPrefernece() {
mController.displayPreference(mScreen);
- mController.onPause();
+ mController.onStop();
verify(mPreference).onViewInvisible();
}
@Test
- public void onResume_shouldCallOnViewVisibleOnPrefernece() {
+ public void onStart_shouldCallOnViewVisibleOnPrefernece() {
mController.displayPreference(mScreen);
- mController.onResume();
+ mController.onStart();
verify(mPreference).onViewVisible();
}