summaryrefslogtreecommitdiffstats
path: root/services/java
diff options
context:
space:
mode:
authorIrfan Sheriff <isheriff@google.com>2011-06-06 20:34:35 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-06-06 20:34:35 -0700
commit5e4d0206486378ffc7d2992750e439d54df15147 (patch)
tree6f624f289f48f23347ad754080ff3ef06452b5b5 /services/java
parentc3709f2509bfc15d13a590b8342503f858ee67e2 (diff)
parentb400184ad6277676048a30b042ed0667de662ad8 (diff)
downloadframeworks_base-5e4d0206486378ffc7d2992750e439d54df15147.zip
frameworks_base-5e4d0206486378ffc7d2992750e439d54df15147.tar.gz
frameworks_base-5e4d0206486378ffc7d2992750e439d54df15147.tar.bz2
am b400184a: Merge "Handle AsyncChannel disconnect in WifiService" into honeycomb-LTE
* commit 'b400184ad6277676048a30b042ed0667de662ad8': Handle AsyncChannel disconnect in WifiService
Diffstat (limited to 'services/java')
-rw-r--r--services/java/com/android/server/WifiService.java23
1 files changed, 22 insertions, 1 deletions
diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java
index 6acc32f..9e0f26c 100644
--- a/services/java/com/android/server/WifiService.java
+++ b/services/java/com/android/server/WifiService.java
@@ -235,6 +235,15 @@ public class WifiService extends IWifiManager.Stub {
}
break;
}
+ case AsyncChannel.CMD_CHANNEL_DISCONNECTED: {
+ if (msg.arg1 == AsyncChannel.STATUS_SEND_UNSUCCESSFUL) {
+ Slog.d(TAG, "Send failed, client connection lost");
+ } else {
+ Slog.d(TAG, "Client connection lost with reason: " + msg.arg1);
+ }
+ mClients.remove((AsyncChannel) msg.obj);
+ break;
+ }
case AsyncChannel.CMD_CHANNEL_FULL_CONNECTION: {
AsyncChannel ac = new AsyncChannel();
ac.connect(mContext, this, msg.replyTo);
@@ -312,6 +321,13 @@ public class WifiService extends IWifiManager.Stub {
}
break;
}
+ case AsyncChannel.CMD_CHANNEL_DISCONNECTED: {
+ Slog.e(TAG, "WifiStateMachine channel lost, msg.arg1 =" + msg.arg1);
+ mWifiStateMachineChannel = null;
+ //Re-establish connection to state machine
+ mWsmChannel.connect(mContext, this, mWifiStateMachine.getHandler());
+ break;
+ }
default: {
Slog.d(TAG, "WifiStateMachineHandler.handleMessage ignoring msg=" + msg);
break;
@@ -584,7 +600,12 @@ public class WifiService extends IWifiManager.Stub {
*/
public WifiConfiguration getWifiApConfiguration() {
enforceAccessPermission();
- return mWifiStateMachine.syncGetWifiApConfiguration(mWifiStateMachineChannel);
+ if (mWifiStateMachineChannel != null) {
+ return mWifiStateMachine.syncGetWifiApConfiguration(mWifiStateMachineChannel);
+ } else {
+ Slog.e(TAG, "mWifiStateMachineChannel is not initialized");
+ return null;
+ }
}
/**