summaryrefslogtreecommitdiffstats
path: root/core/jni/android_net_wifi_Wifi.cpp
diff options
context:
space:
mode:
authorMikael Kanstrup <mikael.kanstrup@sonyericsson.com>2010-04-07 16:45:58 +0200
committerIrfan Sheriff <isheriff@google.com>2010-08-13 10:24:04 -0700
commit876247784ee6202066abdefd8366f2e09e681fab (patch)
treecac3ca70fcfda31b9ee09a9a92a124887fc4bf60 /core/jni/android_net_wifi_Wifi.cpp
parent94364b91a2894bf037b8beb027132fbb812e1434 (diff)
downloadframeworks_base-876247784ee6202066abdefd8366f2e09e681fab.zip
frameworks_base-876247784ee6202066abdefd8366f2e09e681fab.tar.gz
frameworks_base-876247784ee6202066abdefd8366f2e09e681fab.tar.bz2
DO NOT MERGE WLAN: Reset power save mode to startup value after DHCP response.
When the driver was configured to run with power save mode disabled the power save mode incorrectly got reverted back to AUTO mode right after DHCP response. The power save mode value is now saved so that the device properly reverts back to a previous mode after DHCP response. Change-Id: Ie68cd107872d233bf422e24130a1eb9f6432db91 Bug: 2834260
Diffstat (limited to 'core/jni/android_net_wifi_Wifi.cpp')
-rw-r--r--core/jni/android_net_wifi_Wifi.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/core/jni/android_net_wifi_Wifi.cpp b/core/jni/android_net_wifi_Wifi.cpp
index 46000c9..7392442 100644
--- a/core/jni/android_net_wifi_Wifi.cpp
+++ b/core/jni/android_net_wifi_Wifi.cpp
@@ -392,6 +392,20 @@ static jboolean android_net_wifi_setPowerModeCommand(JNIEnv* env, jobject clazz,
return (jboolean)!cmdTooLong && doBooleanCommand(cmdstr, "OK");
}
+static jint android_net_wifi_getPowerModeCommand(JNIEnv* env, jobject clazz)
+{
+ char reply[256];
+ int power;
+
+ if (doCommand("DRIVER GETPOWER", reply, sizeof(reply)) != 0) {
+ return (jint)-1;
+ }
+ // reply comes back in the form "powermode = XX" where XX is the
+ // number we're interested in.
+ sscanf(reply, "%*s = %u", &power);
+ return (jint)power;
+}
+
static jboolean android_net_wifi_setNumAllowedChannelsCommand(JNIEnv* env, jobject clazz, jint numChannels)
{
char cmdstr[256];
@@ -540,6 +554,7 @@ static JNINativeMethod gWifiMethods[] = {
{ "startPacketFiltering", "()Z", (void*) android_net_wifi_startPacketFiltering },
{ "stopPacketFiltering", "()Z", (void*) android_net_wifi_stopPacketFiltering },
{ "setPowerModeCommand", "(I)Z", (void*) android_net_wifi_setPowerModeCommand },
+ { "getPowerModeCommand", "()I", (void*) android_net_wifi_getPowerModeCommand },
{ "setNumAllowedChannelsCommand", "(I)Z", (void*) android_net_wifi_setNumAllowedChannelsCommand },
{ "getNumAllowedChannelsCommand", "()I", (void*) android_net_wifi_getNumAllowedChannelsCommand },
{ "setBluetoothCoexistenceModeCommand", "(I)Z",