Merge "Fix crash in ExternalSourceDetailPreferenceController." into pi-dev

This commit is contained in:
Doris Ling
2018-05-01 19:58:56 +00:00
committed by Android (Google) Code Review
2 changed files with 14 additions and 1 deletions

View File

@@ -17,6 +17,7 @@
package com.android.settings.applications.appinfo; package com.android.settings.applications.appinfo;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageInfo;
import android.os.UserManager; import android.os.UserManager;
import android.support.annotation.VisibleForTesting; import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
@@ -57,9 +58,13 @@ public class ExternalSourceDetailPreferenceController extends AppInfoPreferenceC
@VisibleForTesting @VisibleForTesting
boolean isPotentialAppSource() { boolean isPotentialAppSource() {
final PackageInfo packageInfo = mParent.getPackageInfo();
if (packageInfo == null) {
return false;
}
AppStateInstallAppsBridge.InstallAppsState appState = AppStateInstallAppsBridge.InstallAppsState appState =
new AppStateInstallAppsBridge(mContext, null, null).createInstallAppsStateFor( new AppStateInstallAppsBridge(mContext, null, null).createInstallAppsStateFor(
mPackageName, mParent.getPackageInfo().applicationInfo.uid); mPackageName, packageInfo.applicationInfo.uid);
return appState.isPotentialAppSource(); return appState.isPotentialAppSource();
} }

View File

@@ -101,4 +101,12 @@ public class ExternalSourceDetailPreferenceControllerTest {
verify(mPreference).setSummary(summary); verify(mPreference).setSummary(summary);
} }
@Test
public void isPotentialAppSource_nullPackageInfo_shouldNotCrash() {
when(mUserManager.isManagedProfile()).thenReturn(false);
mController.isPotentialAppSource();
// no crash
}
} }