diff options
author | Irfan Sheriff <isheriff@google.com> | 2011-06-06 20:34:35 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-06-06 20:34:35 -0700 |
commit | 5e4d0206486378ffc7d2992750e439d54df15147 (patch) | |
tree | 6f624f289f48f23347ad754080ff3ef06452b5b5 /services/java | |
parent | c3709f2509bfc15d13a590b8342503f858ee67e2 (diff) | |
parent | b400184ad6277676048a30b042ed0667de662ad8 (diff) | |
download | frameworks_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.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; + } } /** |