Make legacy props an option disabled by default

Change-Id: Id0bb17ebd11e120b4676c41d6553e6a830ac7ee9
diff --git a/data.cpp b/data.cpp
index 5d05d2b..5a90553 100644
--- a/data.cpp
+++ b/data.cpp
@@ -833,15 +833,20 @@
 #else
 	mConst.SetValue("tw_has_boot_slots", "0");
 #endif
-
+#ifdef TW_NO_LEGACY_PROPS
+	LOGINFO("TW_NO_LEGACY_PROPS := true\n");
+	mConst.SetValue("tw_enable_legacy_props", "0");
+#endif
 #ifdef TW_OEM_BUILD
 	LOGINFO("TW_OEM_BUILD := true\n");
 	mConst.SetValue("tw_oem_build", "1");
+	mConst.SetValue("tw_enable_legacy_props", "0");
 #else
 	mConst.SetValue("tw_oem_build", "0");
 	mPersist.SetValue("tw_app_prompt", "1");
 	mPersist.SetValue("tw_app_install_system", "1");
 	mData.SetValue("tw_app_install_status", "0"); // 0 = no status, 1 = not installed, 2 = already installed
+	mPersist.SetValue("tw_enable_legacy_props", "0");
 #endif
 
 	pthread_mutex_unlock(&m_valuesLock);
diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml
index c3d89fe..5e64010 100644
--- a/gui/theme/common/landscape.xml
+++ b/gui/theme/common/landscape.xml
@@ -447,6 +447,12 @@
 				<data variable="tw_install_reboot"/>
 			</checkbox>
 
+			<checkbox>
+				<placement x="%col1_x_right%" y="%row13a_y%"/>
+				<text>{@enable_legacy_props_chk=Enable legacy properties for old zips}</text>
+				<data variable="tw_enable_legacy_props"/>
+			</checkbox>
+
 			<button style="main_button_half_width">
 				<placement x="%col1_x_left%" y="%row15a_y%"/>
 				<text>{@zip_add_btn=Add more Zips}</text>
diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml
index 5c20831..435da36 100644
--- a/gui/theme/common/languages/en.xml
+++ b/gui/theme/common/languages/en.xml
@@ -82,6 +82,7 @@
 		<string name="folder">Folder:</string>
 		<string name="file">File:</string>
 		<string name="zip_sig_chk">Zip signature verification</string>
+		<string name="enable_legacy_props_chk">Enable legacy properties for old zips</string>
 		<string name="inject_twrp_chk">Inject TWRP after install</string>
 		<string name="install_reboot_chk">Reboot after installation is complete</string>
 		<string name="options_hdr">Options</string>
diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml
index f163bea..c101014 100644
--- a/gui/theme/common/portrait.xml
+++ b/gui/theme/common/portrait.xml
@@ -393,8 +393,14 @@
 			</checkbox>
 
 			<checkbox>
-				<condition var1="tw_has_injecttwrp" var2="1"/>
 				<placement x="%indent%" y="%row15_y%"/>
+				<text>{@enable_legacy_props_chk=Enable legacy properties for old zips}</text>
+				<data variable="tw_enable_legacy_props"/>
+			</checkbox>
+
+			<checkbox>
+				<condition var1="tw_has_injecttwrp" var2="1"/>
+				<placement x="%indent%" y="%row16a_y%"/>
 				<text>{@inject_twrp_chk=Inject TWRP after install}</text>
 				<data variable="tw_inject_after_zip"/>
 			</checkbox>
diff --git a/gui/theme/common/watch.xml b/gui/theme/common/watch.xml
index d5ef869..2a82345 100644
--- a/gui/theme/common/watch.xml
+++ b/gui/theme/common/watch.xml
@@ -555,6 +555,12 @@
 				<data variable="tw_install_reboot"/>
 			</checkbox>
 
+			<checkbox>
+				<placement x="%indent%" y="%row5a_y%"/>
+				<text>{@enable_legacy_props_chk=Enable legacy properties for old zips}</text>
+				<data variable="tw_enable_legacy_props"/>
+			</checkbox>
+
 			<button>
 				<placement x="%col1_x_left%" y="%row11_y%"/>
 				<highlight color="%highlight_color%"/>
diff --git a/twinstall.cpp b/twinstall.cpp
index 70eb7ef..b0b6f3d 100644
--- a/twinstall.cpp
+++ b/twinstall.cpp
@@ -60,7 +60,6 @@
 }
 
 #define AB_OTA "payload_properties.txt"
-//#define TW_NO_LEGACY_PROPS 1
 
 static const char* properties_path = "/dev/__properties__";
 static const char* properties_path_renamed = "/dev/__properties_kk__";
@@ -174,11 +173,13 @@
 	FILE* child_data;
 
 #ifndef TW_NO_LEGACY_PROPS
-	/* Set legacy properties */
-	if (switch_to_legacy_properties() != 0) {
-		LOGERR("Legacy property environment did not initialize successfully. Properties may not be detected.\n");
-	} else {
-		LOGINFO("Legacy property environment initialized.\n");
+	if (DataManager::GetIntValue("tw_enable_legacy_props") != 0) {
+		/* Set legacy properties */
+		if (switch_to_legacy_properties() != 0) {
+			LOGERR("Legacy property environment did not initialize successfully. Properties may not be detected.\n");
+		} else {
+			LOGINFO("Legacy property environment initialized.\n");
+		}
 	}
 #endif
 
@@ -259,12 +260,14 @@
 	int waitrc = TWFunc::Wait_For_Child(pid, &status, "Updater");
 
 #ifndef TW_NO_LEGACY_PROPS
-	/* Unset legacy properties */
-	if (legacy_props_path_modified) {
-		if (switch_to_new_properties() != 0) {
-			LOGERR("Legacy property environment did not disable successfully. Legacy properties may still be in use.\n");
-		} else {
-			LOGINFO("Legacy property environment disabled.\n");
+	if (DataManager::GetIntValue("tw_enable_legacy_props") != 0) {
+		/* Unset legacy properties */
+		if (legacy_props_path_modified) {
+			if (switch_to_new_properties() != 0) {
+				LOGERR("Legacy property environment did not disable successfully. Legacy properties may still be in use.\n");
+			} else {
+				LOGINFO("Legacy property environment disabled.\n");
+			}
 		}
 	}
 #endif