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);