Clean up persistent usb state on boot.

am: dfacad026d

Change-Id: I762306bc76e304c6491c8af18e82bf2e0c4b433e
This commit is contained in:
Jerry Zhang
2016-11-17 00:11:15 +00:00
committed by android-build-merger

View File

@@ -342,6 +342,16 @@ public class UsbDeviceManager {
mAdbEnabled = UsbManager.containsFunction(getDefaultFunctions(),
UsbManager.USB_FUNCTION_ADB);
/**
* Remove MTP from persistent config, to bring usb to a good state
* after fixes to b/31814300. This block can be removed after the update
*/
String persisted = SystemProperties.get(USB_PERSISTENT_CONFIG_PROPERTY);
if (UsbManager.containsFunction(persisted, UsbManager.USB_FUNCTION_MTP)) {
SystemProperties.set(USB_PERSISTENT_CONFIG_PROPERTY,
UsbManager.removeFunction(persisted, UsbManager.USB_FUNCTION_MTP));
}
setEnabledFunctions(null, false, false);
String state = FileUtils.readTextFile(new File(STATE_PATH), 0, null).trim();
@@ -457,17 +467,13 @@ public class UsbDeviceManager {
USB_PERSISTENT_CONFIG_PROPERTY, UsbManager.USB_FUNCTION_NONE));
SystemProperties.set(USB_PERSISTENT_CONFIG_PROPERTY, newFunction);
// Changing the persistent config also changes the normal
// config. Wait for this to happen before changing again.
waitForState(newFunction);
// Remove mtp from the config if file transfer is not enabled
if (oldFunctions.equals(UsbManager.USB_FUNCTION_MTP) &&
!mUsbDataUnlocked && enable) {
oldFunctions = UsbManager.USB_FUNCTION_NONE;
}
setEnabledFunctions(oldFunctions, false, mUsbDataUnlocked);
setEnabledFunctions(oldFunctions, true, mUsbDataUnlocked);
updateAdbNotification();
}