From 6032c354d9c7bc7986faaa9eea467896318a7a66 Mon Sep 17 00:00:00 2001 From: Jerry Zhang Date: Fri, 2 Jun 2017 12:05:03 -0700 Subject: Remove ptp from persist config on boot We got a report from a user in which ptp was set in the persistent config, likely from a previous version. This causes errors in the usb state and is not removed by an ota. To fix, remove ptp in the same place that mtp is removed from the persistent config. Bug: 62202885 Test: Add ptp to persistent config, verify removed. Change-Id: I5ebd93b9c8a49bcaca5a3362e49ed1e1acf50a9b --- services/usb/java/com/android/server/usb/UsbDeviceManager.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'services/usb/java') diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index 26a406fd8fe8..ca74688c8d58 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -407,13 +407,15 @@ public class UsbDeviceManager { 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 + * Previous versions can set persist config to mtp/ptp but it does not + * get reset on OTA. Reset the property here instead. */ String persisted = SystemProperties.get(USB_PERSISTENT_CONFIG_PROPERTY); - if (UsbManager.containsFunction(persisted, UsbManager.USB_FUNCTION_MTP)) { + if (UsbManager.containsFunction(persisted, UsbManager.USB_FUNCTION_MTP) + || UsbManager.containsFunction(persisted, UsbManager.USB_FUNCTION_PTP)) { SystemProperties.set(USB_PERSISTENT_CONFIG_PROPERTY, - UsbManager.removeFunction(persisted, UsbManager.USB_FUNCTION_MTP)); + UsbManager.removeFunction(UsbManager.removeFunction(persisted, + UsbManager.USB_FUNCTION_MTP), UsbManager.USB_FUNCTION_PTP)); } String state = FileUtils.readTextFile(new File(STATE_PATH), 0, null).trim(); -- cgit v1.2.3-59-g8ed1b