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

Commit 407e6650 authored by Betty Chang's avatar Betty Chang Committed by Android (Google) Code Review
Browse files

Merge "Fix a NPE when forget wifi network" into sc-dev

parents 1637f3cd e7d468f6
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -958,9 +958,11 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
            mWifiEntry.forget(this);
        }

        mMetricsFeatureProvider.action(
                mFragment.getActivity(), SettingsEnums.ACTION_WIFI_FORGET);
        mFragment.getActivity().finish();
        final Activity activity = mFragment.getActivity();
        if (activity != null) {
            mMetricsFeatureProvider.action(activity, SettingsEnums.ACTION_WIFI_FORGET);
            activity.finish();
        }
    }

    @VisibleForTesting
@@ -1135,8 +1137,11 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
            Log.e(TAG, "Forget Wi-Fi network failed");
        }

        mMetricsFeatureProvider.action(mFragment.getActivity(), SettingsEnums.ACTION_WIFI_FORGET);
        mFragment.getActivity().finish();
        final Activity activity = mFragment.getActivity();
        if (activity != null) {
            mMetricsFeatureProvider.action(activity, SettingsEnums.ACTION_WIFI_FORGET);
            activity.finish();
        }
    }

    /**
+12 −0
Original line number Diff line number Diff line
@@ -1273,6 +1273,18 @@ public class WifiDetailPreferenceController2Test {
                Settings.Global.WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN, 1);
    }

    @Test
    public void forgetNetwork_activityGone_ignoreFinish() {
        setUpForConnectedNetwork();
        setUpSpyController();
        displayAndResume();
        when(mMockFragment.getActivity()).thenReturn(null);

        mForgetClickListener.getValue().onClick(null);

        verify(mMockActivity, never()).finish();
    }

    @Test
    public void forgetNetwork_standardWifiNetwork_forget() {
        setUpForConnectedNetwork();