34 lines
1.7 KiB
Diff
34 lines
1.7 KiB
Diff
From d4aa24372567c45c626825aefc33e391f6e2ddf4 Mon Sep 17 00:00:00 2001
|
|
From: Pierre-Hugues Husson <phh@phh.me>
|
|
Date: Tue, 14 Aug 2018 21:48:19 +0200
|
|
Subject: [PATCH] Act as usb device when there is no hal, but we believe we are
|
|
a device
|
|
|
|
Change-Id: I036090738525fd8cc63534d52d02ab1852950a7d
|
|
---
|
|
.../usb/UsbConnectionBroadcastReceiver.java | 8 ++++++++
|
|
1 file changed, 8 insertions(+)
|
|
|
|
diff --git a/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java b/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java
|
|
index 1b525352d0..fdd183b53d 100644
|
|
--- a/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java
|
|
+++ b/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java
|
|
@@ -77,6 +77,14 @@ public class UsbConnectionBroadcastReceiver extends BroadcastReceiver implements
|
|
mFunctions = functions;
|
|
mDataRole = mUsbBackend.getDataRole();
|
|
mPowerRole = mUsbBackend.getPowerRole();
|
|
+ //If we have no USB HAL, mDataRole is invalid
|
|
+ //But we can't be connected AND have none data_role, so it's safe.
|
|
+ //It would be better to fix UsbManager when no HAL is available, but that's more work
|
|
+ if(mDataRole == UsbPort.DATA_ROLE_NONE &&
|
|
+ intent.getExtras().getBoolean(UsbManager.USB_CONNECTED) &&
|
|
+ !intent.getExtras().getBoolean(UsbManager.USB_HOST_CONNECTED))
|
|
+ mDataRole = UsbPort.DATA_ROLE_DEVICE;
|
|
+
|
|
}
|
|
} else if (UsbManager.ACTION_USB_PORT_CHANGED.equals(intent.getAction())) {
|
|
UsbPortStatus portStatus = intent.getExtras()
|
|
--
|
|
2.17.1
|
|
|