Loading src/com/android/settings/widget/VideoPreference.java +6 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ public class VideoPreference extends Preference { try { // if these are already set that means they were set dynamically and don't need // to be loaded from xml mAnimationAvailable = false; mAnimationId = mAnimationId == 0 ? attributes.getResourceId(R.styleable.VideoPreference_animation, 0) : mAnimationId; Loading @@ -91,6 +92,7 @@ public class VideoPreference extends Preference { ? attributes.getResourceId(R.styleable.VideoPreference_preview, 0) : mPreviewResource; if (mPreviewResource == 0 && mAnimationId == 0) { setVisible(false); return; } initMediaPlayer(); Loading Loading @@ -250,6 +252,10 @@ public class VideoPreference extends Preference { } } public boolean isAnimationAvailable() { return mAnimationAvailable; } public boolean isVideoPaused() { return mVideoPaused; } Loading src/com/android/settings/widget/VideoPreferenceController.java +3 −2 Original line number Diff line number Diff line Loading @@ -37,13 +37,14 @@ public class VideoPreferenceController extends BasePreferenceController implemen @Override public int getAvailabilityStatus() { return AVAILABLE_UNSEARCHABLE; return mVideoPreference.isAnimationAvailable() ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE; } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mVideoPreference = screen.findPreference(getPreferenceKey()); super.displayPreference(screen); } @Override Loading tests/robotests/src/com/android/settings/widget/VideoPreferenceControllerTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -17,10 +17,13 @@ package com.android.settings.widget; import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE; import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE; 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; import static org.mockito.Mockito.when; Loading @@ -33,6 +36,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.util.ReflectionHelpers; @RunWith(RobolectricTestRunner.class) public class VideoPreferenceControllerTest { Loading @@ -52,10 +56,27 @@ public class VideoPreferenceControllerTest { } @Test public void getAvailabilityStatus_isAlwaysAvailable() { public void getAvailabilityStatus_isAvailableUnsearchable() { final VideoPreference videoPreference = mock(VideoPreference.class); // Assign mock object to mVideoPreference in controller ReflectionHelpers.setField(mController, "mVideoPreference", videoPreference); doReturn(true).when(videoPreference).isAnimationAvailable(); assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE); } @Test public void getAvailabilityStatus_isUnsupportedOnDevice() { final VideoPreference videoPreference = mock(VideoPreference.class); // Assign mock object to mVideoPreference in controller ReflectionHelpers.setField(mController, "mVideoPreference", videoPreference); doReturn(false).when(videoPreference).isAnimationAvailable(); assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); } @Test public void onPause_shouldCallOnViewInvisibleOnPrefernece() { mController.displayPreference(mScreen); Loading Loading
src/com/android/settings/widget/VideoPreference.java +6 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,7 @@ public class VideoPreference extends Preference { try { // if these are already set that means they were set dynamically and don't need // to be loaded from xml mAnimationAvailable = false; mAnimationId = mAnimationId == 0 ? attributes.getResourceId(R.styleable.VideoPreference_animation, 0) : mAnimationId; Loading @@ -91,6 +92,7 @@ public class VideoPreference extends Preference { ? attributes.getResourceId(R.styleable.VideoPreference_preview, 0) : mPreviewResource; if (mPreviewResource == 0 && mAnimationId == 0) { setVisible(false); return; } initMediaPlayer(); Loading Loading @@ -250,6 +252,10 @@ public class VideoPreference extends Preference { } } public boolean isAnimationAvailable() { return mAnimationAvailable; } public boolean isVideoPaused() { return mVideoPaused; } Loading
src/com/android/settings/widget/VideoPreferenceController.java +3 −2 Original line number Diff line number Diff line Loading @@ -37,13 +37,14 @@ public class VideoPreferenceController extends BasePreferenceController implemen @Override public int getAvailabilityStatus() { return AVAILABLE_UNSEARCHABLE; return mVideoPreference.isAnimationAvailable() ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE; } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mVideoPreference = screen.findPreference(getPreferenceKey()); super.displayPreference(screen); } @Override Loading
tests/robotests/src/com/android/settings/widget/VideoPreferenceControllerTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -17,10 +17,13 @@ package com.android.settings.widget; import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE; import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE; 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; import static org.mockito.Mockito.when; Loading @@ -33,6 +36,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.util.ReflectionHelpers; @RunWith(RobolectricTestRunner.class) public class VideoPreferenceControllerTest { Loading @@ -52,10 +56,27 @@ public class VideoPreferenceControllerTest { } @Test public void getAvailabilityStatus_isAlwaysAvailable() { public void getAvailabilityStatus_isAvailableUnsearchable() { final VideoPreference videoPreference = mock(VideoPreference.class); // Assign mock object to mVideoPreference in controller ReflectionHelpers.setField(mController, "mVideoPreference", videoPreference); doReturn(true).when(videoPreference).isAnimationAvailable(); assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE); } @Test public void getAvailabilityStatus_isUnsupportedOnDevice() { final VideoPreference videoPreference = mock(VideoPreference.class); // Assign mock object to mVideoPreference in controller ReflectionHelpers.setField(mController, "mVideoPreference", videoPreference); doReturn(false).when(videoPreference).isAnimationAvailable(); assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); } @Test public void onPause_shouldCallOnViewInvisibleOnPrefernece() { mController.displayPreference(mScreen); Loading