##
#
# AROMA Installer - Installer Script
#       (c) 2011 by Ahmad Amarullah
#           amarullz - xda-developers
#
##

##								##
#           __     __            #
#          |  |   |  |           #
#          |  |___|  |           #
#          |         |           #
#          |   ___   |           #
#          |  |   |  |           #
#          |__|   |__|           #
#           _________            #
#          |         |           #
#          |___   ___|           #
#             |   |              #
#             |   |              #
#             |   |              #
#             |___|              #
#           __     __            #
#          \  \   /  /           #
#           \  \ /  /            #
#            \     /             #
#            /     \             #
#           /  / \  \            #
#          /__/   \__\           #
#								 #
##								##


##
#
# OLD UPDATER-BINARY
#
# Here you can use old command for flashing files, like:
#  mount
#  umount
#  delete_recursive
#  format
#  package_extract_dir
#  set_perm_recursive
#

## CHECKING Configuration from aroma-config
#
# Check it using if else statement, with file_getprop
# in /tmp/aroma
#
# Example:
# if
#      file_getprop("/tmp/aroma/customize.prop","item.6.3") == "1"
# then
#   ... here the command ...
# endif;
#

## INFO COMMAND FOR AROMA
#
#-- DIFFERENT BEHAVIOUR
#
# set_progress(0.5);
#    Set Progress position: 0.0 = 0%; 0.5 = 50%; 1.0 = 100%
#    
# show_progress(0.2, 400);
#    show_progress( progress size, number of files to be extracted );
#    if we had 50 files, and want to "add" 0.2 into progress after all finished
#    use (0.2, 50)
#
# show_progress(0.2, "-2000");
#    show_progress( progress size, wait for 2000ms );
#    For show progress with time as progress indicator, use negative value. After 2second progress will add 0.2/20% into the value
#    use (0.2, "-2000"). Note, use quote for value "-2000"
#
# ui_print("@ Title");
#    Set progress title
#
# ui_print("Default Text");
#    Set Normal Log Text
#
##
################################
#  数据清理
################################
set_progress(0.01);
ui_print("@Format System");
ui_print("@清理分区");
format("MTD", "system");
mount("MTD", "system", "/system");
ui_print("  Complete");
ui_print("  完成");

################################
#  安装数据
################################

# 解压data
#
set_progress(0.08);
show_progress(0.02,3);
ui_print("@Copy Data");
ui_print("@安装用户分区");
package_extract_file("check_data_app", "/tmp/check_data_app");
set_perm(0, 0, 0777, "/tmp/check_data_app");
run_program("/tmp/check_data_app");
mount("MTD", "userdata", "/data");
package_extract_dir("data", "/data");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");
ui_print("  Complete");
ui_print("  完成");

#
# 字体文件
set_progress(0.1);
show_progress(0.1,127);
ui_print("@Move Fonts to Cache");
ui_print("@安装字体到Cache分区");
ui_print("DO NOT WIPE CACHE ANYTIME!");
ui_print("请在任何时候都不要WIPE CACHE!");
mount("MTD", "cache", "/cache");
package_extract_dir("cache", "/cache");
symlink("/cache/fonts", "/system/fonts");
ui_print("  Complete");
ui_print("  完成");

# 解压system
#
ui_print("@Copy System");
ui_print("@安装系统分区");
set_progress(0.2);
show_progress(0.2,953);
package_extract_dir("system", "/system");
ui_print("  Complete");
ui_print("  完成");

# 安装各自的设备文件
#
set_progress(0.2);
show_progress(0.2,953);
if
    getprop("ro.baseband") == "6.35.07.29" || getprop("ro.baseband") == "6.35.10.18" || getprop("ro.baseband") == "6.35.16.19";
then
    ui_print("@Installing Magic files");
	ui_print("@安装Magic的文件");
    package_extract_dir("devices/sapphire/system", "/system");
else
    ui_print("@Installing Hero files");
	ui_print("@安装Hero的文件");
    package_extract_dir("devices/hero/system", "/system");
endif;
ui_print("  Complete");
ui_print("  完成");


