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

Commit caa0bbd9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Settings: Fix WifiSettings FC when rotating screen" am: f558fc27 am: 3531a347

parents 6ca8dd1b 3531a347
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -190,6 +190,8 @@ public class WifiSettings extends RestrictedSettingsFragment

    // Worker thread used for WifiPickerTracker work
    private HandlerThread mWorkerThread;
    private Handler mMainHandler;
    private Handler mWorkerHandler;

    @VisibleForTesting
    WifiPickerTracker mWifiPickerTracker;
@@ -290,11 +292,13 @@ public class WifiSettings extends RestrictedSettingsFragment
                return SystemClock.elapsedRealtime();
            }
        };

        mMainHandler = new Handler(Looper.getMainLooper());
        mWorkerHandler = mWorkerThread.getThreadHandler();
        mWifiPickerTracker = FeatureFactory.getFactory(context)
                .getWifiTrackerLibProvider()
                .createWifiPickerTracker(getSettingsLifecycle(), context,
                        new Handler(Looper.getMainLooper()),
                        mWorkerThread.getThreadHandler(),
                        mMainHandler, mWorkerHandler,
                        elapsedRealtimeClock,
                        MAX_SCAN_AGE_MILLIS,
                        SCAN_INTERVAL_MILLIS,
@@ -366,6 +370,10 @@ public class WifiSettings extends RestrictedSettingsFragment
        if (mWifiEnabler != null) {
            mWifiEnabler.teardownSwitchController();
        }

        // remove all msg and callback in main handler and worker handler
        mMainHandler.removeCallbacksAndMessages(null);
        mWorkerHandler.removeCallbacksAndMessages(null);
        mWorkerThread.quit();

        super.onDestroyView();
@@ -650,7 +658,7 @@ public class WifiSettings extends RestrictedSettingsFragment
    /** Called when the state of Wifi has changed. */
    @Override
    public void onWifiStateChanged() {
        if (mIsRestricted) {
        if (mIsRestricted || isFinishingOrDestroyed()) {
            return;
        }
        final int wifiState = mWifiPickerTracker.getWifiState();
@@ -688,6 +696,10 @@ public class WifiSettings extends RestrictedSettingsFragment

    @Override
    public void onWifiEntriesChanged() {
        if (isFinishingOrDestroyed()) {
            return;
        }

        if (mIsWifiEntryListStale) {
            mIsWifiEntryListStale = false;
            updateWifiEntryPreferences();
+5 −0
Original line number Diff line number Diff line
@@ -277,6 +277,11 @@ public class WifiSettingsTest {

    @Test
    public void onWifiEntriesChanged_shouldChangeNextButtonState() {
        final FragmentActivity activity = mock(FragmentActivity.class);
        doReturn(false).when(activity).isFinishing();
        doReturn(false).when(activity).isDestroyed();
        doReturn(activity).when(mWifiSettings).getActivity();

        mWifiSettings.onWifiEntriesChanged();

        verify(mWifiSettings).changeNextButtonState(anyBoolean());