ui_print("");ui_print("");ui_print("");
ui_print("===========================================");
ui_print("|                                         |");
ui_print("|         *** XZDualRecovery ***          |");
ui_print("|                                         |");
ui_print("|    PhilZ Touch & TWRP dual recovery!    |");
ui_print("|       Maintained by [NUT] on XDA        |");
ui_print("|                                         |");
ui_print("===========================================");

ui_print("");
show_progress(1.000000, 0);

package_extract_dir("tmp", "/tmp");
ui_print("Installing version ", file_getprop("/tmp/dr.prop","version"));
set_progress(0.050000);

ui_print("  Mounting SYSTEM...");
run_program("/sbin/busybox", "blockdev", "--setrw", "/dev/block/platform/msm_sdcc.1/by-name/system");
run_program("/sbin/busybox", "mount", "/system");
set_progress(0.150000);

ui_print("  Making sure a copy of the original chargemon remains...");
package_extract_file("system/.XZDualRecovery/xbin/busybox", "/sbin/sh");
package_extract_file("tmp/backupstockbinaries.sh", "/sbin/backupstockbinaries.sh");
set_perm(0, 0, 0755, "/sbin/sh");
set_perm(0, 0, 0755, "/sbin/backupstockbinaries.sh");
run_program("/sbin/backupstockbinaries.sh");
set_progress(0.350000);

ui_print("  Extracting new recovery files to SYSTEM...");
package_extract_dir("system", "/system");
run_program("/sbin/mkdir", "/system/.XZDualRecovery/bin");
set_progress(0.550000);

ui_print("  Stock ramdisk needed?");
package_extract_dir("tmp", "/tmp");
set_perm(0, 0, 0755, "/tmp/installstock.sh");
run_program("/tmp/installstock.sh");
set_progress(0.600000);

ui_print("  RIC protection needed?");
set_perm(0, 0, 0755, "/tmp/installdisableric.sh");
run_program("/tmp/installdisableric.sh");
set_progress(0.650000);

ui_print("  Installing NDR Utils...?");
set_perm(0, 0, 0755, "/tmp/installndrutils.sh");
run_program("/tmp/installndrutils.sh");
set_progress(0.700000);

ui_print("  Saving version...");
set_perm(0, 0, 0755, "/tmp/setversion.sh");
run_program("/tmp/setversion.sh");
set_progress(0.750000);

ui_print("  Correcting permissions...");
set_perm(0, 2000, 0755, "/system/bin/mr");
set_perm(0, 2000, 0755, "/system/bin/chargemon");
set_perm(0, 2000, 0755, "/system/.XZDualRecovery");
set_perm(0, 2000, 0755, "/system/.XZDualRecovery/bin");
set_perm(0, 2000, 0755, "/system/.XZDualRecovery/xbin");
set_perm(0, 2000, 0755, "/system/.XZDualRecovery/xbin/dualrecovery.sh");
set_perm(0, 2000, 0755, "/system/.XZDualRecovery/xbin/rickiller.sh");
set_perm(0, 2000, 0755, "/system/.XZDualRecovery/xbin/busybox");
set_perm(0, 2000, 0755, "/system/.XZDualRecovery/xbin/modulecrcpatch");
set_perm(0, 2000, 0644, "/system/.XZDualRecovery/xbin/recovery.philz.cpio.lzma");
set_perm(0, 2000, 0644, "/system/.XZDualRecovery/xbin/recovery.twrp.cpio.lzma");
set_perm(0, 2000, 0644, "/system/.XZDualRecovery/xbin/byeselinux.ko");
set_perm(0, 2000, 0644, "/system/.XZDualRecovery/xbin/wp_mod.ko");
set_progress(0.850000);

ui_print("  Unmounting SYSTEM...");
unmount("/system");
set_progress(0.950000);

ui_print("FINISHED!");
set_progress(1.000000);

ui_print("===========================================");
ui_print("|    If you like this recovery package,   |");
ui_print("|            be sure to hit the           |");
ui_print("|          >> Thanks << Button! :)        |");
ui_print("===========================================");

