Jackeagle | a3ae16b | 2018-12-04 11:30:49 -0500 | [diff] [blame^] | 1 | From 234564efdde6678caebcbdf7c7ba989f6b66cb6e Mon Sep 17 00:00:00 2001 |
Pierre-Hugues Husson | c88c010 | 2018-08-29 22:56:41 +0200 | [diff] [blame] | 2 | From: Pierre-Hugues Husson <phh@phh.me> |
| 3 | Date: Tue, 14 Aug 2018 21:48:19 +0200 |
| 4 | Subject: [PATCH] Act as usb device when there is no hal, but we believe we are |
| 5 | a device |
| 6 | |
| 7 | Change-Id: I036090738525fd8cc63534d52d02ab1852950a7d |
| 8 | --- |
Jackeagle | a3ae16b | 2018-12-04 11:30:49 -0500 | [diff] [blame^] | 9 | .../usb/UsbConnectionBroadcastReceiver.java | 8 ++++++++ |
Pierre-Hugues Husson | c88c010 | 2018-08-29 22:56:41 +0200 | [diff] [blame] | 10 | 1 file changed, 8 insertions(+) |
| 11 | |
| 12 | diff --git a/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java b/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java |
Jackeagle | a3ae16b | 2018-12-04 11:30:49 -0500 | [diff] [blame^] | 13 | index 1b525352d0..fdd183b53d 100644 |
Pierre-Hugues Husson | c88c010 | 2018-08-29 22:56:41 +0200 | [diff] [blame] | 14 | --- a/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java |
| 15 | +++ b/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java |
| 16 | @@ -77,6 +77,14 @@ public class UsbConnectionBroadcastReceiver extends BroadcastReceiver implements |
| 17 | mFunctions = functions; |
| 18 | mDataRole = mUsbBackend.getDataRole(); |
| 19 | mPowerRole = mUsbBackend.getPowerRole(); |
| 20 | + //If we have no USB HAL, mDataRole is invalid |
| 21 | + //But we can't be connected AND have none data_role, so it's safe. |
| 22 | + //It would be better to fix UsbManager when no HAL is available, but that's more work |
| 23 | + if(mDataRole == UsbPort.DATA_ROLE_NONE && |
| 24 | + intent.getExtras().getBoolean(UsbManager.USB_CONNECTED) && |
| 25 | + !intent.getExtras().getBoolean(UsbManager.USB_HOST_CONNECTED)) |
| 26 | + mDataRole = UsbPort.DATA_ROLE_DEVICE; |
| 27 | + |
| 28 | } |
| 29 | } else if (UsbManager.ACTION_USB_PORT_CHANGED.equals(intent.getAction())) { |
| 30 | UsbPortStatus portStatus = intent.getExtras() |
| 31 | -- |
Jackeagle | a3ae16b | 2018-12-04 11:30:49 -0500 | [diff] [blame^] | 32 | 2.17.1 |
Pierre-Hugues Husson | c88c010 | 2018-08-29 22:56:41 +0200 | [diff] [blame] | 33 | |