diff options
| author | Robert Greenwalt <robdroid@android.com> | 2009-10-22 17:03:47 -0700 |
|---|---|---|
| committer | Robert Greenwalt <robdroid@android.com> | 2009-10-23 11:12:47 -0700 |
| commit | f75aa36fc86989ca3bae2f46207e6b897a32d7ae (patch) | |
| tree | 9db13e2a175d53dada59b02d977e53ad9343532b /services | |
| parent | 9069aa31accee9c23a4cf228ca27fe8fa8506a56 (diff) | |
| download | frameworks_base-f75aa36fc86989ca3bae2f46207e6b897a32d7ae.zip frameworks_base-f75aa36fc86989ca3bae2f46207e6b897a32d7ae.tar.gz frameworks_base-f75aa36fc86989ca3bae2f46207e6b897a32d7ae.tar.bz2 | |
Add wifi "HANGED" driver state triggering reload.
The driver can now report to us that they are hosed and we'll shut
down wifi and restart it - only to be used as a last resort.
Also fixing synch problem with updateWifiState.
bug: 2173119
Diffstat (limited to 'services')
| -rw-r--r-- | services/java/com/android/server/WifiService.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/services/java/com/android/server/WifiService.java b/services/java/com/android/server/WifiService.java index 370ee68..0ea832b 100644 --- a/services/java/com/android/server/WifiService.java +++ b/services/java/com/android/server/WifiService.java @@ -142,6 +142,7 @@ public class WifiService extends IWifiManager.Stub { private static final int MESSAGE_STOP_WIFI = 2; private static final int MESSAGE_START_WIFI = 3; private static final int MESSAGE_RELEASE_WAKELOCK = 4; + private static final int MESSAGE_UPDATE_STATE = 5; private final WifiHandler mWifiHandler; @@ -1446,6 +1447,11 @@ public class WifiService extends IWifiManager.Stub { } private void updateWifiState() { + // send a message so it's all serialized + Message.obtain(mWifiHandler, MESSAGE_UPDATE_STATE, 0, 0).sendToTarget(); + } + + private void doUpdateWifiState() { boolean wifiEnabled = getPersistedWifiEnabled(); boolean airplaneMode = isAirplaneModeOn() && !mAirplaneModeOverwridden; boolean lockHeld = mLocks.hasLocks(); @@ -1551,6 +1557,10 @@ public class WifiService extends IWifiManager.Stub { sWakeLock.release(); break; + case MESSAGE_UPDATE_STATE: + doUpdateWifiState(); + break; + case MESSAGE_DISABLE_WIFI: // a non-zero msg.arg1 value means the "enabled" setting // should be persisted |
