Loading src/com/android/settings/slices/SliceBuilderUtils.java +7 −1 Original line number Diff line number Diff line Loading @@ -449,6 +449,12 @@ public class SliceBuilderUtils { if (iconResource == 0) { iconResource = R.drawable.ic_settings; } try { return IconCompat.createWithResource(context, iconResource); } catch (Exception e) { Log.w(TAG, "Falling back to settings icon because there is an error getting slice icon " + data.getUri(), e); return IconCompat.createWithResource(context, R.drawable.ic_settings); } } } tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java +13 −0 Original line number Diff line number Diff line Loading @@ -505,6 +505,19 @@ public class SliceBuilderUtilsTest { assertThat(actualIconResource).isEqualTo(settingsIcon); } @Test public void getSafeIcon_invalidResource_shouldFallbackToSettingsIcon() { final int settingsIcon = R.drawable.ic_settings; final int badIcon = 0x12345678; final SliceData data = getDummyData(TOGGLE_CONTROLLER, SliceData.SliceType.SWITCH, badIcon); final IconCompat actualIcon = SliceBuilderUtils.getSafeIcon(mContext, data); final int actualIconResource = actualIcon.toIcon().getResId(); assertThat(actualIconResource).isEqualTo(settingsIcon); } private SliceData getDummyData() { return getDummyData(TOGGLE_CONTROLLER, SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE, ICON, IS_DYNAMIC_SUMMARY_ALLOWED); Loading Loading
src/com/android/settings/slices/SliceBuilderUtils.java +7 −1 Original line number Diff line number Diff line Loading @@ -449,6 +449,12 @@ public class SliceBuilderUtils { if (iconResource == 0) { iconResource = R.drawable.ic_settings; } try { return IconCompat.createWithResource(context, iconResource); } catch (Exception e) { Log.w(TAG, "Falling back to settings icon because there is an error getting slice icon " + data.getUri(), e); return IconCompat.createWithResource(context, R.drawable.ic_settings); } } }
tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java +13 −0 Original line number Diff line number Diff line Loading @@ -505,6 +505,19 @@ public class SliceBuilderUtilsTest { assertThat(actualIconResource).isEqualTo(settingsIcon); } @Test public void getSafeIcon_invalidResource_shouldFallbackToSettingsIcon() { final int settingsIcon = R.drawable.ic_settings; final int badIcon = 0x12345678; final SliceData data = getDummyData(TOGGLE_CONTROLLER, SliceData.SliceType.SWITCH, badIcon); final IconCompat actualIcon = SliceBuilderUtils.getSafeIcon(mContext, data); final int actualIconResource = actualIcon.toIcon().getResId(); assertThat(actualIconResource).isEqualTo(settingsIcon); } private SliceData getDummyData() { return getDummyData(TOGGLE_CONTROLLER, SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE, ICON, IS_DYNAMIC_SUMMARY_ALLOWED); Loading