################################
#  安装自定义程序
################################
ui_print("@Installing Custom");
ui_print("@安装自定义程序");
run_program("/sbin/mkdir","/data/app");
set_progress(0.5);
show_progress(0.3,72);

############################1.0
    # app_appsharing
    if
      file_getprop("/tmp/aroma-data/customize.prop","item.1.1") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   app_appsharing");
	    package_extract_file("customize/app/AppSharing.apk", "/system/app/AppSharing.apk");
    endif;
	
	# app_Gmail
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.1.2") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   app_gmail");
	    package_extract_file("customize/app/Gmail.apk", "/system/app/Gmail.apk");
    endif;
    
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.1.3") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   app_gtalk");
	    package_extract_file("customize/app/Talk.apk", "/system/app/Talk.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.1.4") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   app_googlesearch");
	    package_extract_file("customize/app/GoogleQuickSearchBox.apk", "/system/app/GoogleQuickSearchBox.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.1.5") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   app_voicesearch");
	    package_extract_file("customize/app/VoiceSearch.apk", "/system/app/VoiceSearch.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.1.6") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   app_youtube");
	    package_extract_file("customize/app/Youtube.apk", "/system/app/Youtube.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.1.7") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   app_TTS");
	    package_extract_file("customize/app/PicoTts.apk", "/system/app/PicoTts.apk");
		package_extract_file("customize/app/TtsService.apk", "/system/app/TtsService.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.1.8") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   app_Dreye");
	    package_extract_file("customize/app/DreyeCHSSep.apk", "/system/app/DreyeCHSSep.apk");
    endif;

############################2.0

	if
      file_getprop("/tmp/aroma-data/customize.prop","item.2.1") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   tools_KeyboadLight");
	    package_extract_file("customize/app/KeyboadLight.apk", "/system/app/KeyboadLight.apk");
    endif;
	
############################3.0

	if
      file_getprop("/tmp/aroma-data/customize.prop","item.3.1") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   htc_Friendstream");
	    package_extract_file("customize/app/FriendStream.apk", "/system/app/FriendStream.apk");
		package_extract_file("customize/app/com.htc.FriendStreamWidget.apk", "/system/app/com.htc.FriendStreamWidget.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.3.2") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   htc_Hub&Likes");
	    package_extract_file("customize/app/HtcDirect.apk", "/system/app/HtcDirect.apk");
		package_extract_file("customize/app/HtcDirectDownloadsProvider.apk", "/system/app/HtcDirectDownloadsProvider.apk");
		package_extract_file("customize/app/HtcRecommends.apk", "/system/app/HtcRecommends.apk");
		package_extract_file("customize/app/HtcRecommendsWidget.apk", "/system/app/HtcRecommendsWidget.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.3.3") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   htc_Market");
	    package_extract_file("customize/app/Vending.apk", "/system/app/Vending.apk");
		package_extract_file("customize/app/MarketUpdater.apk", "/system/app/MarketUpdater.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.3.4") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   htc_FaceBook");
	    package_extract_file("customize/app/HtcFacebook.apk", "/system/app/HtcFacebook.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.3.5") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   htc_renren");
	    package_extract_file("customize/app/renren/HTC_Widget_RenrenChat.apk", "/data/app/HTC_Widget_RenrenChat.apk");
		package_extract_file("customize/app/renren/HtcRenrenWidget.apk", "/data/app/HtcRenrenWidget.apk");
		package_extract_file("customize/app/renren/renren.apk", "/data/app/renren.apk");
		package_extract_file("customize/app/renren/Renren_FSPlugin.apk", "/data/app/Renren_FSPlugin.apk");
		package_extract_file("customize/app/renren/Renren_GLRplugin.apk", "/data/app/Renren_GLRplugin.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.3.6") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   htc_weibo");
	    package_extract_file("customize/app/weibo/HTCSinaWeiboWidget.apk", "/data/app/HTCSinaWeiboWidget.apk");
		package_extract_file("customize/app/weibo/Sina_Weibo_FSPlugin.apk", "/data/app/Sina_Weibo_FSPlugin.apk");
		package_extract_file("customize/app/weibo/Sina_Weibo_GLRplugin.apk", "/data/app/Sina_Weibo_GLRplugin.apk");
		package_extract_file("customize/app/weibo/weibo2.5.0.15_1101.apk", "/data/app/weibo2.5.0.15_1101.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.3.7") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   htc_QuickLookup");
	    package_extract_file("customize/app/QuickLookup.apk", "/system/app/QuickLookup.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.3.8") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   htc_Transfer");
	    package_extract_file("customize/app/Transfer-pico-8.35.0.14-S35.apk", "/system/app/Transfer-pico-8.35.0.14-S35.apk");
    endif;
	
