Merge "Fix the NPE issue" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
74babf6e91
@@ -201,7 +201,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
||||
* ensure that behavior is consistent if {@link #isUiRestricted()} changes. It could be changed
|
||||
* by the Test DPC tool in AFW mode.
|
||||
*/
|
||||
private boolean mIsRestricted;
|
||||
protected boolean mIsRestricted;
|
||||
|
||||
@VisibleForTesting
|
||||
AirplaneModeEnabler mAirplaneModeEnabler;
|
||||
@@ -219,7 +219,8 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
||||
PreferenceCategory mConnectedWifiEntryPreferenceCategory;
|
||||
@VisibleForTesting
|
||||
PreferenceCategory mFirstWifiEntryPreferenceCategory;
|
||||
private PreferenceCategory mWifiEntryPreferenceCategory;
|
||||
@VisibleForTesting
|
||||
PreferenceCategory mWifiEntryPreferenceCategory;
|
||||
@VisibleForTesting
|
||||
AddWifiNetworkPreference mAddWifiNetworkPreference;
|
||||
private WifiSwitchPreferenceController mWifiSwitchPreferenceController;
|
||||
@@ -794,7 +795,11 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
||||
}
|
||||
}
|
||||
|
||||
private void updateWifiEntryPreferences() {
|
||||
protected void updateWifiEntryPreferences() {
|
||||
// bypass the update if the activity and the view are not ready, or it's restricted UI.
|
||||
if (getActivity() == null || getView() == null || mIsRestricted) {
|
||||
return;
|
||||
}
|
||||
// in case state has changed
|
||||
if (mWifiPickerTracker.getWifiState() != WifiManager.WIFI_STATE_ENABLED) {
|
||||
return;
|
||||
|
@@ -535,4 +535,32 @@ public class NetworkProviderSettingsTest {
|
||||
|
||||
assertThat(p instanceof NetworkProviderSettings.FirstWifiEntryPreference).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateWifiEntryPreferences_activityIsNull_ShouldNotCrash() {
|
||||
when(mNetworkProviderSettings.getActivity()).thenReturn(null);
|
||||
|
||||
// should not crash
|
||||
mNetworkProviderSettings.updateWifiEntryPreferences();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateWifiEntryPreferences_viewIsNull_ShouldNotCrash() {
|
||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
||||
when(mNetworkProviderSettings.getActivity()).thenReturn(activity);
|
||||
when(mNetworkProviderSettings.getView()).thenReturn(null);
|
||||
|
||||
// should not crash
|
||||
mNetworkProviderSettings.updateWifiEntryPreferences();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateWifiEntryPreferences_isRestricted_bypassUpdate() {
|
||||
mNetworkProviderSettings.mIsRestricted = true;
|
||||
mNetworkProviderSettings.mWifiEntryPreferenceCategory = mock(PreferenceCategory.class);
|
||||
|
||||
mNetworkProviderSettings.updateWifiEntryPreferences();
|
||||
|
||||
verify(mNetworkProviderSettings.mWifiEntryPreferenceCategory, never()).setVisible(true);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user