Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1ca6b253 authored by Fan Zhang's avatar Fan Zhang
Browse files

Don't attempt to tint icon if icon is not available

Change-Id: I0aa2a17d51d966dce182381c7bba8913ad997738
Fixes: 65460834
Test: robotests
parent 5b017f7b
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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
+11 −0
Original line number Diff line number Diff line
@@ -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;