Loading src/com/android/settings/dashboard/DashboardAdapter.java +1 −1 Original line number Diff line number Diff line Loading @@ -315,7 +315,7 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash @VisibleForTesting void onBindTile(DashboardItemHolder holder, Tile tile) { Icon tileIcon = tile.getIcon(); Icon tileIcon = tile.getIcon(mContext); Drawable icon = mCache.getIcon(tileIcon); if (!TextUtils.equals(tileIcon.getResPackage(), mContext.getPackageName()) && !(icon instanceof RoundedHomepageIcon)) { Loading src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java +4 −4 Original line number Diff line number Diff line Loading @@ -34,6 +34,9 @@ import android.util.ArrayMap; import android.util.Log; import android.util.Pair; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.SettingsActivity; Loading @@ -50,9 +53,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; /** * Impl for {@code DashboardFeatureProvider}. */ Loading Loading @@ -238,7 +238,7 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider { @VisibleForTesting void bindIcon(Preference preference, Tile tile) { final Icon tileIcon = tile.getIcon(); final Icon tileIcon = tile.getIcon(mContext); if (tileIcon != null) { preference.setIcon(tileIcon.loadDrawable(preference.getContext())); } else if (tile.metaData != null Loading src/com/android/settings/dashboard/DashboardFragment.java +9 −8 Original line number Diff line number Diff line Loading @@ -24,6 +24,11 @@ import android.util.ArrayMap; import android.util.ArraySet; import android.util.Log; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.PreferenceControllerListHelper; Loading @@ -43,11 +48,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; /** * Base fragment for dashboard style UI containing a list of static and dynamic setting items. */ Loading Loading @@ -256,7 +256,8 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment @VisibleForTesting boolean tintTileIcon(Tile tile) { if (tile.getIcon() == null) { final Context context = getContext(); if (tile.getIcon(context) == null) { return false; } // First check if the tile has set the icon tintable metadata. Loading @@ -265,7 +266,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment && metadata.containsKey(TileUtils.META_DATA_PREFERENCE_ICON_TINTABLE)) { return metadata.getBoolean(TileUtils.META_DATA_PREFERENCE_ICON_TINTABLE); } final String pkgName = getContext().getPackageName(); final String pkgName = context.getPackageName(); // If this drawable is coming from outside Settings, tint it to match the color. return pkgName != null && tile.intent != null && !pkgName.equals(tile.intent.getComponent().getPackageName()); Loading Loading @@ -370,7 +371,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment continue; } if (tintTileIcon(tile)) { tile.getIcon().setTint(tintColor); tile.getIcon(context).setTint(tintColor); } if (mDashboardTilePrefKeys.contains(key)) { // Have the key already, will rebind. Loading tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java +12 −10 Original line number Diff line number Diff line Loading @@ -203,9 +203,9 @@ public class DashboardAdapterTest { new DashboardAdapter.DashboardItemHolder(view); final Tile tile = spy(new Tile(mActivityInfo)); doReturn(Icon.createWithResource(context, R.drawable.ic_settings)) .when(tile).getIcon(); .when(tile).getIcon(context); final IconCache iconCache = mock(IconCache.class); when(iconCache.getIcon(tile.getIcon())) when(iconCache.getIcon(tile.getIcon(context))) .thenReturn(context.getDrawable(R.drawable.ic_settings)); mDashboardAdapter = new DashboardAdapter(context, null /* savedInstanceState */, Loading @@ -224,7 +224,7 @@ public class DashboardAdapterTest { new DashboardAdapter.DashboardItemHolder(view); final Tile tile = spy(new Tile(mActivityInfo)); final Icon icon = Icon.createWithResource(context, R.drawable.ic_settings); doReturn(icon).when(tile).getIcon(); doReturn(icon).when(tile).getIcon(context); final IconCache iconCache = new IconCache(context); Loading @@ -235,7 +235,8 @@ public class DashboardAdapterTest { doReturn("another.package").when(context).getPackageName(); mDashboardAdapter.onBindTile(holder, tile); assertThat(iconCache.getIcon(tile.getIcon())).isInstanceOf(RoundedHomepageIcon.class); assertThat(iconCache.getIcon(tile.getIcon(context))) .isInstanceOf(RoundedHomepageIcon.class); } @Test Loading @@ -249,7 +250,7 @@ public class DashboardAdapterTest { tile.metaData.putInt(TileUtils.META_DATA_PREFERENCE_ICON_BACKGROUND_HINT, R.color.memory_critical); doReturn(Icon.createWithResource(context, R.drawable.ic_settings)) .when(tile).getIcon(); .when(tile).getIcon(context); final IconCache iconCache = new IconCache(context); mDashboardAdapter = new DashboardAdapter(context, null /* savedInstanceState */, null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */); Loading @@ -259,7 +260,7 @@ public class DashboardAdapterTest { mDashboardAdapter.onBindTile(holder, tile); final RoundedHomepageIcon homepageIcon = (RoundedHomepageIcon) iconCache.getIcon( tile.getIcon()); tile.getIcon(context)); assertThat(homepageIcon.mBackgroundColor) .isEqualTo(RuntimeEnvironment.application.getColor(R.color.memory_critical)); } Loading @@ -271,11 +272,11 @@ public class DashboardAdapterTest { final DashboardAdapter.DashboardItemHolder holder = new DashboardAdapter.DashboardItemHolder(view); final Tile tile = spy(new Tile(mActivityInfo)); doReturn(mock(Icon.class)).when(tile).getIcon(); when(tile.getIcon().getResPackage()).thenReturn("another.package"); doReturn(mock(Icon.class)).when(tile).getIcon(context); when(tile.getIcon(context).getResPackage()).thenReturn("another.package"); final IconCache iconCache = mock(IconCache.class); when(iconCache.getIcon(tile.getIcon())).thenReturn(mock(RoundedHomepageIcon.class)); when(iconCache.getIcon(tile.getIcon(context))).thenReturn(mock(RoundedHomepageIcon.class)); mDashboardAdapter = new DashboardAdapter(context, null /* savedInstanceState */, null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */); Loading @@ -283,7 +284,8 @@ public class DashboardAdapterTest { mDashboardAdapter.onBindTile(holder, tile); verify(iconCache, never()).updateIcon(eq(tile.getIcon()), any(RoundedHomepageIcon.class)); verify(iconCache, never()).updateIcon(eq(tile.getIcon(context)), any(RoundedHomepageIcon.class)); } private List<Suggestion> makeSuggestionsV2(String... pkgNames) { Loading tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ public class DashboardFeatureProviderImplTest { tile.title = "title"; tile.summary = "summary"; doReturn(Icon.createWithBitmap(Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565))) .when(tile).getIcon(); .when(tile).getIcon(any(Context.class)); tile.metaData = new Bundle(); tile.metaData.putString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS, "HI"); tile.priority = 10; Loading Loading
src/com/android/settings/dashboard/DashboardAdapter.java +1 −1 Original line number Diff line number Diff line Loading @@ -315,7 +315,7 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash @VisibleForTesting void onBindTile(DashboardItemHolder holder, Tile tile) { Icon tileIcon = tile.getIcon(); Icon tileIcon = tile.getIcon(mContext); Drawable icon = mCache.getIcon(tileIcon); if (!TextUtils.equals(tileIcon.getResPackage(), mContext.getPackageName()) && !(icon instanceof RoundedHomepageIcon)) { Loading
src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java +4 −4 Original line number Diff line number Diff line Loading @@ -34,6 +34,9 @@ import android.util.ArrayMap; import android.util.Log; import android.util.Pair; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.SettingsActivity; Loading @@ -50,9 +53,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; /** * Impl for {@code DashboardFeatureProvider}. */ Loading Loading @@ -238,7 +238,7 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider { @VisibleForTesting void bindIcon(Preference preference, Tile tile) { final Icon tileIcon = tile.getIcon(); final Icon tileIcon = tile.getIcon(mContext); if (tileIcon != null) { preference.setIcon(tileIcon.loadDrawable(preference.getContext())); } else if (tile.metaData != null Loading
src/com/android/settings/dashboard/DashboardFragment.java +9 −8 Original line number Diff line number Diff line Loading @@ -24,6 +24,11 @@ import android.util.ArrayMap; import android.util.ArraySet; import android.util.Log; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.PreferenceControllerListHelper; Loading @@ -43,11 +48,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; /** * Base fragment for dashboard style UI containing a list of static and dynamic setting items. */ Loading Loading @@ -256,7 +256,8 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment @VisibleForTesting boolean tintTileIcon(Tile tile) { if (tile.getIcon() == null) { final Context context = getContext(); if (tile.getIcon(context) == null) { return false; } // First check if the tile has set the icon tintable metadata. Loading @@ -265,7 +266,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment && metadata.containsKey(TileUtils.META_DATA_PREFERENCE_ICON_TINTABLE)) { return metadata.getBoolean(TileUtils.META_DATA_PREFERENCE_ICON_TINTABLE); } final String pkgName = getContext().getPackageName(); final String pkgName = context.getPackageName(); // If this drawable is coming from outside Settings, tint it to match the color. return pkgName != null && tile.intent != null && !pkgName.equals(tile.intent.getComponent().getPackageName()); Loading Loading @@ -370,7 +371,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment continue; } if (tintTileIcon(tile)) { tile.getIcon().setTint(tintColor); tile.getIcon(context).setTint(tintColor); } if (mDashboardTilePrefKeys.contains(key)) { // Have the key already, will rebind. Loading
tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java +12 −10 Original line number Diff line number Diff line Loading @@ -203,9 +203,9 @@ public class DashboardAdapterTest { new DashboardAdapter.DashboardItemHolder(view); final Tile tile = spy(new Tile(mActivityInfo)); doReturn(Icon.createWithResource(context, R.drawable.ic_settings)) .when(tile).getIcon(); .when(tile).getIcon(context); final IconCache iconCache = mock(IconCache.class); when(iconCache.getIcon(tile.getIcon())) when(iconCache.getIcon(tile.getIcon(context))) .thenReturn(context.getDrawable(R.drawable.ic_settings)); mDashboardAdapter = new DashboardAdapter(context, null /* savedInstanceState */, Loading @@ -224,7 +224,7 @@ public class DashboardAdapterTest { new DashboardAdapter.DashboardItemHolder(view); final Tile tile = spy(new Tile(mActivityInfo)); final Icon icon = Icon.createWithResource(context, R.drawable.ic_settings); doReturn(icon).when(tile).getIcon(); doReturn(icon).when(tile).getIcon(context); final IconCache iconCache = new IconCache(context); Loading @@ -235,7 +235,8 @@ public class DashboardAdapterTest { doReturn("another.package").when(context).getPackageName(); mDashboardAdapter.onBindTile(holder, tile); assertThat(iconCache.getIcon(tile.getIcon())).isInstanceOf(RoundedHomepageIcon.class); assertThat(iconCache.getIcon(tile.getIcon(context))) .isInstanceOf(RoundedHomepageIcon.class); } @Test Loading @@ -249,7 +250,7 @@ public class DashboardAdapterTest { tile.metaData.putInt(TileUtils.META_DATA_PREFERENCE_ICON_BACKGROUND_HINT, R.color.memory_critical); doReturn(Icon.createWithResource(context, R.drawable.ic_settings)) .when(tile).getIcon(); .when(tile).getIcon(context); final IconCache iconCache = new IconCache(context); mDashboardAdapter = new DashboardAdapter(context, null /* savedInstanceState */, null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */); Loading @@ -259,7 +260,7 @@ public class DashboardAdapterTest { mDashboardAdapter.onBindTile(holder, tile); final RoundedHomepageIcon homepageIcon = (RoundedHomepageIcon) iconCache.getIcon( tile.getIcon()); tile.getIcon(context)); assertThat(homepageIcon.mBackgroundColor) .isEqualTo(RuntimeEnvironment.application.getColor(R.color.memory_critical)); } Loading @@ -271,11 +272,11 @@ public class DashboardAdapterTest { final DashboardAdapter.DashboardItemHolder holder = new DashboardAdapter.DashboardItemHolder(view); final Tile tile = spy(new Tile(mActivityInfo)); doReturn(mock(Icon.class)).when(tile).getIcon(); when(tile.getIcon().getResPackage()).thenReturn("another.package"); doReturn(mock(Icon.class)).when(tile).getIcon(context); when(tile.getIcon(context).getResPackage()).thenReturn("another.package"); final IconCache iconCache = mock(IconCache.class); when(iconCache.getIcon(tile.getIcon())).thenReturn(mock(RoundedHomepageIcon.class)); when(iconCache.getIcon(tile.getIcon(context))).thenReturn(mock(RoundedHomepageIcon.class)); mDashboardAdapter = new DashboardAdapter(context, null /* savedInstanceState */, null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */); Loading @@ -283,7 +284,8 @@ public class DashboardAdapterTest { mDashboardAdapter.onBindTile(holder, tile); verify(iconCache, never()).updateIcon(eq(tile.getIcon()), any(RoundedHomepageIcon.class)); verify(iconCache, never()).updateIcon(eq(tile.getIcon(context)), any(RoundedHomepageIcon.class)); } private List<Suggestion> makeSuggestionsV2(String... pkgNames) { Loading
tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ public class DashboardFeatureProviderImplTest { tile.title = "title"; tile.summary = "summary"; doReturn(Icon.createWithBitmap(Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565))) .when(tile).getIcon(); .when(tile).getIcon(any(Context.class)); tile.metaData = new Bundle(); tile.metaData.putString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS, "HI"); tile.priority = 10; Loading