summaryrefslogtreecommitdiffstats
path: root/core/jni/android_net_wifi_Wifi.cpp
diff options
context:
space:
mode:
authorIrfan Sheriff <isheriff@google.com>2010-09-02 12:48:20 -0700
committerIrfan Sheriff <isheriff@google.com>2010-09-02 12:48:20 -0700
commit25c9bf2396ceb48fc5cfd5c1dd58aa4d4750d056 (patch)
tree108948322de11a32b727961e56d3a3e99abaebfd /core/jni/android_net_wifi_Wifi.cpp
parentee6d676c5b997a1214e96b6ba3755054382717c5 (diff)
downloadframeworks_base-25c9bf2396ceb48fc5cfd5c1dd58aa4d4750d056.zip
frameworks_base-25c9bf2396ceb48fc5cfd5c1dd58aa4d4750d056.tar.gz
frameworks_base-25c9bf2396ceb48fc5cfd5c1dd58aa4d4750d056.tar.bz2
Add set/get band in WifiNative
Add support for set and get band and set the default to 2GHz for now till we get a fix on issues with 11A Change-Id: Icb9bddc353e4bf013bdb8a08d9b4ee3451c282f4
Diffstat (limited to 'core/jni/android_net_wifi_Wifi.cpp')
-rw-r--r--core/jni/android_net_wifi_Wifi.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/core/jni/android_net_wifi_Wifi.cpp b/core/jni/android_net_wifi_Wifi.cpp
index aec537d..c5ccc43 100644
--- a/core/jni/android_net_wifi_Wifi.cpp
+++ b/core/jni/android_net_wifi_Wifi.cpp
@@ -411,6 +411,30 @@ static jint android_net_wifi_getPowerModeCommand(JNIEnv* env, jobject clazz)
return (jint)power;
}
+static jboolean android_net_wifi_setBandCommand(JNIEnv* env, jobject clazz, jint band)
+{
+ char cmdstr[25];
+
+ int numWritten = snprintf(cmdstr, sizeof(cmdstr), "DRIVER SETBAND %d", band);
+ int cmdTooLong = numWritten >= (int)sizeof(cmdstr);
+
+ return (jboolean)!cmdTooLong && doBooleanCommand(cmdstr, "OK");
+}
+
+static jint android_net_wifi_getBandCommand(JNIEnv* env, jobject clazz)
+{
+ char reply[25];
+ int band;
+
+ if (doCommand("DRIVER GETBAND", reply, sizeof(reply)) != 0) {
+ return (jint)-1;
+ }
+ // reply comes back in the form "Band X" where X is the
+ // number we're interested in.
+ sscanf(reply, "%*s %u", &band);
+ return (jint)band;
+}
+
static jboolean android_net_wifi_setNumAllowedChannelsCommand(JNIEnv* env, jobject clazz, jint numChannels)
{
char cmdstr[256];
@@ -561,6 +585,8 @@ static JNINativeMethod gWifiMethods[] = {
{ "stopPacketFiltering", "()Z", (void*) android_net_wifi_stopPacketFiltering },
{ "setPowerModeCommand", "(I)Z", (void*) android_net_wifi_setPowerModeCommand },
{ "getPowerModeCommand", "()I", (void*) android_net_wifi_getPowerModeCommand },
+ { "setBandCommand", "(I)Z", (void*) android_net_wifi_setBandCommand},
+ { "getBandCommand", "()I", (void*) android_net_wifi_getBandCommand},
{ "setNumAllowedChannelsCommand", "(I)Z", (void*) android_net_wifi_setNumAllowedChannelsCommand },
{ "getNumAllowedChannelsCommand", "()I", (void*) android_net_wifi_getNumAllowedChannelsCommand },
{ "setBluetoothCoexistenceModeCommand", "(I)Z",