Add OEM specific USB mode enumeration based on ro.bootmode property

Added overlay setting to specify USB mode to override depending
on bootmode system property.

Bug:5964042

Change-Id: I018688ae17dce15fe5e8c743cf6a7dee84d61b89
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index 66a3273..08d11ee 100644
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -239,4 +239,20 @@
          causing scroll startup to jump. -->
     <dimen name="config_viewConfigurationTouchSlop">12dp</dimen>
 
+    <!-- Array of OEM specific USB mode override config.
+         OEM can override a certain USB mode depending on ro.bootmode.
+         Specify an array of below items to set override rule.
+         [bootmode]:[original USB mode]:[USB mode used]-->
+    <string-array translatable="false" name="config_oemUsbModeOverride">
+        <item>"bp-tools:mtp:acm,usbnet"</item>
+        <item>"bp-tools:mtp,adb:acm,usbnet,adb"</item>
+        <item>"bp-tools:ptp:acm,usbnet"</item>
+        <item>"bp-tools:ptp,adb:acm,usbnet,adb"</item>
+        <item>"bp-tools:rndis:rndis,acm,usbnet"</item>
+        <item>"bp-tools:rndis,adb:rndis,acm,usbnet,adb"</item>
+        <item>"factorycable:mtp:usbnet"</item>
+        <item>"factorycable:mtp,adb:usbnet,adb"</item>
+        <item>"factorycable:ptp:usbnet"</item>
+        <item>"factorycable:ptp,adb:usbnet,adb"</item>
+    </string-array>
 </resources>