[Aware] API to indicate aware already attached

Provide an API for apps to indicate aware is attached and NDIs are
creadted.

Bug: 167580676
Test: atest android.net.wifi
Change-Id: I9a4c3dc6ec4096e9968c4780935f05451fb78a41
This commit is contained in:
Nate Jiang
2020-09-02 10:27:52 -07:00
parent 6716685fee
commit c2e4110e99
5 changed files with 28 additions and 0 deletions

View File

@@ -31812,6 +31812,7 @@ package android.net.wifi.aware {
method public void attach(@NonNull android.net.wifi.aware.AttachCallback, @NonNull android.net.wifi.aware.IdentityChangedListener, @Nullable android.os.Handler);
method public android.net.wifi.aware.Characteristics getCharacteristics();
method public boolean isAvailable();
method public boolean isDeviceAttached();
field public static final String ACTION_WIFI_AWARE_STATE_CHANGED = "android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED";
field public static final int WIFI_AWARE_DATA_PATH_ROLE_INITIATOR = 0; // 0x0
field public static final int WIFI_AWARE_DATA_PATH_ROLE_RESPONDER = 1; // 0x1

View File

@@ -654,6 +654,7 @@ package android.net.wifi.aware {
method public void attach(@NonNull android.net.wifi.aware.AttachCallback, @NonNull android.net.wifi.aware.IdentityChangedListener, @Nullable android.os.Handler);
method public android.net.wifi.aware.Characteristics getCharacteristics();
method public boolean isAvailable();
method public boolean isDeviceAttached();
field public static final String ACTION_WIFI_AWARE_STATE_CHANGED = "android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED";
field public static final int WIFI_AWARE_DATA_PATH_ROLE_INITIATOR = 0; // 0x0
field public static final int WIFI_AWARE_DATA_PATH_ROLE_RESPONDER = 1; // 0x1

View File

@@ -36,6 +36,7 @@ interface IWifiAwareManager
// Aware API
boolean isUsageEnabled();
Characteristics getCharacteristics();
boolean isDeviceAttached();
// client API
void connect(in IBinder binder, in String callingPackage, in String callingFeatureId,

View File

@@ -178,6 +178,22 @@ public class WifiAwareManager {
}
}
/**
* Return the current status of the Aware service: whether ot not the device is already attached
* to an Aware cluster. To attach to an Aware cluster, please use
* {@link #attach(AttachCallback, Handler)} or
* {@link #attach(AttachCallback, IdentityChangedListener, Handler)}.
* @return A boolean indicating whether the device is attached to a cluster at this time (true)
* or not (false).
*/
public boolean isDeviceAttached() {
try {
return mService.isDeviceAttached();
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
}
/**
* Returns the characteristics of the Wi-Fi Aware interface: a set of parameters which specify
* limitations on configurations, e.g. the maximum service name length.

View File

@@ -146,6 +146,15 @@ public class WifiAwareManagerTest {
verify(mockAwareService).getCharacteristics();
}
/**
* Validate pass-through of isDeviceAttached() API.
*/
@Test
public void testIsAttached() throws Exception {
mDut.isDeviceAttached();
verify(mockAwareService).isDeviceAttached();
}
/*
* WifiAwareEventCallbackProxy Tests
*/