am 8326ebbe: am 6b04e5b8: am 894ffd10: am 673ccfd4: Merge "UsbDeviceManager: add back support for USB overlays" into mnc-dev

* commit '8326ebbe9ea324cc7608e8dc754a63d905bfdb63':
  UsbDeviceManager: add back support for USB overlays
This commit is contained in:
Nick Kralevich
2015-07-21 18:07:11 +00:00
committed by Android Git Automerger

View File

@@ -122,6 +122,8 @@ public class UsbDeviceManager {
// Request is cancelled if host does not configure device within 10 seconds.
private static final int ACCESSORY_REQUEST_TIMEOUT = 10 * 1000;
private static final String BOOT_MODE_PROPERTY = "ro.bootmode";
private UsbHandler mHandler;
private boolean mBootCompleted;
@@ -468,6 +470,7 @@ public class UsbDeviceManager {
functions = getDefaultFunctions();
}
functions = applyAdbFunction(functions);
functions = applyOemOverrideFunction(functions);
functions = applyUserRestrictions(functions);
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) {
if (mDebuggingManager != null) {
mDebuggingManager.allowUsbDebugging(alwaysAllow, publicKey);