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

Commit 33ac9a43 authored by Ecco Park's avatar Ecco Park Committed by Android (Google) Code Review
Browse files

Merge "passpoint-r2: define getAllMatchingWifiConfigs(List<ScanResult>) API"

parents 22edbb5e f035a04f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -3640,6 +3640,7 @@ package android.net.wifi {

  public class WifiManager {
    method public void connect(android.net.wifi.WifiConfiguration, android.net.wifi.WifiManager.ActionListener);
    method public java.util.List<android.net.wifi.WifiConfiguration> getAllMatchingWifiConfigs(java.util.List<android.net.wifi.ScanResult>);
    method public java.util.List<android.net.wifi.WifiConfiguration> getPrivilegedConfiguredNetworks();
    method public android.net.wifi.WifiConfiguration getWifiApConfiguration();
    method public int getWifiApState();
+1 −3
Original line number Diff line number Diff line
@@ -61,9 +61,7 @@ interface IWifiManager

    ParceledListSlice getPrivilegedConfiguredNetworks();

    WifiConfiguration getMatchingWifiConfig(in ScanResult scanResult);

    List<WifiConfiguration> getAllMatchingWifiConfigs(in ScanResult scanResult);
    List<WifiConfiguration> getAllMatchingWifiConfigs(in List<ScanResult> scanResult);

    List<OsuProvider> getMatchingOsuProviders(in ScanResult scanResult);

+10 −24
Original line number Diff line number Diff line
@@ -1073,42 +1073,27 @@ public class WifiManager {
    }

    /**
     * Returns a WifiConfiguration matching this ScanResult
     *
     * @param scanResult scanResult that represents the BSSID
     * @return {@link WifiConfiguration} that matches this BSSID or null
     * @throws UnsupportedOperationException if Passpoint is not enabled on the device.
     * @hide
     */
    @UnsupportedAppUsage
    public WifiConfiguration getMatchingWifiConfig(ScanResult scanResult) {
        try {
            return mService.getMatchingWifiConfig(scanResult);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
     * Return all matching WifiConfigurations for this ScanResult.
     * Returns all matching WifiConfigurations for a given list of ScanResult.
     *
     * An empty list will be returned when no configurations are installed or if no configurations
     * match the ScanResult.
     *
     * @param scanResult scanResult that represents the BSSID
     * @return A list of {@link WifiConfiguration}

     * @param scanResults a list of scanResult that represents the BSSID
     * @return A list of {@link WifiConfiguration} that can have duplicate entries.
     * @throws UnsupportedOperationException if Passpoint is not enabled on the device.
     * @hide
     */
    public List<WifiConfiguration> getAllMatchingWifiConfigs(ScanResult scanResult) {
    @SystemApi
    @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
    public List<WifiConfiguration> getAllMatchingWifiConfigs(
            @NonNull List<ScanResult> scanResults) {
        try {
            return mService.getAllMatchingWifiConfigs(scanResult);
            return mService.getAllMatchingWifiConfigs(scanResults);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }


    /**
     * Returns a list of Hotspot 2.0 OSU (Online Sign-Up) providers associated with the given AP.
     *
@@ -1119,6 +1104,7 @@ public class WifiManager {
     * @throws UnsupportedOperationException if Passpoint is not enabled on the device.
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
    public List<OsuProvider> getMatchingOsuProviders(ScanResult scanResult) {
        try {
            return mService.getMatchingOsuProviders(scanResult);
+19 −4
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import android.net.wifi.INetworkRequestMatchCallback;
import android.net.wifi.ISoftApCallback;
import android.net.wifi.ITrafficStateCallback;
import android.net.wifi.IWifiManager;
import android.net.wifi.PasspointManagementObjectDefinition;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiActivityEnergyInfo;
import android.net.wifi.WifiConfiguration;
@@ -37,7 +36,6 @@ import android.os.IBinder;
import android.os.Messenger;
import android.os.ResultReceiver;
import android.os.WorkSource;
import android.util.Slog;

import java.util.List;

@@ -83,16 +81,33 @@ public abstract class AbstractWifiService extends IWifiManager.Stub {
        throw new UnsupportedOperationException();
    }

    @Override
    /**
     * Returns a WifiConfiguration matching this ScanResult
     * @param scanResult a single ScanResult Object
     * @return
     * @deprecated use {@link #getAllMatchingWifiConfigs(List)} instead.
     */
    @Deprecated
    public WifiConfiguration getMatchingWifiConfig(ScanResult scanResult) {
        throw new UnsupportedOperationException();
    }

    @Override
    /**
     * Returns all matching WifiConfigurations for this ScanResult.
     * @param scanResult a single ScanResult Object
     * @return
     * @deprecated use {@link #getAllMatchingWifiConfigs(List)} instead.
     */
    @Deprecated
    public List<WifiConfiguration> getAllMatchingWifiConfigs(ScanResult scanResult) {
        throw new UnsupportedOperationException();
    }

    @Override
    public List<WifiConfiguration> getAllMatchingWifiConfigs(List<ScanResult> scanResults) {
        throw new UnsupportedOperationException();
    }

    @Override
    public List<OsuProvider> getMatchingOsuProviders(ScanResult scanResult) {
        throw new UnsupportedOperationException();
+37 −1
Original line number Diff line number Diff line
@@ -35,7 +35,20 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.Mockito.*;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.anyList;
import static org.mockito.Mockito.anyString;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.when;

import android.content.Context;
import android.content.pm.ApplicationInfo;
@@ -62,6 +75,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import java.util.ArrayList;
import java.util.List;

/**
 * Unit tests for {@link android.net.wifi.WifiManager}.
@@ -1250,4 +1264,26 @@ i * Verify that a call to cancel WPS immediately returns a failure.
        userSelectionCallbackCaptor.getValue().reject();
        verify(iUserSelectionCallback).reject();
    }

    /**
     * Check the call to getAllMatchingWifiConfigs calls getAllMatchingWifiConfigs of WifiService
     * with the provided a list of ScanResult.
     */
    @Test
    public void testGetAllMatchingWifiConfigs() throws Exception {
        mWifiManager.getAllMatchingWifiConfigs(new ArrayList<>());

        verify(mWifiService).getAllMatchingWifiConfigs(any(List.class));
    }

    /**
     * Check the call to getMatchingOsuProviders calls getMatchingOsuProviders of WifiService
     * with the provided a single ScanResult.
     */
    @Test
    public void testGetMatchingOsuProviders() throws Exception {
        mWifiManager.getMatchingOsuProviders(new ScanResult());

        verify(mWifiService).getMatchingOsuProviders(any(ScanResult.class));
    }
}