############################4.0

	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.1") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   Browser");
	    package_extract_file("customize/system/Browser.apk", "/system/app/Browser.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.2") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   Calculator");
	    package_extract_file("customize/system/Calculator.apk", "/system/app/Calculator.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.3") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   Calendar");
	    package_extract_file("customize/system/Calendar.apk", "/system/app/Calendar.apk");
		package_extract_file("customize/system/CalendarProvider.apk", "/system/app/CalendarProvider.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.4") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   MyHTC");
	    package_extract_file("customize/system/CSPeopleSyncService.apk", "/system/app/CSPeopleSyncService.apk");
		package_extract_file("customize/system/CustomizationSettingsProvider.apk", "/system/app/CustomizationSettingsProvider.apk");
		package_extract_file("customize/system/DCSUtility.apk", "/system/app/DCSUtility.apk");
		package_extract_file("customize/system/MediaUploader.apk", "/system/app/MediaUploader.apk");
		package_extract_file("customize/system/MyHTC.apk", "/system/app/MyHTC.apk");
		package_extract_file("customize/system/MyReportAgent.apk", "/system/app/MyReportAgent.apk");
		package_extract_file("customize/system/CustomizationSetup.apk", "/system/app/CustomizationSetup.apk");
		package_extract_file("customize/system/HtcMessageCS.apk", "/system/app/HtcMessageCS.apk");
		package_extract_file("customize/system/HtcMessageUploader.apk", "/system/app/HtcMessageUploader.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.5") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   Download");
	    package_extract_file("customize/system/DownloadProvider.apk", "/system/app/DownloadProvider.apk");
		package_extract_file("customize/system/DownloadProviderUi.apk", "/system/app/DownloadProviderUi.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.6") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   GoogleCalendarSyncAdapter");
	    package_extract_file("customize/system/GoogleCalendarSyncAdapter.apk", "/system/app/GoogleCalendarSyncAdapter.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.7") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   GoogleContactsSyncAdapter");
	    package_extract_file("customize/system/GoogleContactsSyncAdapter.apk", "/system/app/GoogleContactsSyncAdapter.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.8") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   GooglePartnerSetup");
	    package_extract_file("customize/system/GooglePartnerSetup.apk", "/system/app/GooglePartnerSetup.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.9") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   GoogleServicesFramework");
	    package_extract_file("customize/system/GoogleServicesFramework.apk", "/system/app/GoogleServicesFramework.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.10") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   hFileManager");
	    package_extract_file("customize/system/hFileManager.apk", "/system/app/hFileManager.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.11") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HTC_IME");
	    package_extract_file("customize/system/HTC_IME.apk", "/system/app/HTC_IME.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.12") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HTCAlbum");
	    package_extract_file("customize/system/HTCAlbum.apk", "/system/app/HTCAlbum.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.13") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HtcWeatherWallpaper");
	    package_extract_file("customize/system/HtcWeatherWallpaper.apk", "/system/app/HtcWeatherWallpaper.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.14") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HTCCamera");
	    package_extract_file("customize/system/HTCCamera.apk", "/system/app/HTCCamera.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.15") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HtcCompressViewer");
	    package_extract_file("customize/system/HtcCompressViewer.apk", "/system/app/HtcCompressViewer.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.16") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HtcContacts");
	    package_extract_file("customize/system/HtcContacts.apk", "/system/app/HtcContacts.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.17") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HtcDialer");
	    package_extract_file("customize/system/HtcDialer.apk", "/system/app/HtcDialer.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.18") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HtcMusic");
	    package_extract_file("customize/system/HtcMusic.apk", "/system/app/HtcMusic.apk");
		package_extract_file("customize/system/HtcMusicMarkedItems.apk", "/system/app/HtcMusicMarkedItems.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.19") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HtcSoundRecorder");
	    package_extract_file("customize/system/HtcSoundRecorder.apk", "/system/app/HtcSoundRecorder.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.20") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HtcStreamPlayer");
	    package_extract_file("customize/system/HtcStreamPlayer.apk", "/system/app/HtcStreamPlayer.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.21") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HtcVideoPlayer");
	    package_extract_file("customize/system/HtcVideoPlayer.apk", "/system/app/HtcVideoPlayer.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.22") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HTMLViewer");
	    package_extract_file("customize/system/HTMLViewer.apk", "/system/app/HTMLViewer.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.23") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   Mail");
	    package_extract_file("customize/system/Mail.apk", "/system/app/Mail.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.24") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   Mms");
	    package_extract_file("customize/system/Mms.apk", "/system/app/Mms.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.25") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   ScreenFlashlight");
	    package_extract_file("customize/system/ScreenFlashlight.apk", "/system/app/ScreenFlashlight.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.26") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   SpareParts");
	    package_extract_file("customize/system/SpareParts.apk", "/system/app/SpareParts.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.27") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   Stk");
	    package_extract_file("customize/system/Stk.apk", "/system/app/Stk.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.28") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   Street");
	    package_extract_file("customize/system/Street.apk", "/system/app/Street.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.29") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   TaskManager");
	    package_extract_file("customize/system/TaskManager.apk", "/system/app/TaskManager.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.30") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   Weather");
	    package_extract_file("customize/system/Weather.apk", "/system/app/Weather.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.31") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   UsageMonitor");
	    package_extract_file("customize/system/UsageMonitor.apk", "/system/app/UsageMonitor.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.4.32") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   WorldClock");
	    package_extract_file("customize/system/WorldClock.apk", "/system/app/WorldClock.apk");
    endif;

	
