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

Commit 2e966c64 authored by Stephen Chen's avatar Stephen Chen
Browse files

Create 'See All Networks' Preference to hide additional networks.

Bug: 34719725
Test: manual inspection, tests to be added in b/35322551
Change-Id: I1a5a08ca4c53db71b4c0c3d4c2942da65faa67d2
parent 65af66f0
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1579,6 +1579,8 @@
    <string name="wifi_starting">Turning Wi\u2011Fi on\u2026</string>
    <!-- Summary text when turning Wi-Fi or bluetooth off -->
    <string name="wifi_stopping">Turning off Wi\u2011Fi\u2026</string>
    <!-- Title of Button to show all Wi-Fi networks in the picker. [CHAR LIMIT=30] -->
    <string name="wifi_see_all_networks_button_title">See all networks</string>
    <!-- Summary text when Wi-Fi or bluetooth has error -->
    <string name="wifi_error">Error</string>
    <!-- Summary text when wifi SoftAP started failed due to no legal usable channel allowed in this region by regulatory -->
+27 −7
Original line number Diff line number Diff line
@@ -140,6 +140,10 @@ public class WifiSettings extends RestrictedSettingsFragment
    // should Next button only be enabled when we have a connection?
    private boolean mEnableNextOnConnection;

    // should see all networks instead of collapsing networks and showing mSeeAllNetworksPreference.
    private boolean mSeeAllNetworks;
    private static final int NETWORKS_TO_INITIALLY_SHOW = 5;

    // Save the dialog details
    private int mDialogMode;
    private AccessPoint mDlgAccessPoint;
@@ -157,6 +161,7 @@ public class WifiSettings extends RestrictedSettingsFragment
    private PreferenceCategory mAccessPointsPreferenceCategory;
    private PreferenceCategory mAdditionalSettingsPreferenceCategory;
    private Preference mAddPreference;
    private Preference mSeeAllNetworksPreference;
    private Preference mConfigureWifiSettingsPreference;
    private Preference mSavedNetworksPreference;
    private LinkablePreference mStatusMessagePreference;
@@ -200,6 +205,10 @@ public class WifiSettings extends RestrictedSettingsFragment
        mAddPreference = new Preference(prefContext);
        mAddPreference.setIcon(R.drawable.ic_menu_add_inset);
        mAddPreference.setTitle(R.string.wifi_add_network);
        mSeeAllNetworksPreference = new Preference(prefContext);
        mSeeAllNetworksPreference.setIcon(R.drawable.ic_arrow_down_24dp);
        mSeeAllNetworksPreference.setTitle(R.string.wifi_see_all_networks_button_title);
        mSeeAllNetworks = false;
        mStatusMessagePreference = new LinkablePreference(prefContext);

        mUserBadgeCache = new AccessPointPreference.UserBadgeCache(getPackageManager());
@@ -524,6 +533,9 @@ public class WifiSettings extends RestrictedSettingsFragment
            }
        } else if (preference == mAddPreference) {
            onAddNetworkPressed();
        } else if (preference == mSeeAllNetworksPreference) {
            mSeeAllNetworks = true;
            onAccessPointsChanged();
        } else {
            return super.onPreferenceTreeClick(preference);
        }
@@ -635,8 +647,12 @@ public class WifiSettings extends RestrictedSettingsFragment
                cacheRemoveAllPrefs(mAccessPointsPreferenceCategory);

                int index = configureConnectedAccessPointPreferenceCategory(accessPoints) ? 1 : 0;
                boolean fewerNetworksThanLimit =
                        accessPoints.size() <= index + NETWORKS_TO_INITIALLY_SHOW;
                int numAccessPointsToShow = mSeeAllNetworks || fewerNetworksThanLimit
                        ? accessPoints.size() : index + NETWORKS_TO_INITIALLY_SHOW;

                for (; index < accessPoints.size(); index++) {
                for (; index < numAccessPointsToShow; index++) {
                    AccessPoint accessPoint = accessPoints.get(index);
                    // Ignore access points that are out of range.
                    if (accessPoint.getLevel() != -1) {
@@ -682,15 +698,19 @@ public class WifiSettings extends RestrictedSettingsFragment
                    pref.setOrder(index++);
                    pref.setKey(PREF_KEY_EMPTY_WIFI_LIST);
                    mAccessPointsPreferenceCategory.addPreference(pref);
                    mAddPreference.setOrder(index++);
                    mAccessPointsPreferenceCategory.addPreference(mAddPreference);
                    setConfigureWifiSettingsVisibility();
                } else {
                    mAddPreference.setOrder(index++);
                    mAccessPointsPreferenceCategory.addPreference(mAddPreference);
                    setConfigureWifiSettingsVisibility();
                    setProgressBarVisible(false);
                }
                if (mSeeAllNetworks || fewerNetworksThanLimit) {
                    mAccessPointsPreferenceCategory.removePreference(mSeeAllNetworksPreference);
                    mAddPreference.setOrder(index);
                    mAccessPointsPreferenceCategory.addPreference(mAddPreference);
                } else {
                    mAccessPointsPreferenceCategory.removePreference(mAddPreference);
                    mSeeAllNetworksPreference.setOrder(index);
                    mAccessPointsPreferenceCategory.addPreference(mSeeAllNetworksPreference);
                }
                setConfigureWifiSettingsVisibility();
                if (mScanMenuItem != null) {
                    mScanMenuItem.setEnabled(true);
                }