summaryrefslogtreecommitdiffstats
path: root/wifi
diff options
context:
space:
mode:
authorIrfan Sheriff <isheriff@google.com>2010-08-19 18:41:58 -0700
committerIrfan Sheriff <isheriff@google.com>2010-08-19 21:35:25 -0700
commitcdea9193f2745fd46e69858a7c5570d95f8182dc (patch)
tree20e1861691cbd154cad6ab58f92566773dd02ea0 /wifi
parent8e6c8c20249d51395afff1afa80799f6e95306c7 (diff)
downloadframeworks_base-cdea9193f2745fd46e69858a7c5570d95f8182dc.zip
frameworks_base-cdea9193f2745fd46e69858a7c5570d95f8182dc.tar.gz
frameworks_base-cdea9193f2745fd46e69858a7c5570d95f8182dc.tar.bz2
update ssid in WifiInfo
Bug: 2876746 Change-Id: I58295e01f07f168e234ab344065fe50047902c76
Diffstat (limited to 'wifi')
-rw-r--r--wifi/java/android/net/wifi/WifiStateMachine.java21
1 files changed, 19 insertions, 2 deletions
diff --git a/wifi/java/android/net/wifi/WifiStateMachine.java b/wifi/java/android/net/wifi/WifiStateMachine.java
index 6408666..19c4eb0 100644
--- a/wifi/java/android/net/wifi/WifiStateMachine.java
+++ b/wifi/java/android/net/wifi/WifiStateMachine.java
@@ -1156,6 +1156,23 @@ public class WifiStateMachine extends HierarchicalStateMachine {
mScanResults = scanList;
}
+ private String fetchSSID() {
+ String status = WifiNative.statusCommand();
+ if (status == null) {
+ return null;
+ }
+ // extract ssid from a series of "name=value"
+ String[] lines = status.split("\n");
+ for (String line : lines) {
+ String[] prop = line.split(" *= *");
+ if (prop.length < 2) continue;
+ String name = prop[0];
+ String value = prop[1];
+ if (name.equalsIgnoreCase("ssid")) return value;
+ }
+ return null;
+ }
+
private void configureNetworkProperties() {
try {
mNetworkProperties.setInterface(NetworkInterface.getByName(mInterfaceName));
@@ -2924,6 +2941,8 @@ public class WifiStateMachine extends HierarchicalStateMachine {
Log.d(TAG,"Network connection established");
stateChangeResult = (StateChangeResult) message.obj;
+ //TODO: make supplicant modification to push this in events
+ mWifiInfo.setSSID(fetchSSID());
mWifiInfo.setBSSID(mLastBssid = stateChangeResult.BSSID);
mWifiInfo.setNetworkId(stateChangeResult.networkId);
mLastNetworkId = stateChangeResult.networkId;
@@ -3390,8 +3409,6 @@ public class WifiStateMachine extends HierarchicalStateMachine {
setDetailedState(WifiInfo.getDetailedStateOf(supState));
mWifiInfo.setSupplicantState(supState);
mWifiInfo.setNetworkId(stateChangeResult.networkId);
- //TODO: Modify WifiMonitor to report SSID on events
- //mWifiInfo.setSSID()
return HANDLED;
}