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