summaryrefslogtreecommitdiffstats
path: root/wifi/java
diff options
context:
space:
mode:
authorVinit Deshapnde <vinitd@google.com>2013-09-10 17:32:52 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-09-10 17:32:52 +0000
commitba85b970f3ae7fd58c9a631e64bff0d05b787b9b (patch)
tree69a212c9c06842943d5c3764b37632939a263778 /wifi/java
parente91a3f5229405b39a3ba59aa0a3e44527eef063e (diff)
parent2c385ecb1c390f7b695842fedfdebf95fd5e842c (diff)
downloadframeworks_base-ba85b970f3ae7fd58c9a631e64bff0d05b787b9b.zip
frameworks_base-ba85b970f3ae7fd58c9a631e64bff0d05b787b9b.tar.gz
frameworks_base-ba85b970f3ae7fd58c9a631e64bff0d05b787b9b.tar.bz2
Merge "Set country code on P2p interfaces as well" into klp-dev
Diffstat (limited to 'wifi/java')
-rw-r--r--wifi/java/android/net/wifi/WifiNative.java3
-rw-r--r--wifi/java/android/net/wifi/WifiStateMachine.java6
-rw-r--r--wifi/java/android/net/wifi/p2p/WifiP2pService.java14
3 files changed, 19 insertions, 4 deletions
diff --git a/wifi/java/android/net/wifi/WifiNative.java b/wifi/java/android/net/wifi/WifiNative.java
index 83789e2..5626192 100644
--- a/wifi/java/android/net/wifi/WifiNative.java
+++ b/wifi/java/android/net/wifi/WifiNative.java
@@ -25,6 +25,7 @@ import android.util.Log;
import java.util.ArrayList;
import java.util.List;
+import java.util.Locale;
/**
* Native calls for bring up/shut down of the supplicant daemon and for
@@ -457,7 +458,7 @@ public class WifiNative {
}
public boolean setCountryCode(String countryCode) {
- return doBooleanCommand("DRIVER COUNTRY " + countryCode);
+ return doBooleanCommand("DRIVER COUNTRY " + countryCode.toUpperCase(Locale.ROOT));
}
public void enableBackgroundScan(boolean enable) {
diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java
index 3ccdbea..2bc22f2 100644
--- a/wifi/java/android/net/wifi/WifiStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiStateMachine.java
@@ -88,7 +88,6 @@ import java.net.InetAddress;
import java.net.Inet6Address;
import java.util.ArrayList;
import java.util.List;
-import java.util.Locale;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.Iterator;
@@ -1431,6 +1430,7 @@ public class WifiStateMachine extends StateMachine {
countryCode);
}
sendMessage(CMD_SET_COUNTRY_CODE, countryCode);
+ mWifiP2pChannel.sendMessage(WifiP2pService.SET_COUNTRY_CODE, countryCode);
}
/**
@@ -2952,7 +2952,7 @@ public class WifiStateMachine extends StateMachine {
case CMD_SET_COUNTRY_CODE:
String country = (String) message.obj;
if (DBG) log("set country code " + country);
- if (!mWifiNative.setCountryCode(country.toUpperCase(Locale.ROOT))) {
+ if (!mWifiNative.setCountryCode(country)) {
loge("Failed to set country code " + country);
}
break;
@@ -4256,7 +4256,7 @@ public class WifiStateMachine extends StateMachine {
/**
* arg2 on the source message has a unique id that needs to be retained in replies
* to match the request
- *
+
* see WifiManager for details
*/
private Message obtainMessageWithArg2(Message srcMsg) {
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pService.java b/wifi/java/android/net/wifi/p2p/WifiP2pService.java
index 05196b8..625ffb8 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pService.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pService.java
@@ -174,6 +174,9 @@ public class WifiP2pService extends IWifiP2pManager.Stub {
// msg.obj = StateMachine to send to when blocked
public static final int BLOCK_DISCOVERY = BASE + 15;
+ // set country code
+ public static final int SET_COUNTRY_CODE = BASE + 16;
+
public static final int ENABLED = 1;
public static final int DISABLED = 0;
@@ -632,6 +635,7 @@ public class WifiP2pService extends IWifiP2pManager.Stub {
case WifiP2pManager.START_LISTEN:
case WifiP2pManager.STOP_LISTEN:
case WifiP2pManager.SET_CHANNEL:
+ case SET_COUNTRY_CODE:
break;
case WifiStateMachine.CMD_ENABLE_P2P:
// Enable is lazy and has no response
@@ -1064,6 +1068,10 @@ public class WifiP2pService extends IWifiP2pManager.Stub {
replyToMessage(message, WifiP2pManager.SET_CHANNEL_FAILED);
}
break;
+ case SET_COUNTRY_CODE:
+ String countryCode = (String) message.obj;
+ mWifiNative.setCountryCode(countryCode);
+ break;
default:
return NOT_HANDLED;
}
@@ -2537,6 +2545,12 @@ public class WifiP2pService extends IWifiP2pManager.Stub {
mServiceTransactionId = 0;
mServiceDiscReqId = null;
+ String countryCode = Settings.Global.getString(mContext.getContentResolver(),
+ Settings.Global.WIFI_COUNTRY_CODE);
+ if (countryCode != null && !countryCode.isEmpty()) {
+ mP2pStateMachine.sendMessage(SET_COUNTRY_CODE, countryCode);
+ }
+
updatePersistentNetworks(RELOAD);
}