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
|
* ensure that behavior is consistent if {@link #isUiRestricted()} changes. It could be changed
|
||||||
* by the Test DPC tool in AFW mode.
|
* by the Test DPC tool in AFW mode.
|
||||||
*/
|
*/
|
||||||
private boolean mIsRestricted;
|
protected boolean mIsRestricted;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
AirplaneModeEnabler mAirplaneModeEnabler;
|
AirplaneModeEnabler mAirplaneModeEnabler;
|
||||||
@@ -219,7 +219,8 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
PreferenceCategory mConnectedWifiEntryPreferenceCategory;
|
PreferenceCategory mConnectedWifiEntryPreferenceCategory;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
PreferenceCategory mFirstWifiEntryPreferenceCategory;
|
PreferenceCategory mFirstWifiEntryPreferenceCategory;
|
||||||
private PreferenceCategory mWifiEntryPreferenceCategory;
|
@VisibleForTesting
|
||||||
|
PreferenceCategory mWifiEntryPreferenceCategory;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
AddWifiNetworkPreference mAddWifiNetworkPreference;
|
AddWifiNetworkPreference mAddWifiNetworkPreference;
|
||||||
private WifiSwitchPreferenceController mWifiSwitchPreferenceController;
|
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
|
// in case state has changed
|
||||||
if (mWifiPickerTracker.getWifiState() != WifiManager.WIFI_STATE_ENABLED) {
|
if (mWifiPickerTracker.getWifiState() != WifiManager.WIFI_STATE_ENABLED) {
|
||||||
return;
|
return;
|
||||||
|
@@ -535,4 +535,32 @@ public class NetworkProviderSettingsTest {
|
|||||||
|
|
||||||
assertThat(p instanceof NetworkProviderSettings.FirstWifiEntryPreference).isTrue();
|
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