############################5.0

	if
      file_getprop("/tmp/aroma-data/customize.prop","item.5.1") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   MusicWidget");
	    package_extract_file("customize/widget/com.htc.MusicWidget.apk", "/system/app/com.htc.MusicWidget.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.5.2") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   htccalendarwidgets");
	    package_extract_file("customize/widget/htccalendarwidgets.apk", "/system/app/htccalendarwidgets.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.5.3") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HtcClockWidget");
	    package_extract_file("customize/widget/HtcClockWidget.apk", "/system/app/HtcClockWidget.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.5.4") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HtcContactWidgets");
	    package_extract_file("customize/widget/HtcContactWidgets.apk", "/system/app/HtcContactWidgets.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.5.5") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   htcmsgwidgets");
	    package_extract_file("customize/widget/htcmsgwidgets.apk", "/system/app/htcmsgwidgets.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.5.6") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   HtcQuickLaunchWidget");
	    package_extract_file("customize/widget/HtcQuickLaunchWidget.apk", "/system/app/HtcQuickLaunchWidget.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.5.7") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   htcsettingwidgets");
	    package_extract_file("customize/widget/htcsettingwidgets.apk", "/system/app/htcsettingwidgets.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.5.8") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   WeatherWidget");
	    package_extract_file("customize/widget/WeatherWidget.apk", "/system/app/WeatherWidget.apk");
    endif;
	
############################6.0

	if
      file_getprop("/tmp/aroma-data/customize.prop","item.5.1") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   Original Clockwight");
	    package_extract_file("customize/app/HtcClockWidget_org.apk", "/system/app/HtcClockWidget.apk");
    endif;
	
	if
      file_getprop("/tmp/aroma-data/customize.prop","item.5.2") == "1"
    then
		ui_print("  Installing: ");
		ui_print("  安装程序:   Chinese CallerLocation");
	    package_extract_file("customize/app/CallerLocation.apk", "/system/app/CallerLocation.apk");
    endif;
	
