diff --git a/tests/cts/net/src/android/net/wifi/aware/cts/SingleDeviceTest.java b/tests/cts/net/src/android/net/wifi/aware/cts/SingleDeviceTest.java index 61b4f91544..389621e867 100644 --- a/tests/cts/net/src/android/net/wifi/aware/cts/SingleDeviceTest.java +++ b/tests/cts/net/src/android/net/wifi/aware/cts/SingleDeviceTest.java @@ -39,6 +39,7 @@ import android.net.wifi.aware.WifiAwareManager; import android.net.wifi.aware.WifiAwareSession; import android.os.Handler; import android.os.HandlerThread; +import android.os.SystemClock; import android.test.AndroidTestCase; import com.android.compatibility.common.util.SystemUtil; @@ -58,8 +59,8 @@ import java.util.concurrent.TimeUnit; public class SingleDeviceTest extends AndroidTestCase { private static final String TAG = "WifiAwareCtsTests"; - // wait for Wi-Fi Aware to become available - static private final int WAIT_FOR_AWARE_CHANGE_SECS = 10; + // wait for Wi-Fi Aware state changes & network requests callbacks + static private final int WAIT_FOR_AWARE_CHANGE_SECS = 10; // 10 seconds private final Object mLock = new Object(); private final HandlerThread mHandlerThread = new HandlerThread("SingleDeviceTest"); @@ -704,7 +705,7 @@ public class SingleDeviceTest extends AndroidTestCase { /** * Request an Aware data-path (open) as a Responder with an arbitrary peer MAC address. Validate - * that times-out. + * that receive an onUnavailable() callback. */ public void testDataPathOpenOutOfBandFail() { if (!TestUtils.shouldTestWifiAware(getContext())) { @@ -712,28 +713,32 @@ public class SingleDeviceTest extends AndroidTestCase { } MacAddress mac = MacAddress.fromString("00:01:02:03:04:05"); + // 1. initialize Aware: only purpose is to make sure it is available for OOB data-path WifiAwareSession session = attachAndGetSession(); PublishConfig publishConfig = new PublishConfig.Builder().setServiceName( "ValidName").build(); DiscoverySessionCallbackTest discoveryCb = new DiscoverySessionCallbackTest(); - NetworkCallbackTest networkCb = new NetworkCallbackTest(); + session.publish(publishConfig, discoveryCb, mHandler); + assertTrue("Publish started", + discoveryCb.waitForCallback(DiscoverySessionCallbackTest.ON_PUBLISH_STARTED)); - // 1. request an AWARE network + // 2. request an AWARE network + NetworkCallbackTest networkCb = new NetworkCallbackTest(); NetworkRequest nr = new NetworkRequest.Builder().addTransportType( NetworkCapabilities.TRANSPORT_WIFI_AWARE).setNetworkSpecifier( session.createNetworkSpecifierOpen( - WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_RESPONDER, + WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_INITIATOR, mac.toByteArray())).build(); - mConnectivityManager.requestNetwork(nr, networkCb, 2000); - assertTrue("OnUnavailable received", networkCb.waitForOnUnavailable()); + mConnectivityManager.requestNetwork(nr, networkCb); + assertTrue("OnUnavailable not received", networkCb.waitForOnUnavailable()); session.close(); } /** * Request an Aware data-path (encrypted) as a Responder with an arbitrary peer MAC address. - * Validate that times-out. + * Validate that receive an onUnavailable() callback. */ public void testDataPathPassphraseOutOfBandFail() { if (!TestUtils.shouldTestWifiAware(getContext())) { @@ -741,21 +746,25 @@ public class SingleDeviceTest extends AndroidTestCase { } MacAddress mac = MacAddress.fromString("00:01:02:03:04:05"); + // 1. initialize Aware: only purpose is to make sure it is available for OOB data-path WifiAwareSession session = attachAndGetSession(); PublishConfig publishConfig = new PublishConfig.Builder().setServiceName( "ValidName").build(); DiscoverySessionCallbackTest discoveryCb = new DiscoverySessionCallbackTest(); - NetworkCallbackTest networkCb = new NetworkCallbackTest(); + session.publish(publishConfig, discoveryCb, mHandler); + assertTrue("Publish started", + discoveryCb.waitForCallback(DiscoverySessionCallbackTest.ON_PUBLISH_STARTED)); - // 1. request an AWARE network + // 2. request an AWARE network + NetworkCallbackTest networkCb = new NetworkCallbackTest(); NetworkRequest nr = new NetworkRequest.Builder().addTransportType( NetworkCapabilities.TRANSPORT_WIFI_AWARE).setNetworkSpecifier( session.createNetworkSpecifierPassphrase( - WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_RESPONDER, mac.toByteArray(), + WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_INITIATOR, mac.toByteArray(), "abcdefghihk")).build(); - mConnectivityManager.requestNetwork(nr, networkCb, 2000); - assertTrue("OnUnavailable received", networkCb.waitForOnUnavailable()); + mConnectivityManager.requestNetwork(nr, networkCb); + assertTrue("OnUnavailable not received", networkCb.waitForOnUnavailable()); session.close(); }