From 8c8c4077fe7c4a692fb02500847f39bf0eb302dd Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Wed, 22 Mar 2017 09:40:06 -0700 Subject: [PATCH] Fix a monkey crash when it dismisses suggestion. Change-Id: I300a49ed75381795b6532388f770847ed39a4c8c Fix: 36509330 Test: make RunSettingsRoboTests --- .../suggestions/SuggestionFeatureProviderImpl.java | 2 +- .../suggestions/SuggestionFeatureProviderImplTest.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java index b82c28dd2ae..779a8aaf34a 100644 --- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java +++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java @@ -63,7 +63,7 @@ public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider @Override public void dismissSuggestion(Context context, SuggestionParser parser, Tile suggestion) { - if (parser == null || suggestion == null) { + if (parser == null || suggestion == null || context == null) { return; } mMetricsFeatureProvider.action( diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java index b36aef24ccf..3efe15a86d4 100644 --- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java @@ -120,6 +120,14 @@ public class SuggestionFeatureProviderImplTest { verify(mContext, never()).getPackageManager(); } + + @Test + public void dismissSuggestion_noContext_shouldDoNothing() { + mProvider.dismissSuggestion(null, mSuggestionParser, mSuggestion); + + verifyZeroInteractions(mFactory.metricsFeatureProvider); + } + @Test public void dismissSuggestion_hasNoMoreDismissCount_shouldDisableComponent() { when(mSuggestionParser.dismissSuggestion(any(Tile.class), anyBoolean()))