diff options
author | Mike Lockwood <lockwood@android.com> | 2010-12-10 16:19:32 -0800 |
---|---|---|
committer | Mike Lockwood <lockwood@android.com> | 2011-02-27 18:39:26 -0800 |
commit | f13ec7a3ac18ad87936ddab2e18f57c3bf91bfb6 (patch) | |
tree | 9d0ac03104b77fa965250610d5e1fa30ab7fc6a5 /services/java/com/android/server/connectivity | |
parent | 7916432b3cd9d0396872aee6d3d585f19b4b7ef6 (diff) | |
download | frameworks_base-f13ec7a3ac18ad87936ddab2e18f57c3bf91bfb6.zip frameworks_base-f13ec7a3ac18ad87936ddab2e18f57c3bf91bfb6.tar.gz frameworks_base-f13ec7a3ac18ad87936ddab2e18f57c3bf91bfb6.tar.bz2 |
DO NOT MERGE: Clean up USB notifications:
Add support for separate USB connected and configuration events
Include both USB connected/disconnected and configuration state
in USB_STATE Intent
Remove redundant USB_CONNECTED and USB_DISCONNECTED Intents
Now we just have the sticky USB_STATE broadcast
Move USB disconnnect rebouncing from Tethering to UsbService
Change-Id: I1dea480f4b0daf14247cf37c5f2060498882c002
Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'services/java/com/android/server/connectivity')
-rw-r--r-- | services/java/com/android/server/connectivity/Tethering.java | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/services/java/com/android/server/connectivity/Tethering.java b/services/java/com/android/server/connectivity/Tethering.java index 5712e60..7652a26 100644 --- a/services/java/com/android/server/connectivity/Tethering.java +++ b/services/java/com/android/server/connectivity/Tethering.java @@ -111,14 +111,6 @@ public class Tethering extends INetworkManagementEventObserver.Stub { private boolean mUsbMassStorageOff; // track the status of USB Mass Storage private boolean mUsbConnected; // track the status of USB connection - // mUsbHandler message - static final int USB_STATE_CHANGE = 1; - static final int USB_DISCONNECTED = 0; - static final int USB_CONNECTED = 1; - - // Time to delay before processing USB disconnect events - static final long USB_DISCONNECT_DELAY = 1000; - public Tethering(Context context, Looper looper) { mContext = context; mLooper = looper; @@ -429,25 +421,12 @@ public class Tethering extends INetworkManagementEventObserver.Stub { } } - private Handler mUsbHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - mUsbConnected = (msg.arg1 == USB_CONNECTED); - updateUsbStatus(); - } - }; - private class StateReceiver extends BroadcastReceiver { public void onReceive(Context content, Intent intent) { String action = intent.getAction(); if (action.equals(UsbManager.ACTION_USB_STATE)) { - // process connect events immediately, but delay handling disconnects - // to debounce USB configuration changes - boolean connected = intent.getExtras().getBoolean(UsbManager.USB_CONNECTED); - Message msg = Message.obtain(mUsbHandler, USB_STATE_CHANGE, - (connected ? USB_CONNECTED : USB_DISCONNECTED), 0); - mUsbHandler.removeMessages(USB_STATE_CHANGE); - mUsbHandler.sendMessageDelayed(msg, connected ? 0 : USB_DISCONNECT_DELAY); + mUsbConnected = intent.getExtras().getBoolean(UsbManager.USB_CONNECTED); + updateUsbStatus(); } else if (action.equals(Intent.ACTION_MEDIA_SHARED)) { mUsbMassStorageOff = false; updateUsbStatus(); |