Merge "UsbDeviceManager: add back support for USB overlays" into mnc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
673ccfd45a
@@ -122,6 +122,8 @@ public class UsbDeviceManager {
|
|||||||
// Request is cancelled if host does not configure device within 10 seconds.
|
// Request is cancelled if host does not configure device within 10 seconds.
|
||||||
private static final int ACCESSORY_REQUEST_TIMEOUT = 10 * 1000;
|
private static final int ACCESSORY_REQUEST_TIMEOUT = 10 * 1000;
|
||||||
|
|
||||||
|
private static final String BOOT_MODE_PROPERTY = "ro.bootmode";
|
||||||
|
|
||||||
private UsbHandler mHandler;
|
private UsbHandler mHandler;
|
||||||
private boolean mBootCompleted;
|
private boolean mBootCompleted;
|
||||||
|
|
||||||
@@ -468,6 +470,7 @@ public class UsbDeviceManager {
|
|||||||
functions = getDefaultFunctions();
|
functions = getDefaultFunctions();
|
||||||
}
|
}
|
||||||
functions = applyAdbFunction(functions);
|
functions = applyAdbFunction(functions);
|
||||||
|
functions = applyOemOverrideFunction(functions);
|
||||||
functions = applyUserRestrictions(functions);
|
functions = applyUserRestrictions(functions);
|
||||||
|
|
||||||
if (!mCurrentFunctions.equals(functions) || !mCurrentFunctionsApplied
|
if (!mCurrentFunctions.equals(functions) || !mCurrentFunctionsApplied
|
||||||
@@ -888,6 +891,24 @@ public class UsbDeviceManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String applyOemOverrideFunction(String usbFunctions) {
|
||||||
|
if ((usbFunctions == null) || (mOemModeMap == null)) return usbFunctions;
|
||||||
|
|
||||||
|
String bootMode = SystemProperties.get(BOOT_MODE_PROPERTY, "unknown");
|
||||||
|
|
||||||
|
List<Pair<String, String>> overrides = mOemModeMap.get(bootMode);
|
||||||
|
if (overrides != null) {
|
||||||
|
for (Pair<String, String> pair: overrides) {
|
||||||
|
if (pair.first.equals(usbFunctions)) {
|
||||||
|
Slog.d(TAG, "OEM USB override: " + pair.first + " ==> " + pair.second);
|
||||||
|
return pair.second;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// return passed in functions as is.
|
||||||
|
return usbFunctions;
|
||||||
|
}
|
||||||
|
|
||||||
public void allowUsbDebugging(boolean alwaysAllow, String publicKey) {
|
public void allowUsbDebugging(boolean alwaysAllow, String publicKey) {
|
||||||
if (mDebuggingManager != null) {
|
if (mDebuggingManager != null) {
|
||||||
mDebuggingManager.allowUsbDebugging(alwaysAllow, publicKey);
|
mDebuggingManager.allowUsbDebugging(alwaysAllow, publicKey);
|
||||||
|
|||||||
Reference in New Issue
Block a user