diff options
| author | 2017-01-31 00:41:55 +0000 | |
|---|---|---|
| committer | 2017-01-31 00:41:55 +0000 | |
| commit | 54604d9143fb6dbee6f63ea9f11ec99ec44c4345 (patch) | |
| tree | 38bd32e136c36b6196ea8cd55eb26876014805eb | |
| parent | 06aed6950d38f3a66fcdbc7449feb6d0d922fe34 (diff) | |
| parent | af6d473ab06afc5ca60bf61513e1197886d56af6 (diff) | |
Merge changes I8eca5f24,I9d79c67c
* changes:
Check and send usb state broadcast when devices boots
Only send usb disconnect intents after boot.
| -rw-r--r-- | services/usb/java/com/android/server/usb/UsbDeviceManager.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index b3f5630b8e25..00c36f989df3 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -150,6 +150,7 @@ public class UsbDeviceManager { private UsbDebuggingManager mDebuggingManager; private final UsbAlsaManager mUsbAlsaManager; private Intent mBroadcastedIntent; + private boolean mPendingBootBroadcast; private class AdbSettingsObserver extends ContentObserver { public AdbSettingsObserver() { @@ -740,13 +741,16 @@ public class UsbDeviceManager { if (UsbManager.containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_ACCESSORY)) { updateCurrentAccessory(); - } else if (!mConnected) { - // restore defaults when USB is disconnected - setEnabledFunctions(null, false, false); } if (mBootCompleted) { + if (!mConnected) { + // restore defaults when USB is disconnected + setEnabledFunctions(null, false, false); + } updateUsbStateBroadcastIfNeeded(false); updateUsbFunctions(); + } else { + mPendingBootBroadcast = true; } break; case MSG_UPDATE_HOST_STATE: @@ -758,6 +762,8 @@ public class UsbDeviceManager { updateUsbNotification(); if (mBootCompleted) { updateUsbStateBroadcastIfNeeded(false); + } else { + mPendingBootBroadcast = true; } break; case MSG_ENABLE_ADB: @@ -777,6 +783,10 @@ public class UsbDeviceManager { break; case MSG_BOOT_COMPLETED: mBootCompleted = true; + if (mPendingBootBroadcast) { + updateUsbStateBroadcastIfNeeded(false); + mPendingBootBroadcast = false; + } setEnabledFunctions(null, false, false); if (mCurrentAccessory != null) { getCurrentSettings().accessoryAttached(mCurrentAccessory); |