Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3f3034c2 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix the NPE issue" into sc-dev am: 74babf6e

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15056869

Change-Id: I154f60cc017cc1ff063459953c8d5171653d69ea
parents 69dd1660 74babf6e
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -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;
+28 −0
Original line number Diff line number Diff line
@@ -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);
    }
}