Merge "Fix a crash when launching app detail for bad package name"
am: ada1a39ffb
Change-Id: Ia96ca4a889e9005da4e685b8e04ae2d6b78eff85
This commit is contained in:
@@ -203,16 +203,22 @@ public class AppInfoDashboardFragment extends DashboardFragment
|
||||
mDpm = (DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE);
|
||||
mUserManager = (UserManager) activity.getSystemService(Context.USER_SERVICE);
|
||||
mPm = activity.getPackageManager();
|
||||
|
||||
if (!ensurePackageInfoAvailable(activity)) {
|
||||
return;
|
||||
}
|
||||
|
||||
startListeningToPackageRemove();
|
||||
|
||||
setHasOptionsMenu(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
if (!ensurePackageInfoAvailable(getActivity())) {
|
||||
return;
|
||||
}
|
||||
super.onCreatePreferences(savedInstanceState, rootKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
stopListeningToPackageRemove();
|
||||
|
@@ -167,7 +167,7 @@ public final class AppInfoDashboardFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void launchFragment_hasNoPackageInfo_shouldFinish() {
|
||||
public void ensurePackageInfoAvailable_hasNoPackageInfo_shouldFinish() {
|
||||
ReflectionHelpers.setField(mFragment, "mPackageInfo", null);
|
||||
|
||||
assertThat(mFragment.ensurePackageInfoAvailable(mActivity)).isFalse();
|
||||
@@ -175,7 +175,7 @@ public final class AppInfoDashboardFragmentTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void launchFragment_hasPackageInfo_shouldReturnTrue() {
|
||||
public void ensurePackageInfoAvailable_hasPackageInfo_shouldReturnTrue() {
|
||||
final PackageInfo packageInfo = mock(PackageInfo.class);
|
||||
ReflectionHelpers.setField(mFragment, "mPackageInfo", packageInfo);
|
||||
|
||||
@@ -183,6 +183,16 @@ public final class AppInfoDashboardFragmentTest {
|
||||
verify(mActivity, never()).finishAndRemoveTask();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createPreference_hasNoPackageInfo_shouldSkip() {
|
||||
ReflectionHelpers.setField(mFragment, "mPackageInfo", null);
|
||||
|
||||
mFragment.onCreatePreferences(new Bundle(), "root_key");
|
||||
|
||||
verify(mActivity).finishAndRemoveTask();
|
||||
verify(mFragment, never()).getPreferenceScreen();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void packageSizeChange_isOtherPackage_shouldNotRefreshUi() {
|
||||
ReflectionHelpers.setField(mFragment, "mPackageName", PACKAGE_NAME);
|
||||
|
Reference in New Issue
Block a user