Merge "Add NPE check for refreshUi" into oc-dev
This commit is contained in:
@@ -98,6 +98,8 @@ public class AppButtonsPreferenceController extends PreferenceController impleme
|
||||
@VisibleForTesting
|
||||
Button mUninstallButton;
|
||||
@VisibleForTesting
|
||||
String mPackageName;
|
||||
@VisibleForTesting
|
||||
boolean mDisableAfterUninstall = false;
|
||||
|
||||
private final int mRequestUninstall;
|
||||
@@ -113,7 +115,6 @@ public class AppButtonsPreferenceController extends PreferenceController impleme
|
||||
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
private LayoutPreference mButtonsPref;
|
||||
private String mPackageName;
|
||||
private int mUserId;
|
||||
private boolean mUpdatedSysApp = false;
|
||||
private boolean mListeningToPackageRemove = false;
|
||||
@@ -134,7 +135,6 @@ public class AppButtonsPreferenceController extends PreferenceController impleme
|
||||
mMetricsFeatureProvider = FeatureFactory.getFactory(activity).getMetricsFeatureProvider();
|
||||
|
||||
mState = state;
|
||||
mSession = mState.newSession(this);
|
||||
mDpm = dpm;
|
||||
mUserManager = userManager;
|
||||
mPm = packageManager;
|
||||
@@ -145,10 +145,10 @@ public class AppButtonsPreferenceController extends PreferenceController impleme
|
||||
mRequestUninstall = requestUninstall;
|
||||
mRequestRemoveDeviceAdmin = requestRemoveDeviceAdmin;
|
||||
|
||||
lifecycle.addObserver(this);
|
||||
|
||||
if (packageName != null) {
|
||||
mAppEntry = mState.getEntry(packageName, mUserId);
|
||||
mSession = mState.newSession(this);
|
||||
lifecycle.addObserver(this);
|
||||
} else {
|
||||
mFinishing = true;
|
||||
}
|
||||
@@ -620,7 +620,11 @@ public class AppButtonsPreferenceController extends PreferenceController impleme
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean refreshUi() {
|
||||
@VisibleForTesting
|
||||
boolean refreshUi() {
|
||||
if (mPackageName == null) {
|
||||
return false;
|
||||
}
|
||||
retrieveAppEntry();
|
||||
if (mAppEntry == null || mPackageInfo == null) {
|
||||
return false;
|
||||
|
@@ -344,6 +344,14 @@ public class AppButtonsPreferenceControllerTest {
|
||||
assertThat(controllable).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRefreshUi_packageNull_shouldNotCrash() {
|
||||
mController.mPackageName = null;
|
||||
|
||||
// Should not crash in this method
|
||||
assertThat(mController.refreshUi()).isFalse();
|
||||
}
|
||||
|
||||
/**
|
||||
* The test fragment which implements
|
||||
* {@link ButtonActionDialogFragment.AppButtonsDialogListener}
|
||||
|
Reference in New Issue
Block a user