Loading src/com/android/settings/dashboard/DashboardAdapter.java +29 −30 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.settings.dashboard; import android.app.Activity; import android.content.Context; import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; import android.os.Bundle; Loading @@ -27,7 +26,6 @@ import android.support.v7.util.DiffUtil; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.util.ArrayMap; import android.util.Log; import android.view.LayoutInflater; import android.view.View; Loading Loading @@ -316,7 +314,8 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash @VisibleForTesting void onBindTile(DashboardItemHolder holder, Tile tile) { Drawable icon = mCache.getIcon(tile.icon); if (!TextUtils.equals(tile.icon.getResPackage(), mContext.getPackageName())) { if (!TextUtils.equals(tile.icon.getResPackage(), mContext.getPackageName()) && !(icon instanceof RoundedHomepageIcon)) { icon = new RoundedHomepageIcon(mContext, icon); mCache.updateIcon(tile.icon, icon); } Loading tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java +39 −14 Original line number Diff line number Diff line Loading @@ -16,8 +16,8 @@ package com.android.settings.dashboard; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; Loading Loading @@ -101,7 +101,8 @@ public class DashboardAdapterTest { public void testSuggestionDismissed_notOnlySuggestion_updateSuggestionOnly() { final DashboardAdapter adapter = spy(new DashboardAdapter(mContext, null /* savedInstanceState */, null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */)); null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */)); final List<Suggestion> suggestions = makeSuggestionsV2("pkg1", "pkg2", "pkg3"); adapter.setSuggestions(suggestions); Loading Loading @@ -133,7 +134,8 @@ public class DashboardAdapterTest { public void testSuggestionDismissed_onlySuggestion_updateDashboardData() { DashboardAdapter adapter = spy(new DashboardAdapter(mContext, null /* savedInstanceState */, null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */)); null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */)); final List<Suggestion> suggestions = makeSuggestionsV2("pkg1"); adapter.setSuggestions(suggestions); final DashboardData dashboardData = adapter.mDashboardData; Loading Loading @@ -190,7 +192,7 @@ public class DashboardAdapterTest { } @Test public void onBindTile_externalTile_shouldNotUseGenericBackgroundIcon() { public void onBindTile_externalTile_shouldUpdateIcon() { final Context context = RuntimeEnvironment.application; final View view = LayoutInflater.from(context).inflate(R.layout.dashboard_tile, null); final DashboardAdapter.DashboardItemHolder holder = Loading @@ -205,11 +207,34 @@ public class DashboardAdapterTest { mDashboardAdapter = new DashboardAdapter(context, null /* savedInstanceState */, null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */); ReflectionHelpers.setField(mDashboardAdapter, "mCache", iconCache); mDashboardAdapter.onBindTile(holder, tile); verify(iconCache).updateIcon(eq(tile.icon), any(RoundedHomepageIcon.class)); } @Test public void onBindTile_externalTile_usingRoundedHomepageIcon_shouldNotUpdateIcon() { final Context context = RuntimeEnvironment.application; final View view = LayoutInflater.from(context).inflate(R.layout.dashboard_tile, null); final DashboardAdapter.DashboardItemHolder holder = new DashboardAdapter.DashboardItemHolder(view); final Tile tile = new Tile(); tile.icon = mock(Icon.class); when(tile.icon.getResPackage()).thenReturn("another.package"); final IconCache iconCache = mock(IconCache.class); when(iconCache.getIcon(tile.icon)).thenReturn(mock(RoundedHomepageIcon.class)); mDashboardAdapter = new DashboardAdapter(context, null /* savedInstanceState */, null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */); ReflectionHelpers.setField(mDashboardAdapter, "mCache", iconCache); mDashboardAdapter.onBindTile(holder, tile); verify(iconCache, never()).updateIcon(eq(tile.icon), any(RoundedHomepageIcon.class)); } private List<Suggestion> makeSuggestionsV2(String... pkgNames) { final List<Suggestion> suggestions = new ArrayList<>(); for (String pkgName : pkgNames) { Loading Loading
src/com/android/settings/dashboard/DashboardAdapter.java +29 −30 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.settings.dashboard; import android.app.Activity; import android.content.Context; import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; import android.os.Bundle; Loading @@ -27,7 +26,6 @@ import android.support.v7.util.DiffUtil; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.util.ArrayMap; import android.util.Log; import android.view.LayoutInflater; import android.view.View; Loading Loading @@ -316,7 +314,8 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash @VisibleForTesting void onBindTile(DashboardItemHolder holder, Tile tile) { Drawable icon = mCache.getIcon(tile.icon); if (!TextUtils.equals(tile.icon.getResPackage(), mContext.getPackageName())) { if (!TextUtils.equals(tile.icon.getResPackage(), mContext.getPackageName()) && !(icon instanceof RoundedHomepageIcon)) { icon = new RoundedHomepageIcon(mContext, icon); mCache.updateIcon(tile.icon, icon); } Loading
tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java +39 −14 Original line number Diff line number Diff line Loading @@ -16,8 +16,8 @@ package com.android.settings.dashboard; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; Loading Loading @@ -101,7 +101,8 @@ public class DashboardAdapterTest { public void testSuggestionDismissed_notOnlySuggestion_updateSuggestionOnly() { final DashboardAdapter adapter = spy(new DashboardAdapter(mContext, null /* savedInstanceState */, null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */)); null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */)); final List<Suggestion> suggestions = makeSuggestionsV2("pkg1", "pkg2", "pkg3"); adapter.setSuggestions(suggestions); Loading Loading @@ -133,7 +134,8 @@ public class DashboardAdapterTest { public void testSuggestionDismissed_onlySuggestion_updateDashboardData() { DashboardAdapter adapter = spy(new DashboardAdapter(mContext, null /* savedInstanceState */, null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */)); null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */)); final List<Suggestion> suggestions = makeSuggestionsV2("pkg1"); adapter.setSuggestions(suggestions); final DashboardData dashboardData = adapter.mDashboardData; Loading Loading @@ -190,7 +192,7 @@ public class DashboardAdapterTest { } @Test public void onBindTile_externalTile_shouldNotUseGenericBackgroundIcon() { public void onBindTile_externalTile_shouldUpdateIcon() { final Context context = RuntimeEnvironment.application; final View view = LayoutInflater.from(context).inflate(R.layout.dashboard_tile, null); final DashboardAdapter.DashboardItemHolder holder = Loading @@ -205,11 +207,34 @@ public class DashboardAdapterTest { mDashboardAdapter = new DashboardAdapter(context, null /* savedInstanceState */, null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */); ReflectionHelpers.setField(mDashboardAdapter, "mCache", iconCache); mDashboardAdapter.onBindTile(holder, tile); verify(iconCache).updateIcon(eq(tile.icon), any(RoundedHomepageIcon.class)); } @Test public void onBindTile_externalTile_usingRoundedHomepageIcon_shouldNotUpdateIcon() { final Context context = RuntimeEnvironment.application; final View view = LayoutInflater.from(context).inflate(R.layout.dashboard_tile, null); final DashboardAdapter.DashboardItemHolder holder = new DashboardAdapter.DashboardItemHolder(view); final Tile tile = new Tile(); tile.icon = mock(Icon.class); when(tile.icon.getResPackage()).thenReturn("another.package"); final IconCache iconCache = mock(IconCache.class); when(iconCache.getIcon(tile.icon)).thenReturn(mock(RoundedHomepageIcon.class)); mDashboardAdapter = new DashboardAdapter(context, null /* savedInstanceState */, null /* conditions */, null /* suggestionControllerMixin */, null /* lifecycle */); ReflectionHelpers.setField(mDashboardAdapter, "mCache", iconCache); mDashboardAdapter.onBindTile(holder, tile); verify(iconCache, never()).updateIcon(eq(tile.icon), any(RoundedHomepageIcon.class)); } private List<Suggestion> makeSuggestionsV2(String... pkgNames) { final List<Suggestion> suggestions = new ArrayList<>(); for (String pkgName : pkgNames) { Loading