summaryrefslogtreecommitdiffstats
path: root/service/jni/com_android_server_wifi_WifiNative.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'service/jni/com_android_server_wifi_WifiNative.cpp')
-rw-r--r--service/jni/com_android_server_wifi_WifiNative.cpp27
1 files changed, 25 insertions, 2 deletions
diff --git a/service/jni/com_android_server_wifi_WifiNative.cpp b/service/jni/com_android_server_wifi_WifiNative.cpp
index 50b7273a1..7073e9e15 100644
--- a/service/jni/com_android_server_wifi_WifiNative.cpp
+++ b/service/jni/com_android_server_wifi_WifiNative.cpp
@@ -958,7 +958,7 @@ static jboolean android_net_wifi_requestRange(
}
static jboolean android_net_wifi_cancelRange(
- JNIEnv *env, jclass cls, jint iface, int id, jobject params) {
+ JNIEnv *env, jclass cls, jint iface, jint id, jobject params) {
wifi_interface_handle handle = getIfaceHandle(env, cls, iface);
ALOGD("cancelling rtt request [%d] = %p", id, handle);
@@ -985,6 +985,28 @@ static jboolean android_net_wifi_cancelRange(
return wifi_rtt_range_cancel(id, handle, len, addrs) == WIFI_SUCCESS;
}
+static jboolean android_net_wifi_setScanningMacOui(JNIEnv *env, jclass cls,
+ jint iface, jbyteArray param) {
+
+ wifi_interface_handle handle = getIfaceHandle(env, cls, iface);
+ ALOGD("setting scan oui %p", handle);
+
+ static const unsigned oui_len = 3; /* OUI is upper 3 bytes of mac_address */
+ int len = env->GetArrayLength(param);
+ if (len != oui_len) {
+ ALOGE("invalid oui length %d", len);
+ return false;
+ }
+
+ jbyte* bytes = env->GetByteArrayElements(param, NULL);
+ if (bytes == NULL) {
+ ALOGE("failed to get array");
+ return false;
+ }
+
+ return wifi_set_scanning_mac_oui(handle, (byte *)bytes) == WIFI_SUCCESS;
+}
+
// ----------------------------------------------------------------------------
/*
@@ -1032,7 +1054,8 @@ static JNINativeMethod gWifiMethods[] = {
{ "requestRangeNative", "(II[Landroid/net/wifi/RttManager$RttParams;)Z",
(void*) android_net_wifi_requestRange},
{ "cancelRangeRequestNative", "(II[Landroid/net/wifi/RttManager$RttParams;)Z",
- (void*) android_net_wifi_cancelRange}
+ (void*) android_net_wifi_cancelRange},
+ { "setScanningMacOuiNative", "(I[B)Z", (void*) android_net_wifi_setScanningMacOui}
};
int register_android_net_wifi_WifiNative(JNIEnv* env) {