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

Commit 36760c10 authored by Jason Monk's avatar Jason Monk
Browse files

Allow QS to launch adding network dialog

This allows QS to set an extra that will launch the adding network
dialog directly for a specified ssid.  It will be used to take users
straight from QS to the password entry, when a secure network is
selected.

Bug: 17722817
Change-Id: I570596af906de005c505678b539f915c06e6fd14
parent 4aab7ecb
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -145,6 +145,9 @@ public class WifiSettings extends RestrictedSettingsFragment
    // this boolean extra specifies whether to disable the Next button when not connected. Used by
    // account creation outside of setup wizard.
    private static final String EXTRA_ENABLE_NEXT_ON_CONNECT = "wifi_enable_next_on_connect";
    // This string extra specifies a network to open the connect dialog on, so the user can enter
    // network credentials.  This is used by quick settings for secured networks.
    private static final String EXTRA_START_CONNECT_SSID = "wifi_start_connect_ssid";

    // should Next button only be enabled when we have a connection?
    private boolean mEnableNextOnConnection;
@@ -326,6 +329,23 @@ public class WifiSettings extends RestrictedSettingsFragment
        mEmptyView = initEmptyView();
        registerForContextMenu(getListView());
        setHasOptionsMenu(true);

        if (intent.hasExtra(EXTRA_START_CONNECT_SSID)) {
            String ssid = intent.getStringExtra(EXTRA_START_CONNECT_SSID);
            updateAccessPoints();
            PreferenceScreen preferenceScreen = getPreferenceScreen();
            for (int i = 0; i < preferenceScreen.getPreferenceCount(); i++) {
                Preference preference = preferenceScreen.getPreference(i);
                if (preference instanceof AccessPoint) {
                    AccessPoint accessPoint = (AccessPoint) preference;
                    if (ssid.equals(accessPoint.ssid) && accessPoint.networkId == -1
                            && accessPoint.security != AccessPoint.SECURITY_NONE) {
                        onPreferenceTreeClick(preferenceScreen, preference);
                        break;
                    }
                }
            }
        }
    }

    @Override