Merge "Fix crash in ExternalSourceDetailPreferenceController." into pi-dev
am: 5ddff9371d
Change-Id: I26b3122b17b71e9729d198bcbaa8f1620c40e06e
This commit is contained in:
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user