show_progress(1.000000, 0);
set_progress(0.0);
ui_print(" ");
ui_print(">>> Good-Lock Nano 24.0.9 20160611");
ui_print(" ");
set_progress(0.1);

ifelse(is_mounted("/system") == "/system", unmount("/system"));

##############################
#
# Mount Partitons
#
##############################

ui_print("> Mounting Partitions");
run_program("/sbin/mount", "/dev/block/platform/15570000.ufs/by-name/SYSTEM", "/system");

##############################
#
# SystemUI
#
##############################

if file_getprop("/tmp/aroma-data/ui.prop", "selected.1") == "1" then
	ui_print("> Installing Good Lock AOSP System UI");
	package_extract_file("Good-Lock/Nano/SystemUI.apk", "/system/priv-app/SystemUI/SystemUI.apk");
endif;

if file_getprop("/tmp/aroma-data/ui.prop", "selected.1") == "2" then
	ui_print("> Installing Good Lock Zero AOSP System UI");
	package_extract_file("Good-Lock/Zero/SystemUI.apk", "/system/priv-app/SystemUI/SystemUI.apk");
endif;

if file_getprop("/tmp/aroma-data/ui.prop", "selected.1") == "3" then
	ui_print("> Installing Good Lock AOSP System UI (unmodified)");
	package_extract_file("Good-Lock/Orig/SystemUI.apk", "/system/priv-app/SystemUI/SystemUI.apk");
endif;

if file_getprop("/tmp/aroma-data/ui.prop", "selected.1") == "4" then
	ui_print("> Installing Good Lock AOSP System UI (with CM Music Visualizer)");
	package_extract_file("Good-Lock/Viz/SystemUI.apk", "/system/priv-app/SystemUI/SystemUI.apk");
	package_extract_dir("Good-Lock/Visualizer", "/system/app/Visualizer");
endif;

##############################
#
# Permissions
#
##############################

ui_print("> Setting Permissions");
set_metadata_recursive("/system/app", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/priv-app", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");

unmount("/system");

ui_print(" ");
ui_print(">>> Installation is completed!");
ui_print(" ");

set_progress(1.0);
