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

am: ed71e21541

Change-Id: Ic2f5d6c35ac8bb7a14d1949be53beb6b6bf4cd16
This commit is contained in:
Fan Zhang
2017-09-08 22:23:19 +00:00
committed by android-build-merger
2 changed files with 14 additions and 0 deletions

View File

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

View File

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