Merge "Make WallpaperPreferenceController available when only style picker present."
This commit is contained in:
committed by
Android (Google) Code Review
commit
827665a4a4
@@ -62,8 +62,11 @@ public class WallpaperPreferenceController extends BasePreferenceController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public ComponentName getComponentName() {
|
public ComponentName getComponentName() {
|
||||||
return new ComponentName(mWallpaperPackage,
|
return new ComponentName(mWallpaperPackage, getComponentClassString());
|
||||||
areStylesAvailable() ? mStylesAndWallpaperClass : mWallpaperClass);
|
}
|
||||||
|
|
||||||
|
public String getComponentClassString() {
|
||||||
|
return areStylesAvailable() ? mStylesAndWallpaperClass : mWallpaperClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getKeywords() {
|
public String getKeywords() {
|
||||||
@@ -76,11 +79,12 @@ public class WallpaperPreferenceController extends BasePreferenceController {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus() {
|
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!");
|
Log.e(TAG, "No Wallpaper picker specified!");
|
||||||
return UNSUPPORTED_ON_DEVICE;
|
return UNSUPPORTED_ON_DEVICE;
|
||||||
}
|
}
|
||||||
return canResolveWallpaperComponent(mWallpaperClass)
|
return canResolveWallpaperComponent(getComponentClassString())
|
||||||
? AVAILABLE_UNSEARCHABLE : CONDITIONALLY_UNAVAILABLE;
|
? AVAILABLE_UNSEARCHABLE : CONDITIONALLY_UNAVAILABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -73,21 +73,62 @@ public class WallpaperPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isAvailable_wallpaperPickerEnabled_shouldReturnTrue() {
|
public void isAvailable_wallpaperPickerEnabledAndStylePickerEnabled_returnsTrue() {
|
||||||
mShadowPackageManager.setResolveInfosForIntent(
|
mShadowPackageManager.setResolveInfosForIntent(
|
||||||
mWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class)));
|
mWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class)));
|
||||||
|
mShadowPackageManager.setResolveInfosForIntent(
|
||||||
|
mStylesAndWallpaperIntent, Lists.newArrayList(mock(ResolveInfo.class)));
|
||||||
|
|
||||||
assertThat(mController.isAvailable()).isTrue();
|
assertThat(mController.isAvailable()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isAvailable_wallpaperPickerDisabled_shouldReturnFalse() {
|
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_wallpaperPickerDisabledAndStylePickerEnabled_returnsTrue() {
|
||||||
mShadowPackageManager.setResolveInfosForIntent(
|
mShadowPackageManager.setResolveInfosForIntent(
|
||||||
mWallpaperIntent, Lists.newArrayList());
|
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();
|
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
|
@Test
|
||||||
public void areStylesAvailable_noComponentSpecified() {
|
public void areStylesAvailable_noComponentSpecified() {
|
||||||
SettingsShadowResources.overrideResource(
|
SettingsShadowResources.overrideResource(
|
||||||
|
Reference in New Issue
Block a user