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

Commit ceedf2b9 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix startup jank in the Wifi Picker." into oc-dev

parents e398a841 60c1d4ec
Loading
Loading
Loading
Loading
+30 −5
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ public class WifiSettings extends RestrictedSettingsFragment
        WifiDialog.WifiDialogListener {

    private static final String TAG = "WifiSettings";
    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);

    /* package */ static final int MENU_ID_WPS_PBC = Menu.FIRST;
    private static final int MENU_ID_WPS_PIN = Menu.FIRST + 1;
@@ -203,6 +204,9 @@ public class WifiSettings extends RestrictedSettingsFragment
        mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_WIFI_SETTINGS);
        mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS);

        // Hide additional settings until access points are shown during onStart
        showAdditionalSettings(false);

        Context prefContext = getPrefContext();
        mAddPreference = new Preference(prefContext);
        mAddPreference.setIcon(R.drawable.ic_menu_add_inset);
@@ -220,6 +224,17 @@ public class WifiSettings extends RestrictedSettingsFragment
        mBgThread.start();
    }

    // TODO(b/37429702): Figure out how to temporarily disable animations during startup and remove
    // this method.
    private void showAdditionalSettings(boolean visible) {
        mAdditionalSettingsPreferenceCategory.setVisible(visible);
        mAdditionalSettingsPreferenceCategory.removeAll();
        if (visible) {
            mAdditionalSettingsPreferenceCategory.addPreference(mConfigureWifiSettingsPreference);
            mAdditionalSettingsPreferenceCategory.addPreference(mSavedNetworksPreference);
        }
    }

    @Override
    public void onDestroy() {
        mBgThread.quit();
@@ -335,6 +350,17 @@ public class WifiSettings extends RestrictedSettingsFragment
        mWifiEnabler = createWifiEnabler();

        mWifiTracker.startTracking();

        if (!isUiRestricted() && mWifiManager.isWifiEnabled()) {
            setProgressBarVisible(true);
            mWifiTracker.forceUpdate();
            if (DEBUG) Log.d(TAG, "WifiSettings onStart APs: " + mWifiTracker.getAccessPoints());

            getView().removeCallbacks(mUpdateAccessPointsRunnable);
            updateAccessPointPreferences();
        }

        showAdditionalSettings(true);
    }

    /**
@@ -353,8 +379,6 @@ public class WifiSettings extends RestrictedSettingsFragment
        if (mWifiEnabler != null) {
            mWifiEnabler.resume(activity);
        }

        activity.invalidateOptionsMenu();
    }

    @Override
@@ -370,6 +394,7 @@ public class WifiSettings extends RestrictedSettingsFragment
        mWifiTracker.stopTracking();
        getView().removeCallbacks(mUpdateAccessPointsRunnable);
        getView().removeCallbacks(mHideProgressBarRunnable);
        showAdditionalSettings(false);
        super.onStop();
    }

@@ -733,7 +758,7 @@ public class WifiSettings extends RestrictedSettingsFragment
        removeCachedPrefs(mAccessPointsPreferenceCategory);
        mAddPreference.setOrder(index);
        mAccessPointsPreferenceCategory.addPreference(mAddPreference);
        setConfigureWifiSettingsVisibility();
        setAdditionalSettingsSummaries();

        if (!hasAvailableAccessPoints) {
            setProgressBarVisible(true);
@@ -812,8 +837,8 @@ public class WifiSettings extends RestrictedSettingsFragment
        // in the Wifi Network Details Fragment
        pref.getAccessPoint().saveWifiState(pref.getExtras());
        pref.setFragment(WifiNetworkDetailsFragment.class.getName());

        pref.refresh();

        mConnectedAccessPointPreferenceCategory.addPreference(pref);
        mConnectedAccessPointPreferenceCategory.setVisible(true);
    }
@@ -824,7 +849,7 @@ public class WifiSettings extends RestrictedSettingsFragment
        mConnectedAccessPointPreferenceCategory.setVisible(false);
    }

    private void setConfigureWifiSettingsVisibility() {
    private void setAdditionalSettingsSummaries() {
        mAdditionalSettingsPreferenceCategory.addPreference(mConfigureWifiSettingsPreference);
        boolean wifiWakeupEnabled = Settings.Global.getInt(
                getContentResolver(), Settings.Global.WIFI_WAKEUP_ENABLED, 0) == 1;