Properly set sys.usb.config when ums is enabled.

Use sys.usb.config also for ums, but leave sys.storage.ums.enabled for compatibility with custom init.rc that use it.

PS2: Rebased - moved updates to init.recovery.usb.rc

Change-Id: Iad3441d23ac37612e58f63e4038d05c5c1a37b25
diff --git a/etc/init.recovery.usb.rc b/etc/init.recovery.usb.rc
index b4a852a..8019736 100644
--- a/etc/init.recovery.usb.rc
+++ b/etc/init.recovery.usb.rc
@@ -8,31 +8,23 @@
     write /sys/class/android_usb/android0/iProduct ${ro.product.model}
     write /sys/class/android_usb/android0/iSerial ${ro.serialno}
 
-on property:sys.storage.ums_enabled=1
-    write /sys/class/android_usb/android0/enable 0
-    write /sys/class/android_usb/android0/functions mass_storage,adb
-    write /sys/class/android_usb/android0/enable 1
-
-on property:sys.storage.ums_enabled=0
-    write /sys/class/android_usb/android0/enable 0
-    write /sys/class/android_usb/android0/functions ${sys.usb.config}
-    write /sys/class/android_usb/android0/enable ${service.adb.root}
-
 on property:sys.usb.config=none
-    stop adbd
     write /sys/class/android_usb/android0/enable 0
     write /sys/class/android_usb/android0/bDeviceClass 0
 
-on property:sys.usb.config=mtp,adb
-    stop adbd
+on property:sys.usb.config=mass_storage,adb
     write /sys/class/android_usb/android0/enable 0
-    write /sys/class/android_usb/android0/functions mtp,adb
+    write /sys/class/android_usb/android0/functions ${sys.usb.config}
+    write /sys/class/android_usb/android0/enable 1
+
+on property:sys.usb.config=mtp,adb
+    write /sys/class/android_usb/android0/enable 0
+    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=adb
-    stop adbd
     write /sys/class/android_usb/android0/enable 0
-    write /sys/class/android_usb/android0/functions adb
+    write /sys/class/android_usb/android0/functions ${sys.usb.config}
     write /sys/class/android_usb/android0/enable ${service.adb.root}
     start adbd
diff --git a/partitionmanager.cpp b/partitionmanager.cpp
index f254439..ad17fe4 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -1613,6 +1613,7 @@
 		}
 	}
 	property_set("sys.storage.ums_enabled", "1");
+	property_set("sys.usb.config", "mass_storage,adb");
 	return true;
 error_handle:
 	if (mtp_was_enabled)
@@ -1637,6 +1638,7 @@
 	Update_System_Details();
 	UnMount_Main_Partitions();
 	property_set("sys.storage.ums_enabled", "0");
+	property_set("sys.usb.config", "adb");
 	if (mtp_was_enabled)
 		if (!Enable_MTP())
 			Disable_MTP();