Merge "Use safe icon when building unavailable slices."
diff --git a/res/mipmap-hdpi/ic_accessibility_generic.png b/res/drawable-hdpi/ic_accessibility_generic.png
similarity index 100%
rename from res/mipmap-hdpi/ic_accessibility_generic.png
rename to res/drawable-hdpi/ic_accessibility_generic.png
Binary files differ
diff --git a/res/mipmap-mdpi/ic_accessibility_generic.png b/res/drawable-mdpi/ic_accessibility_generic.png
similarity index 100%
rename from res/mipmap-mdpi/ic_accessibility_generic.png
rename to res/drawable-mdpi/ic_accessibility_generic.png
Binary files differ
diff --git a/res/mipmap-xhdpi/ic_accessibility_generic.png b/res/drawable-xhdpi/ic_accessibility_generic.png
similarity index 100%
rename from res/mipmap-xhdpi/ic_accessibility_generic.png
rename to res/drawable-xhdpi/ic_accessibility_generic.png
Binary files differ
diff --git a/res/mipmap-xxhdpi/ic_accessibility_generic.png b/res/drawable-xxhdpi/ic_accessibility_generic.png
similarity index 100%
rename from res/mipmap-xxhdpi/ic_accessibility_generic.png
rename to res/drawable-xxhdpi/ic_accessibility_generic.png
Binary files differ
diff --git a/res/mipmap-xxxhdpi/ic_accessibility_generic.png b/res/drawable-xxxhdpi/ic_accessibility_generic.png
similarity index 100%
rename from res/mipmap-xxxhdpi/ic_accessibility_generic.png
rename to res/drawable-xxxhdpi/ic_accessibility_generic.png
Binary files differ
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index 9a8ef54..65b0e86 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -550,7 +550,7 @@
Drawable icon;
if (resolveInfo.getIconResource() == 0) {
- icon = ContextCompat.getDrawable(getContext(), R.mipmap.ic_accessibility_generic);
+ icon = ContextCompat.getDrawable(getContext(), R.drawable.ic_accessibility_generic);
} else {
icon = resolveInfo.loadIcon(getPackageManager());
}
diff --git a/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java b/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java
index aa5cd59..213bfbd 100644
--- a/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java
+++ b/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java
@@ -258,7 +258,7 @@
public Drawable loadIcon() {
final ResolveInfo resolveInfo = mServiceInfo.getResolveInfo();
return (resolveInfo.getIconResource() == 0)
- ? getContext().getDrawable(R.mipmap.ic_accessibility_generic)
+ ? getContext().getDrawable(R.drawable.ic_accessibility_generic)
: resolveInfo.loadIcon(getContext().getPackageManager());
}
diff --git a/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java b/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java
index e394c03..6fe1204 100644
--- a/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java
+++ b/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java
@@ -43,7 +43,7 @@
.build();
final ContextualCard batteryInfoCard =
ContextualCard.newBuilder()
- .setSliceUri(BatterySlice.BATTERY_CARD_URI.toSafeString())
+ .setSliceUri(BatterySlice.BATTERY_CARD_URI.toString())
.setCardName(BatterySlice.PATH_BATTERY_INFO)
.build();
final ContextualCard connectedDeviceCard =
diff --git a/src/com/android/settings/slices/SliceBuilderUtils.java b/src/com/android/settings/slices/SliceBuilderUtils.java
index a947fb2..2432cc6 100644
--- a/src/com/android/settings/slices/SliceBuilderUtils.java
+++ b/src/com/android/settings/slices/SliceBuilderUtils.java
@@ -385,7 +385,7 @@
final Set<String> keywords = buildSliceKeywords(data);
@ColorInt final int color = Utils.getColorAccentDefaultColor(context);
final CharSequence summary = context.getText(R.string.disabled_dependent_setting_summary);
- final IconCompat icon = IconCompat.createWithResource(context, data.getIconResource());
+ final IconCompat icon = getSafeIcon(context, data);
final SliceAction primaryAction = new SliceAction(getContentPendingIntent(context, data),
icon, title);
diff --git a/src/com/android/settings/slices/SliceDataConverter.java b/src/com/android/settings/slices/SliceDataConverter.java
index 3d9cf45..cb2980d 100644
--- a/src/com/android/settings/slices/SliceDataConverter.java
+++ b/src/com/android/settings/slices/SliceDataConverter.java
@@ -277,7 +277,7 @@
final String title = resolveInfo.loadLabel(packageManager).toString();
int iconResource = resolveInfo.getIconResource();
if (iconResource == 0) {
- iconResource = R.mipmap.ic_accessibility_generic;
+ iconResource = R.drawable.ic_accessibility_generic;
}
sliceDataBuilder.setKey(flattenedName)
diff --git a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
index f9cc427..1055667 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
@@ -433,6 +433,25 @@
}
@Test
+ public void buildDisabledDependentSlice_noIconPassed_returnsSliceWithIcon() {
+ final int expectedIconResource = IconCompat.createWithResource(mContext,
+ R.drawable.ic_settings).toIcon().getResId();
+ final SliceData data = getDummyData(FakeUnavailablePreferenceController.class,
+ SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE, 0 /* icon */,
+ IS_DYNAMIC_SUMMARY_ALLOWED);
+ Settings.Global.putInt(mContext.getContentResolver(),
+ FakeUnavailablePreferenceController.AVAILABILITY_KEY,
+ BasePreferenceController.DISABLED_DEPENDENT_SETTING);
+
+ final Slice slice = SliceBuilderUtils.buildSlice(mContext, data);
+
+ final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
+ final SliceAction primaryAction = metadata.getPrimaryAction();
+ final int actualIconResource = primaryAction.getIcon().toIcon().getResId();
+ assertThat(actualIconResource).isEqualTo(expectedIconResource);
+ }
+
+ @Test
public void buildToggleSlice_noIconPassed_returnsSliceWithIcon() {
final int expectedIconResource = IconCompat.createWithResource(mContext,
R.drawable.ic_settings).toIcon().getResId();