ui_print("  Complete");
ui_print("  完成");
################################
#  TOOLBOX & BUSYBOX
################################
set_progress(0.80);

ui_print("@Configuring Toolbox & Busybox");
ui_print("@配置 Toolbox & Busybox");
ui_print("  Symlinking Busybox");
symlink("busybox", "/system/xbin/[");
symlink("busybox", "/system/xbin/[[");
symlink("busybox", "/system/xbin/arp");
symlink("busybox", "/system/xbin/ash");
symlink("busybox", "/system/xbin/awk");
symlink("busybox", "/system/xbin/basename");
symlink("busybox", "/system/xbin/bbconfig");
symlink("busybox", "/system/xbin/brctl");
symlink("busybox", "/system/xbin/bunzip2");
symlink("busybox", "/system/xbin/bzcat");
symlink("busybox", "/system/xbin/bzip2");
symlink("busybox", "/system/xbin/cal");
symlink("busybox", "/system/xbin/cat");
symlink("busybox", "/system/xbin/catv");
symlink("busybox", "/system/xbin/chgrp");
symlink("busybox", "/system/xbin/chmod");
symlink("busybox", "/system/xbin/chown");
symlink("busybox", "/system/xbin/chroot");
symlink("busybox", "/system/xbin/cksum");
symlink("busybox", "/system/xbin/clear");
symlink("busybox", "/system/xbin/cmp");
symlink("busybox", "/system/xbin/cp");
symlink("busybox", "/system/xbin/cpio");
symlink("busybox", "/system/xbin/cut");
symlink("busybox", "/system/xbin/date");
symlink("busybox", "/system/xbin/dc");
symlink("busybox", "/system/xbin/dd");
symlink("busybox", "/system/xbin/depmod");
symlink("busybox", "/system/xbin/devmem");
symlink("busybox", "/system/xbin/df");
symlink("busybox", "/system/xbin/diff");
symlink("busybox", "/system/xbin/dirname");
symlink("busybox", "/system/xbin/dmesg");
symlink("busybox", "/system/xbin/dnsd");
symlink("busybox", "/system/xbin/dos2unix");
symlink("busybox", "/system/xbin/du");
symlink("busybox", "/system/xbin/echo");
symlink("busybox", "/system/xbin/ed");
symlink("busybox", "/system/xbin/egrep");
symlink("busybox", "/system/xbin/env");
symlink("busybox", "/system/xbin/expr");
symlink("busybox", "/system/xbin/false");
symlink("busybox", "/system/xbin/fdisk");
symlink("busybox", "/system/xbin/fgrep");
symlink("busybox", "/system/xbin/find");
symlink("busybox", "/system/xbin/fold");
symlink("busybox", "/system/xbin/free");
symlink("busybox", "/system/xbin/freeramdisk");
symlink("busybox", "/system/xbin/fuser");
symlink("busybox", "/system/xbin/getopt");
symlink("busybox", "/system/xbin/grep");
symlink("busybox", "/system/xbin/gunzip");
symlink("busybox", "/system/xbin/gzip");
symlink("busybox", "/system/xbin/head");
symlink("busybox", "/system/xbin/hexdump");
symlink("busybox", "/system/xbin/id");
symlink("busybox", "/system/xbin/ifconfig");
symlink("busybox", "/system/xbin/insmod");
symlink("busybox", "/system/xbin/install");
symlink("busybox", "/system/xbin/ip");
symlink("busybox", "/system/xbin/kill");
symlink("busybox", "/system/xbin/killall");
symlink("busybox", "/system/xbin/killall5");
symlink("busybox", "/system/xbin/length");
symlink("busybox", "/system/xbin/less");
symlink("busybox", "/system/xbin/ln");
symlink("busybox", "/system/xbin/losetup");
symlink("busybox", "/system/xbin/ls");
symlink("busybox", "/system/xbin/lsmod");
symlink("busybox", "/system/xbin/lspci");
symlink("busybox", "/system/xbin/lsusb");
symlink("busybox", "/system/xbin/lzop");
symlink("busybox", "/system/xbin/lzopcat");
symlink("busybox", "/system/xbin/md5sum");
symlink("busybox", "/system/xbin/mkdir");
symlink("busybox", "/system/xbin/mke2fs");
symlink("busybox", "/system/xbin/mkfifo");
symlink("busybox", "/system/xbin/mkfs.ext2");
symlink("busybox", "/system/xbin/mknod");
symlink("busybox", "/system/xbin/mkswap");
symlink("busybox", "/system/xbin/mktemp");
symlink("busybox", "/system/xbin/modprobe");
symlink("busybox", "/system/xbin/more");
symlink("busybox", "/system/xbin/mount");
symlink("busybox", "/system/xbin/mountpoint");
symlink("busybox", "/system/xbin/mv");
symlink("busybox", "/system/xbin/netstat");
symlink("busybox", "/system/xbin/nice");
symlink("busybox", "/system/xbin/nohup");
symlink("busybox", "/system/xbin/nslookup");
symlink("busybox", "/system/xbin/ntpd");
symlink("busybox", "/system/xbin/od");
symlink("busybox", "/system/xbin/patch");
symlink("busybox", "/system/xbin/pgrep");
symlink("busybox", "/system/xbin/pidof");
symlink("busybox", "/system/xbin/ping");
symlink("busybox", "/system/xbin/pkill");
symlink("busybox", "/system/xbin/printenv");
symlink("busybox", "/system/xbin/printf");
symlink("busybox", "/system/xbin/ps");
symlink("busybox", "/system/xbin/pwd");
symlink("busybox", "/system/xbin/rdev");
symlink("busybox", "/system/xbin/readlink");
symlink("busybox", "/system/xbin/realpath");
symlink("busybox", "/system/xbin/renice");
symlink("busybox", "/system/xbin/reset");
symlink("busybox", "/system/xbin/rm");
symlink("busybox", "/system/xbin/rmdir");
symlink("busybox", "/system/xbin/rmmod");
symlink("busybox", "/system/xbin/route");
symlink("busybox", "/system/xbin/run-parts");
symlink("busybox", "/system/xbin/sed");
symlink("busybox", "/system/xbin/seq");
symlink("busybox", "/system/xbin/setsid");
symlink("busybox", "/system/xbin/sh");
symlink("busybox", "/system/xbin/sha1sum");
symlink("busybox", "/system/xbin/sha256sum");
symlink("busybox", "/system/xbin/sha512sum");
symlink("busybox", "/system/xbin/sleep");
symlink("busybox", "/system/xbin/sort");
symlink("busybox", "/system/xbin/split");
symlink("busybox", "/system/xbin/stat");
symlink("busybox", "/system/xbin/strings");
symlink("busybox", "/system/xbin/stty");
symlink("busybox", "/system/xbin/swapoff");
symlink("busybox", "/system/xbin/swapon");
symlink("busybox", "/system/xbin/sync");
symlink("busybox", "/system/xbin/sysctl");
symlink("busybox", "/system/xbin/tac");
symlink("busybox", "/system/xbin/tail");
symlink("busybox", "/system/xbin/tar");
symlink("busybox", "/system/xbin/tee");
symlink("busybox", "/system/xbin/telnet");
symlink("busybox", "/system/xbin/test");
symlink("busybox", "/system/xbin/tftp");
symlink("busybox", "/system/xbin/time");
symlink("busybox", "/system/xbin/top");
symlink("busybox", "/system/xbin/touch");
symlink("busybox", "/system/xbin/tr");
symlink("busybox", "/system/xbin/traceroute");
symlink("busybox", "/system/xbin/true");
symlink("busybox", "/system/xbin/tty");
symlink("busybox", "/system/xbin/tune2fs");
symlink("busybox", "/system/xbin/umount");
symlink("busybox", "/system/xbin/uname");
symlink("busybox", "/system/xbin/uniq");
symlink("busybox", "/system/xbin/unix2dos");
symlink("busybox", "/system/xbin/unlzop");
symlink("busybox", "/system/xbin/unzip");
symlink("busybox", "/system/xbin/uptime");
symlink("busybox", "/system/xbin/usleep");
symlink("busybox", "/system/xbin/uudecode");
symlink("busybox", "/system/xbin/uuencode");
symlink("busybox", "/system/xbin/vi");
symlink("busybox", "/system/xbin/watch");
symlink("busybox", "/system/xbin/wc");
symlink("busybox", "/system/xbin/wget");
symlink("busybox", "/system/xbin/which");
symlink("busybox", "/system/xbin/whoami");
symlink("busybox", "/system/xbin/xargs");
symlink("busybox", "/system/xbin/yes");
symlink("busybox", "/system/xbin/zcat");
ui_print("  Symlinking Toolbox");
set_progress(0.81);
symlink("toolbox", "/system/bin/cat");
symlink("toolbox", "/system/bin/chmod");
symlink("toolbox", "/system/bin/chown");
symlink("toolbox", "/system/bin/chownto");
symlink("toolbox", "/system/bin/cmp");
symlink("toolbox", "/system/bin/date");
symlink("toolbox", "/system/bin/dd");
symlink("toolbox", "/system/bin/df");
symlink("toolbox", "/system/bin/dmesg");
symlink("toolbox", "/system/bin/getevent");
symlink("toolbox", "/system/bin/getprop");
symlink("toolbox", "/system/bin/hd");
symlink("toolbox", "/system/bin/id");
symlink("toolbox", "/system/bin/ifconfig");
symlink("toolbox", "/system/bin/iftop");
symlink("toolbox", "/system/bin/insmod");
symlink("toolbox", "/system/bin/ioctl");
symlink("toolbox", "/system/bin/ionice");
symlink("toolbox", "/system/bin/kill");
symlink("toolbox", "/system/bin/ln");
symlink("toolbox", "/system/bin/log");
symlink("toolbox", "/system/bin/ls");
symlink("toolbox", "/system/bin/lsmod");
symlink("toolbox", "/system/bin/lsof");
symlink("toolbox", "/system/bin/mkdir");
symlink("toolbox", "/system/bin/mount");
symlink("toolbox", "/system/bin/mv");
symlink("toolbox", "/system/bin/nandread");
symlink("toolbox", "/system/bin/netstat");
symlink("toolbox", "/system/bin/newfs_msdos");
symlink("toolbox", "/system/bin/notify");
symlink("toolbox", "/system/bin/printenv");
symlink("toolbox", "/system/bin/ps");
symlink("toolbox", "/system/bin/renice");
symlink("toolbox", "/system/bin/rm");
symlink("toolbox", "/system/bin/rmdir");
symlink("toolbox", "/system/bin/rmmod");
symlink("toolbox", "/system/bin/route");
symlink("toolbox", "/system/bin/schedtop");
symlink("toolbox", "/system/bin/sendevent");
symlink("toolbox", "/system/bin/setconsole");
symlink("toolbox", "/system/bin/setprop");
symlink("toolbox", "/system/bin/sleep");
symlink("toolbox", "/system/bin/smd");
symlink("toolbox", "/system/bin/start");
symlink("toolbox", "/system/bin/stop");
symlink("toolbox", "/system/bin/sync");
symlink("toolbox", "/system/bin/top");
symlink("toolbox", "/system/bin/umount");
symlink("toolbox", "/system/bin/uptime");
symlink("toolbox", "/system/bin/vmstat");
symlink("toolbox", "/system/bin/watchprops");
symlink("toolbox", "/system/bin/wipe");
set_progress(0.82);
ui_print("  Complete");
ui_print("  完成");

