Merge "Force GUI render after setting brightness" into android-4.4
diff --git a/etc/init.rc b/etc/init.rc
index aeec483..8cff20e 100644
--- a/etc/init.rc
+++ b/etc/init.rc
@@ -41,6 +41,16 @@
 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 da11e8d..a58900c 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -1470,9 +1470,8 @@
 			if (dat->Mount(false) && TWFunc::Path_Exists("/data/media/0")) {
 				dat->Storage_Path = "/data/media/0";
 				dat->Symlink_Path = dat->Storage_Path;
-				DataManager::SetValue(TW_INTERNAL_PATH, "/data/media/0");
+				DataManager::SetValue("tw_storage_path", "/data/media/0");
 				dat->UnMount(false);
-				DataManager::SetBackupFolder();
 				Output_Partition(dat);
 			}
 #endif
@@ -1520,6 +1519,7 @@
 		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;
 }
 
@@ -1580,6 +1580,7 @@
 	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;