Fix starting adb in recovery mode
Change-Id: I8444f44d3194ff16ce54121633d5b255231393f5
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/etc/init.rc b/etc/init.rc
index a675a4b..e2b4236 100644
--- a/etc/init.rc
+++ b/etc/init.rc
@@ -31,8 +31,32 @@
service adbd /sbin/adbd recovery
disabled
-on property:persist.service.adb.enable=1
+on property:persist.sys.usb.config=*
+ setprop sys.usb.config $persist.sys.usb.config
+
+#one of the following property triggers will enable adb if it is enabled in regular operation
+
+on property:sys.usb.config=mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct Fec0
+ write /sys/class/android_usb/android0/functions $sys.usb.config
+ write /sys/class/android_usb/android0/enable 1
start adbd
-on property:persist.service.adb.enable=0
- stop adbd
+on property:sys.usb.config=mtp,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct Fec0
+ write /sys/class/android_usb/android0/functions $sys.usb.config
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+
+on property:sys.usb.config=ptp,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct Fec0
+ write /sys/class/android_usb/android0/functions $sys.usb.config
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+