Loading src/com/android/settings/display/WallpaperPreferenceController.java +8 −4 Original line number Diff line number Diff line Loading @@ -62,8 +62,11 @@ public class WallpaperPreferenceController extends BasePreferenceController { } public ComponentName getComponentName() { return new ComponentName(mWallpaperPackage, areStylesAvailable() ? mStylesAndWallpaperClass : mWallpaperClass); return new ComponentName(mWallpaperPackage, getComponentClassString()); } public String getComponentClassString() { return areStylesAvailable() ? mStylesAndWallpaperClass : mWallpaperClass; } public String getKeywords() { Loading @@ -76,11 +79,12 @@ public class WallpaperPreferenceController extends BasePreferenceController { @Override public int getAvailabilityStatus() { if (TextUtils.isEmpty(mWallpaperPackage) || TextUtils.isEmpty(mWallpaperClass)) { if ((TextUtils.isEmpty(mWallpaperClass) && TextUtils.isEmpty(mStylesAndWallpaperClass)) || TextUtils.isEmpty(mWallpaperPackage)) { Log.e(TAG, "No Wallpaper picker specified!"); return UNSUPPORTED_ON_DEVICE; } return canResolveWallpaperComponent(mWallpaperClass) return canResolveWallpaperComponent(getComponentClassString()) ? AVAILABLE_UNSEARCHABLE : CONDITIONALLY_UNAVAILABLE; } Loading tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java +43 −2 Original line number Diff line number Diff line Loading @@ -73,21 +73,62 @@ public class WallpaperPreferenceControllerTest { } @Test public void isAvailable_wallpaperPickerEnabled_shouldReturnTrue() { public void isAvailable_wallpaperPickerEnabledAndStylePickerEnabled_returnsTrue() { mShadowPackageManager.setResolveInfosForIntent( mWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class))); mShadowPackageManager.setResolveInfosForIntent( mStylesAndWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class))); assertThat(mController.isAvailable()).isTrue(); } @Test public void isAvailable_wallpaperPickerEnabledAndStylePickerDisabled_returnsTrue() { mShadowPackageManager.setResolveInfosForIntent( mWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class))); mShadowPackageManager.setResolveInfosForIntent( mStylesAndWallpaperIntent, Lists.newArrayList()); assertThat(mController.isAvailable()).isTrue(); } @Test public void isAvailable_wallpaperPickerDisabled_shouldReturnFalse() { public void isAvailable_wallpaperPickerDisabledAndStylePickerEnabled_returnsTrue() { mShadowPackageManager.setResolveInfosForIntent( mWallpaperIntent, Lists.newArrayList()); mShadowPackageManager.setResolveInfosForIntent( mStylesAndWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class))); assertThat(mController.isAvailable()).isTrue(); } @Test public void isAvailable_wallpaperPickerDisabledAndStylePickerDisabled_returnsFalse() { mShadowPackageManager.setResolveInfosForIntent( mWallpaperIntent, Lists.newArrayList()); mShadowPackageManager.setResolveInfosForIntent( mStylesAndWallpaperIntent, Lists.newArrayList()); assertThat(mController.isAvailable()).isFalse(); } @Test public void getComponentClassString_stylesAvailable_returnsStylePickerClassString() { mShadowPackageManager.setResolveInfosForIntent( mStylesAndWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class))); assertThat(mController.getComponentClassString()) .isEqualTo(mContext.getString(R.string.config_styles_and_wallpaper_picker_class)); } @Test public void getComponentClassString_stylesUnavailable_returnsWallpaperPickerClassString() { mShadowPackageManager.setResolveInfosForIntent( mStylesAndWallpaperIntent, Lists.newArrayList()); assertThat(mController.getComponentClassString()) .isEqualTo(mContext.getString(R.string.config_wallpaper_picker_class)); } @Test public void areStylesAvailable_noComponentSpecified() { SettingsShadowResources.overrideResource( Loading Loading
src/com/android/settings/display/WallpaperPreferenceController.java +8 −4 Original line number Diff line number Diff line Loading @@ -62,8 +62,11 @@ public class WallpaperPreferenceController extends BasePreferenceController { } public ComponentName getComponentName() { return new ComponentName(mWallpaperPackage, areStylesAvailable() ? mStylesAndWallpaperClass : mWallpaperClass); return new ComponentName(mWallpaperPackage, getComponentClassString()); } public String getComponentClassString() { return areStylesAvailable() ? mStylesAndWallpaperClass : mWallpaperClass; } public String getKeywords() { Loading @@ -76,11 +79,12 @@ public class WallpaperPreferenceController extends BasePreferenceController { @Override public int getAvailabilityStatus() { if (TextUtils.isEmpty(mWallpaperPackage) || TextUtils.isEmpty(mWallpaperClass)) { if ((TextUtils.isEmpty(mWallpaperClass) && TextUtils.isEmpty(mStylesAndWallpaperClass)) || TextUtils.isEmpty(mWallpaperPackage)) { Log.e(TAG, "No Wallpaper picker specified!"); return UNSUPPORTED_ON_DEVICE; } return canResolveWallpaperComponent(mWallpaperClass) return canResolveWallpaperComponent(getComponentClassString()) ? AVAILABLE_UNSEARCHABLE : CONDITIONALLY_UNAVAILABLE; } Loading
tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java +43 −2 Original line number Diff line number Diff line Loading @@ -73,21 +73,62 @@ public class WallpaperPreferenceControllerTest { } @Test public void isAvailable_wallpaperPickerEnabled_shouldReturnTrue() { public void isAvailable_wallpaperPickerEnabledAndStylePickerEnabled_returnsTrue() { mShadowPackageManager.setResolveInfosForIntent( mWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class))); mShadowPackageManager.setResolveInfosForIntent( mStylesAndWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class))); assertThat(mController.isAvailable()).isTrue(); } @Test public void isAvailable_wallpaperPickerEnabledAndStylePickerDisabled_returnsTrue() { mShadowPackageManager.setResolveInfosForIntent( mWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class))); mShadowPackageManager.setResolveInfosForIntent( mStylesAndWallpaperIntent, Lists.newArrayList()); assertThat(mController.isAvailable()).isTrue(); } @Test public void isAvailable_wallpaperPickerDisabled_shouldReturnFalse() { public void isAvailable_wallpaperPickerDisabledAndStylePickerEnabled_returnsTrue() { mShadowPackageManager.setResolveInfosForIntent( mWallpaperIntent, Lists.newArrayList()); mShadowPackageManager.setResolveInfosForIntent( mStylesAndWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class))); assertThat(mController.isAvailable()).isTrue(); } @Test public void isAvailable_wallpaperPickerDisabledAndStylePickerDisabled_returnsFalse() { mShadowPackageManager.setResolveInfosForIntent( mWallpaperIntent, Lists.newArrayList()); mShadowPackageManager.setResolveInfosForIntent( mStylesAndWallpaperIntent, Lists.newArrayList()); assertThat(mController.isAvailable()).isFalse(); } @Test public void getComponentClassString_stylesAvailable_returnsStylePickerClassString() { mShadowPackageManager.setResolveInfosForIntent( mStylesAndWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class))); assertThat(mController.getComponentClassString()) .isEqualTo(mContext.getString(R.string.config_styles_and_wallpaper_picker_class)); } @Test public void getComponentClassString_stylesUnavailable_returnsWallpaperPickerClassString() { mShadowPackageManager.setResolveInfosForIntent( mStylesAndWallpaperIntent, Lists.newArrayList()); assertThat(mController.getComponentClassString()) .isEqualTo(mContext.getString(R.string.config_wallpaper_picker_class)); } @Test public void areStylesAvailable_noComponentSpecified() { SettingsShadowResources.overrideResource( Loading