Fix NPE in InstantAppButtonsPreferenceController
- check for valid install options menu before trying to disable it. Change-Id: Ibe644a506094e66b0f657092a25557f5096d4942 Fixes: 73767192 Test: make RunSettingsRoboTests
This commit is contained in:
@@ -112,11 +112,12 @@ public class InstantAppButtonsPreferenceController extends BasePreferenceControl
|
|||||||
@Override
|
@Override
|
||||||
public void onPrepareOptionsMenu(Menu menu) {
|
public void onPrepareOptionsMenu(Menu menu) {
|
||||||
mInstallMenu = menu.findItem(AppInfoDashboardFragment.INSTALL_INSTANT_APP_MENU);
|
mInstallMenu = menu.findItem(AppInfoDashboardFragment.INSTALL_INSTANT_APP_MENU);
|
||||||
final Intent appStoreIntent = AppStoreUtil.getAppStoreLink(mContext, mPackageName);
|
if (mInstallMenu != null) {
|
||||||
if (appStoreIntent == null) {
|
if (AppStoreUtil.getAppStoreLink(mContext, mPackageName) == null) {
|
||||||
mInstallMenu.setEnabled(false);
|
mInstallMenu.setEnabled(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
@@ -179,6 +179,15 @@ public class InstantAppButtonsPreferenceControllerTest {
|
|||||||
verify(menuItem, never()).setEnabled(false);
|
verify(menuItem, never()).setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onPrepareOptionsMenu_installMenuNotFound_shoulNotCrash() {
|
||||||
|
final Menu menu = mock(Menu.class);
|
||||||
|
|
||||||
|
mController.onPrepareOptionsMenu(menu);
|
||||||
|
|
||||||
|
// no crash
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onOptionsItemSelected_shouldOpenAppStore() {
|
public void onOptionsItemSelected_shouldOpenAppStore() {
|
||||||
final ResolveInfo resolveInfo = mock(ResolveInfo.class);
|
final ResolveInfo resolveInfo = mock(ResolveInfo.class);
|
||||||
|
Reference in New Issue
Block a user