################################
#  CONFIGURING SYSTEM
################################
ui_print("@Configuring System");
ui_print("@配置系统");
ui_print("  Setting Permissions");
ui_print("  设置权限");
set_progress(0.83);
set_perm_recursive(0, 0, 0755, 0644, "/system/");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");

set_perm(0, 3003, 06755, "/system/bin/ip");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm_recursive(0, 2000, 0755, 0750, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm(0, 0, 06755, "/system/bin/su");
set_perm(0, 0, 04755, "/system/xbin/busybox");
symlink("/system/bin/su", "/system/xbin/su");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm(0, 2000, 0755, 0755, "/system/etc/init.local.rc");
set_progress(0.93);
set_progress(0.94);
ui_print("  Complete");
ui_print("  完成");

################################
#  KERNEL
################################
ui_print("@Installing Kernel");
ui_print("@安装内核");
if
   getprop("ro.baseband") == "6.35.07.29" || getprop("ro.baseband") == "6.35.10.18" || getprop("ro.baseband") == "6.35.16.19";
then
   ui_print("  Writing Magic Boot");
   ui_print("  写入Magic内核");
   assert(package_extract_file("kernel/sapphire/boot.img", "/tmp/boot.img"),
          write_raw_image("/tmp/boot.img", "boot"),
          delete("/tmp/boot.img"));
else
   ui_print("  Writing Hero Boot");
   ui_print("  写入Hero内核");
   assert(package_extract_file("kernel/hero/boot.img", "/tmp/boot.img"),
          write_raw_image("/tmp/boot.img", "boot"),
          delete("/tmp/boot.img"));

symlink("/system/lib/modules/net/ipv6/xfrm6_tunnel.ko", "/system/lib/modules/xfrm6_tunnel.ko");
symlink("/system/lib/modules/net/ipv6/esp6.ko", "/system/lib/modules/esp6.ko");
symlink("/system/lib/modules/net/ipv6/xfrm6_mode_beet.ko", "/system/lib/modules/xfrm6_mode_beet.ko");
symlink("/system/lib/modules/net/ipv6/mip6.ko", "/system/lib/modules/mip6.ko");
symlink("/system/lib/modules/net/ipv6/tunnel6.ko", "/system/lib/modules/tunnel6.ko");
symlink("/system/lib/modules/net/ipv6/xfrm6_mode_transport.ko", "/system/lib/modules/xfrm6_mode_transport.ko");
symlink("/system/lib/modules/net/ipv6/xfrm6_mode_tunnel.ko", "/system/lib/modules/xfrm6_mode_tunnel.ko");
symlink("/system/lib/modules/net/ipv6/sit.ko", "/system/lib/modules/sit.ko");
symlink("/system/lib/modules/net/ipv6/ip6_tunnel.ko", "/system/lib/modules/ip6_tunnel.ko");
symlink("/system/lib/modules/net/ipv6/ah6.ko", "/system/lib/modules/ah6.ko");
symlink("/system/lib/modules/net/ipv6/ipcomp6.ko", "/system/lib/modules/ipcomp6.ko");
symlink("/system/lib/modules/fs/nls/nls_utf8.ko", "/system/lib/modules/nls_utf8.ko");
symlink("/system/lib/modules/fs/cifs/cifs.ko", "/system/lib/modules/cifs.ko");
symlink("/system/lib/modules/drivers/net/wireless/tiwlan1251/wlan.ko", "/system/lib/modules/wlan.ko");
symlink("/system/lib/modules/drivers/net/tun.ko", "/system/lib/modules/tun.ko");
symlink("/system/lib/modules/drivers/staging/zram/zram.ko", "/system/lib/modules/zram.ko");
symlink("/system/lib/modules/drivers/staging/ramzswap/ramzswap.ko", "/system/lib/modules/ramzswap.ko");

package_extract_dir("kernel/hero/tool", "/tmp");
set_perm(0, 0, 0777, "/tmp/dump_image");
set_perm(0, 0, 0777, "/tmp/mkbootimg.sh");
set_perm(0, 0, 0777, "/tmp/mkbootimg");
set_perm(0, 0, 0777, "/tmp/unpackbootimg");
run_program("/tmp/dump_image", "boot", "/tmp/boot.img");
run_program("/tmp/unpackbootimg", "/tmp/boot.img", "/tmp/");
run_program("/tmp/mkbootimg.sh");
write_raw_image("/tmp/newboot.img", "boot");

endif;

set_progress(0.98);

################################
#  UNMOUNT PARTITIONS
################################
unmount("/system");
unmount("/data");
ui_print("  Complete");
ui_print("  完成");
ui_print(" ");
ui_print("@Install Complete, Please press Next.");
ui_print("@安装完成，按下一步重启手机");
set_progress(1.0);
