Merge "Don't attempt to tint icon if icon is not available" into oc-mr1-dev

This commit is contained in:
TreeHugger Robot
2017-09-08 21:42:32 +00:00
committed by Android (Google) Code Review
2 changed files with 14 additions and 0 deletions

View File

@@ -230,6 +230,9 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
@VisibleForTesting
boolean tintTileIcon(Tile tile) {
if (tile.icon == null) {
return false;
}
// First check if the tile has set the icon tintable metadata.
final Bundle metadata = tile.metaData;
if (metadata != null

View File

@@ -27,6 +27,7 @@ import static org.mockito.Mockito.when;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Icon;
import android.os.Bundle;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceManager;
@@ -158,6 +159,7 @@ public class DashboardFragmentTest {
@Test
public void tintTileIcon_hasMetadata_shouldReturnIconTintableMetadata() {
final Tile tile = new Tile();
tile.icon = mock(Icon.class);
final Bundle metaData = new Bundle();
tile.metaData = metaData;
@@ -168,10 +170,19 @@ public class DashboardFragmentTest {
assertThat(mTestFragment.tintTileIcon(tile)).isTrue();
}
@Test
public void tintTileIcon_noIcon_shouldReturnFalse() {
final Tile tile = new Tile();
final Bundle metaData = new Bundle();
tile.metaData = metaData;
assertThat(mTestFragment.tintTileIcon(tile)).isFalse();
}
@Test
public void tintTileIcon_noMetadata_shouldReturnPackageNameCheck() {
final Tile tile = new Tile();
tile.icon = mock(Icon.class);
final Intent intent = new Intent();
tile.intent = intent;