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

Commit ec185609 authored by Johnson Lu's avatar Johnson Lu Committed by Android (Google) Code Review
Browse files

Merge "Implement WifiNetworkListFragment - Part 2"

parents e910c7af 98bc9e53
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings.wifi.dpp;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.NetworkInfo.DetailedState;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.os.Bundle;
@@ -38,6 +39,7 @@ import com.android.settingslib.wifi.WifiTrackerFactory;

import java.util.List;

import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;

@@ -60,6 +62,9 @@ public class WifiNetworkListFragment extends SettingsPreferenceFragment implemen

    private WifiManager.ActionListener mSaveListener;

    @VisibleForTesting
    boolean mUseConnectedAccessPointDirectly;

    // Container Activity must implement this interface
    public interface OnChooseNetworkListener {
        public void onChooseNetwork(WifiNetworkConfig wifiNetworkConfig);
@@ -92,7 +97,7 @@ public class WifiNetworkListFragment extends SettingsPreferenceFragment implemen
        super.onActivityCreated(savedInstanceState);

        mWifiTracker = WifiTrackerFactory.create(getActivity(), this,
                getSettingsLifecycle(), /* includeSaved */true, /* includeSaved */ true);
                getSettingsLifecycle(), /* includeSaved */true, /* includeScans */ true);
        mWifiManager = mWifiTracker.getManager();

        mSaveListener = new WifiManager.ActionListener() {
@@ -111,6 +116,8 @@ public class WifiNetworkListFragment extends SettingsPreferenceFragment implemen
                }
            }
        };

        mUseConnectedAccessPointDirectly = true;
    }

    @Override
@@ -281,6 +288,17 @@ public class WifiNetworkListFragment extends SettingsPreferenceFragment implemen
            // Check if this access point is valid for DPP.
            if (isValidForDppConfiguration(accessPoint)) {
                final String key = accessPoint.getKey();

                // Check if this access point is already connected.
                if (mUseConnectedAccessPointDirectly
                        && accessPoint.getDetailedState() == DetailedState.CONNECTED) {
                    // Uses connected access point to start DPP in Configurator-Initiator role
                    // directly.
                    onPreferenceTreeClick(createAccessPointPreference(accessPoint));
                    removeCachedPrefs(mAccessPointsPreferenceCategory);
                    return;
                }

                hasAvailableAccessPoints = true;
                final AccessPointPreference pref = (AccessPointPreference) getCachedPreference(key);
                if (pref != null) {
+1 −0
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@ public class WifiNetworkListFragmentTest {
    private void callOnWifiStateChanged(int state) {
        mActivityRule.getActivity().getMainThreadHandler()
                .post(() -> mWifiNetworkListFragment.onWifiStateChanged(state));
        mWifiNetworkListFragment.mUseConnectedAccessPointDirectly = false;
    }

    /** Launch the activity via an Intent with a String extra. */