[NAN] Expose NAN characteristics as an API
Expose NAN characteristics as an API.
(cherry-pick of commit 3a9de10963d869fa8f721432ce12785de384c560)
Bug: 31912101
Test: build and validate API updates
Change-Id: If02942d738aab8fa2f2f47489c6840af1bc38280
diff --git a/framework/java/android/net/wifi/nan/IWifiNanManager.aidl b/framework/java/android/net/wifi/nan/IWifiNanManager.aidl
index 56baba9..5485824 100644
--- a/framework/java/android/net/wifi/nan/IWifiNanManager.aidl
+++ b/framework/java/android/net/wifi/nan/IWifiNanManager.aidl
@@ -23,6 +23,7 @@
import android.net.wifi.nan.IWifiNanEventCallback;
import android.net.wifi.nan.PublishConfig;
import android.net.wifi.nan.SubscribeConfig;
+import android.net.wifi.nan.WifiNanCharacteristics;
import android.net.wifi.RttManager;
/**
@@ -36,6 +37,7 @@
void enableUsage();
void disableUsage();
boolean isUsageEnabled();
+ WifiNanCharacteristics getCharacteristics();
// client API
void connect(in IBinder binder, in String callingPackage, in IWifiNanEventCallback callback,
diff --git a/framework/java/android/net/wifi/nan/WifiNanCharacteristics.aidl b/framework/java/android/net/wifi/nan/WifiNanCharacteristics.aidl
new file mode 100644
index 0000000..e562a00
--- /dev/null
+++ b/framework/java/android/net/wifi/nan/WifiNanCharacteristics.aidl
@@ -0,0 +1,19 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.net.wifi.nan;
+
+parcelable WifiNanCharacteristics;
diff --git a/framework/java/android/net/wifi/nan/WifiNanCharacteristics.java b/framework/java/android/net/wifi/nan/WifiNanCharacteristics.java
index 32c4258..f43ed4d 100644
--- a/framework/java/android/net/wifi/nan/WifiNanCharacteristics.java
+++ b/framework/java/android/net/wifi/nan/WifiNanCharacteristics.java
@@ -23,7 +23,7 @@
/**
* The characteristics of the Wi-Fi NAN implementation.
*
- * @hide
+ * @hide PROPOSED_NAN_API
*/
public class WifiNanCharacteristics implements Parcelable {
/** @hide */
diff --git a/framework/java/android/net/wifi/nan/WifiNanManager.java b/framework/java/android/net/wifi/nan/WifiNanManager.java
index bb15434..002b953 100644
--- a/framework/java/android/net/wifi/nan/WifiNanManager.java
+++ b/framework/java/android/net/wifi/nan/WifiNanManager.java
@@ -293,6 +293,20 @@
}
/**
+ * Returns the characteristics of the Wi-Fi NAN interface: a set of parameters which specify
+ * limitations on configurations, e.g. the maximum service name length.
+ *
+ * @return An object specifying configuration limitations of NAN.
+ */
+ public WifiNanCharacteristics getCharacteristics() {
+ try {
+ return mService.getCharacteristics();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
* Attach to the Wi-Fi NAN service - enabling the application to create discovery sessions or
* create connections to peers. The device will attach to an existing cluster if it can find
* one or create a new cluster (if it is the first to enable NAN in its vicinity). Results