diff options
author | Irfan Sheriff <isheriff@google.com> | 2011-06-06 20:31:55 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-06-06 20:31:55 -0700 |
commit | b400184ad6277676048a30b042ed0667de662ad8 (patch) | |
tree | 0a8d601da54df2a7f19805ba585a503f22c8d83b | |
parent | 277bfd7cdd889e4f59e57925b90d1899f7312c4e (diff) | |
parent | 6da83d5868907f64658d51f6a59261ed16c386a1 (diff) | |
download | frameworks_base-b400184ad6277676048a30b042ed0667de662ad8.zip frameworks_base-b400184ad6277676048a30b042ed0667de662ad8.tar.gz frameworks_base-b400184ad6277676048a30b042ed0667de662ad8.tar.bz2 |
Merge "Handle AsyncChannel disconnect in WifiService" into honeycomb-LTE
-rw-r--r-- | services/java/com/android/server/WifiService.java | 23 |
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; + } } /** |