diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java b/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java index 4852ed9519a..1271e151fa7 100644 --- a/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java +++ b/src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java @@ -222,6 +222,9 @@ public class SuggestionAdapter extends RecyclerView.Adapter public Tile getSuggestion(int position) { final long itemId = getItemId(position); + if (mSuggestions == null) { + return null; + } for (Tile tile : mSuggestions) { if (Objects.hash(tile.title) == itemId) { return tile; @@ -232,6 +235,9 @@ public class SuggestionAdapter extends RecyclerView.Adapter public Suggestion getSuggestionsV2(int position) { final long itemId = getItemId(position); + if (mSuggestionsV2 == null) { + return null; + } for (Suggestion suggestion : mSuggestionsV2) { if (Objects.hash(suggestion.getId()) == itemId) { return suggestion; 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 1e4ad79afc5..6b804656c90 100644 --- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java @@ -203,7 +203,7 @@ public class SuggestionAdapterTest { public void onBindViewHolder_v2_itemViewShouldHandleClick() throws PendingIntent.CanceledException { final List packages = makeSuggestionsV2("pkg1"); - setupSuggestions(mActivity, null /* suggestionV1 */ , packages); + setupSuggestions(mActivity, null /* suggestionV1 */, packages); mSuggestionAdapter.onBindViewHolder(mSuggestionHolder, 0); mSuggestionHolder.itemView.performClick(); @@ -233,6 +233,22 @@ public class SuggestionAdapterTest { assertThat(itemView.getChildCount()).isEqualTo(1); } + @Test + public void getSuggestionsV2_shouldReturnSuggestionWhenMatch() { + final List suggestionsV2 = makeSuggestionsV2("pkg1"); + setupSuggestions(mActivity, null /* suggestionV1 */, suggestionsV2); + + assertThat(mSuggestionAdapter.getSuggestion(0)).isNull(); + assertThat(mSuggestionAdapter.getSuggestionsV2(0)).isNotNull(); + + List suggestionsV1 = makeSuggestions("pkg1"); + setupSuggestions(mActivity, suggestionsV1, null /* suggestionV2 */); + + assertThat(mSuggestionAdapter.getSuggestionsV2(0)).isNull(); + assertThat(mSuggestionAdapter.getSuggestion(0)).isNotNull(); + + } + private void setupSuggestions(Context context, List suggestions, List suggestionsV2) { mSuggestionAdapter = new SuggestionAdapter(context, suggestions, suggestionsV2,