Merge changes I8eca5f24,I9d79c67c

* changes:
  Check and send usb state broadcast when devices boots
  Only send usb disconnect intents after boot.
This commit is contained in:
Jerry Zhang
2017-01-31 00:41:55 +00:00
committed by Gerrit Code Review

View File

@@ -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);