Merge "Set default background color for home icon."

This commit is contained in:
TreeHugger Robot
2019-02-13 19:56:35 +00:00
committed by Android (Google) Code Review
2 changed files with 16 additions and 0 deletions

View File

@@ -72,11 +72,13 @@ public class AdaptiveHomepageIcon extends LayerDrawable {
// If found anything, use it. // If found anything, use it.
if (bgColor != 0) { if (bgColor != 0) {
setBackgroundColor(bgColor); setBackgroundColor(bgColor);
return;
} }
} }
} catch (PackageManager.NameNotFoundException e) { } catch (PackageManager.NameNotFoundException e) {
Log.e(TAG, "Failed to set background color for " + tile.getPackageName()); Log.e(TAG, "Failed to set background color for " + tile.getPackageName());
} }
setBackgroundColor(context.getColor(R.color.homepage_generic_icon_background));
} }
public void setBackgroundColor(int color) { public void setBackgroundColor(int color) {

View File

@@ -96,6 +96,20 @@ public class AdaptiveHomepageIconTest {
assertThat(icon.mBackgroundColor).isEqualTo(0xff0000); assertThat(icon.mBackgroundColor).isEqualTo(0xff0000);
} }
@Test
public void setBackgroundColor_tileWithoutBackgroundColor_shouldSetDefaultBackgroundColor() {
final Tile tile = spy(new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE));
doReturn(Icon.createWithResource(mContext, R.drawable.ic_settings))
.when(tile).getIcon(mContext);
final AdaptiveHomepageIcon icon =
new AdaptiveHomepageIcon(mContext, new ColorDrawable(Color.BLACK));
icon.setBackgroundColor(mContext, tile);
assertThat(icon.mBackgroundColor).isEqualTo(
mContext.getColor(R.color.homepage_generic_icon_background));
}
@Test @Test
public void onBindTile_externalTileWithBackgroundColorHint_shouldUpdateIcon() { public void onBindTile_externalTileWithBackgroundColorHint_shouldUpdateIcon() {
final Tile tile = spy(new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE)); final Tile tile = spy(new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE));