From c4e8369ab045aef1c7275edf8c3f12e8f2f8b806 Mon Sep 17 00:00:00 2001 From: Zhizhi Liu Date: Thu, 22 Feb 2018 11:44:51 -0800 Subject: [PATCH] Move IconCache to SettingsLib(II). Remove IconCache from Settings. Test: Setting tests passed. Change-Id: If4d256c5baec2fae8a1cba3cc3a62d4612a2d417 --- .../settings/dashboard/DashboardAdapter.java | 26 +------------------ .../suggestions/SuggestionAdapter.java | 2 +- .../dashboard/DashboardAdapterTest.java | 5 ++-- .../suggestions/SuggestionAdapterTest.java | 5 ++-- 4 files changed, 8 insertions(+), 30 deletions(-) diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java index 007b66b7cee..f04c3c9da6e 100644 --- a/src/com/android/settings/dashboard/DashboardAdapter.java +++ b/src/com/android/settings/dashboard/DashboardAdapter.java @@ -51,6 +51,7 @@ import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState; import com.android.settingslib.drawer.DashboardCategory; import com.android.settingslib.drawer.Tile; import com.android.settingslib.suggestions.SuggestionControllerMixin; +import com.android.settingslib.utils.IconCache; import java.util.List; @@ -365,31 +366,6 @@ public class DashboardAdapter extends RecyclerView.Adapter mMap = new ArrayMap<>(); - - public IconCache(Context context) { - mContext = context; - } - - public Drawable getIcon(Icon icon) { - if (icon == null) { - return null; - } - Drawable drawable = mMap.get(icon); - if (drawable == null) { - drawable = icon.loadDrawable(mContext); - updateIcon(icon, drawable); - } - return drawable; - } - - public void updateIcon(Icon icon, Drawable drawable) { - mMap.put(icon, drawable); - } - } - public static class DashboardItemHolder extends RecyclerView.ViewHolder { public final ImageView icon; public final TextView title; diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java b/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java index 11eb80c6ae8..87b3f4bb502 100644 --- a/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java +++ b/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java @@ -38,7 +38,6 @@ import android.widget.LinearLayout; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.dashboard.DashboardAdapter.DashboardItemHolder; -import com.android.settings.dashboard.DashboardAdapter.IconCache; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.Utils; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; @@ -46,6 +45,7 @@ import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState; import com.android.settingslib.suggestions.SuggestionControllerMixin; +import com.android.settingslib.utils.IconCache; import java.util.ArrayList; import java.util.List; diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java index cc25b5de902..b85afaa81ce 100644 --- a/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java @@ -47,6 +47,7 @@ import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settingslib.drawer.Tile; +import com.android.settingslib.utils.IconCache; import org.junit.Before; import org.junit.Test; @@ -244,7 +245,7 @@ public class DashboardAdapterTest { new DashboardAdapter.DashboardItemHolder(view); final Tile tile = new Tile(); tile.icon = Icon.createWithResource(context, R.drawable.ic_settings); - final DashboardAdapter.IconCache iconCache = mock(DashboardAdapter.IconCache.class); + final IconCache iconCache = mock(IconCache.class); when(iconCache.getIcon(tile.icon)).thenReturn(context.getDrawable(R.drawable.ic_settings)); mDashboardAdapter = new DashboardAdapter(context, null /* savedInstanceState */, @@ -265,7 +266,7 @@ public class DashboardAdapterTest { tile.icon = mock(Icon.class); when(tile.icon.getResPackage()).thenReturn("another.package"); - final DashboardAdapter.IconCache iconCache = mock(DashboardAdapter.IconCache.class); + final IconCache iconCache = mock(IconCache.class); when(iconCache.getIcon(tile.icon)).thenReturn(context.getDrawable(R.drawable.ic_settings)); mDashboardAdapter = new DashboardAdapter(context, null /* savedInstanceState */, diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java index 4ff09c174c5..512ac647404 100644 --- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java @@ -48,6 +48,7 @@ import com.android.settings.dashboard.DashboardAdapter; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settingslib.suggestions.SuggestionControllerMixin; +import com.android.settingslib.utils.IconCache; import org.junit.Before; import org.junit.Test; @@ -252,7 +253,7 @@ public class SuggestionAdapterTest { mSuggestionHolder = mSuggestionAdapter.onCreateViewHolder( new FrameLayout(RuntimeEnvironment.application), mSuggestionAdapter.getItemViewType(0)); - DashboardAdapter.IconCache cache = mock(DashboardAdapter.IconCache.class); + IconCache cache = mock(IconCache.class); final Drawable drawable = mock(Drawable.class); when(cache.getIcon(icon)).thenReturn(drawable); ReflectionHelpers.setField(mSuggestionAdapter, "mCache", cache); @@ -280,7 +281,7 @@ public class SuggestionAdapterTest { mSuggestionHolder = mSuggestionAdapter.onCreateViewHolder( new FrameLayout(RuntimeEnvironment.application), mSuggestionAdapter.getItemViewType(0)); - DashboardAdapter.IconCache cache = mock(DashboardAdapter.IconCache.class); + IconCache cache = mock(IconCache.class); final Drawable drawable = mock(Drawable.class); when(cache.getIcon(icon)).thenReturn(drawable); ReflectionHelpers.setField(mSuggestionAdapter, "mCache", cache);