commit | 41baba147c88b3c9b7fb5ce1dbcf2e96e5cb9262 | [log] [tgz] |
---|---|---|
author | TreeHugger Robot <treehugger-gerrit@google.com> | Fri Feb 23 06:53:32 2018 +0000 |
committer | Android (Google) Code Review <android-gerrit@google.com> | Fri Feb 23 06:53:32 2018 +0000 |
tree | b0217333aaa231f57c4908bb4de1e9a0cb1ec8fb | |
parent | d9c312d521f878a257bb16a6095b9e809b0fa9ae [diff] | |
parent | 8f7edfa108c58e8eb3101e238e349ee9fcdb06a3 [diff] |
Merge "Fix NPE in InstantAppButtonsPreferenceController"
diff --git a/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceController.java b/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceController.java index dcae5ef..df64d76 100644 --- a/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceController.java +++ b/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceController.java
@@ -112,9 +112,10 @@ @Override public void onPrepareOptionsMenu(Menu menu) { mInstallMenu = menu.findItem(AppInfoDashboardFragment.INSTALL_INSTANT_APP_MENU); - final Intent appStoreIntent = AppStoreUtil.getAppStoreLink(mContext, mPackageName); - if (appStoreIntent == null) { - mInstallMenu.setEnabled(false); + if (mInstallMenu != null) { + if (AppStoreUtil.getAppStoreLink(mContext, mPackageName) == null) { + mInstallMenu.setEnabled(false); + } } }
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceControllerTest.java index 935389c..24823fe 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceControllerTest.java
@@ -180,6 +180,15 @@ } @Test + public void onPrepareOptionsMenu_installMenuNotFound_shoulNotCrash() { + final Menu menu = mock(Menu.class); + + mController.onPrepareOptionsMenu(menu); + + // no crash + } + + @Test public void onOptionsItemSelected_shouldOpenAppStore() { final ResolveInfo resolveInfo = mock(ResolveInfo.class); final ActivityInfo activityInfo = mock(ActivityInfo.class);