diff options
-rw-r--r-- | etc/init.rc | 10 | ||||
-rw-r--r-- | partitionmanager.cpp | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/etc/init.rc b/etc/init.rc index aeec483a3..8cff20ec6 100644 --- a/etc/init.rc +++ b/etc/init.rc @@ -41,6 +41,16 @@ on boot on property:sys.powerctl=* powerctl ${sys.powerctl} +on property:sys.storage.ums_enabled=1 + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/functions adb,mass_storage + 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 adb + write /sys/class/android_usb/android0/enable ${service.adb.root} + service ueventd /sbin/ueventd critical diff --git a/partitionmanager.cpp b/partitionmanager.cpp index dbdbd0e11..a58900c6e 100644 --- a/partitionmanager.cpp +++ b/partitionmanager.cpp @@ -1519,6 +1519,7 @@ int TWPartitionManager::Open_Lun_File(string Partition_Path, string Lun_File) { LOGERR("Unable to write to ums lunfile '%s': (%s)\n", Lun_File.c_str(), strerror(errno)); return false; } + property_set("sys.storage.ums_enabled", "1"); return true; } @@ -1579,6 +1580,7 @@ int TWPartitionManager::usb_storage_disable(void) { Mount_All_Storage(); Update_System_Details(); UnMount_Main_Partitions(); + property_set("sys.storage.ums_enabled", "0"); if (ret < 0 && index == 0) { LOGERR("Unable to write to ums lunfile '%s'.", lun_file); return false; |