[Android Software/Hacking General [Developers Only]] Negan:
ok i am a wee bit rusty with aroma. been about 6 months since i've used it. i had a syntax error (well several actually!) but i fixed that after i stared at my config for a bit and swore at it! i remembered that i forgot a bunch of commas. anyway i believe my updater is off a bit and for the life of me i am not seeing what's probably so obvious. i will include the config and updater in the event someone could extend the olive branch to me. I'm using aroma for my theme update which is a very large theme update. 400 mb! and i'm dying to release it as this update alone has taken me over a month to do.

I should mention that aroma does begin but as soon as i accept the terms of use it backs out into recovery and fails. likely due to the updater script.

### LICENSE:
#
# Copyright (C) 2011 Ahmad Amarullah ( http://amarullz.com/ )
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
### FILE INFO:
#
# AROMA Installer
# (c) 2011-2012 by Ahmad Amarullah
# amarullz - xda-developers
# http://www.amarullz.com/
#
#
### INFO:
#
# * AROMA Resource Dir = META-INF/com/google/android/aroma
#
# * AROMA Temporary Dir = /tmp/aroma/
#
# * About Icon = @alert - show <AROMA Resource Dir>/icons/alert.png
# or if theme used it will find <themedir>/icon.alert.png
# you can still access it via "icons/alert"
#
# * dp = Device Pixelate. WVGA/QHD = 3, HVGA = 2.
# dp calculated with = round(min(width,height) / 160)
#

ini_set("rom_name", "CYANide");
ini_set("rom_version", "V3");
ini_set("rom_author", "markbencze");
ini_set("rom_device", "Samsung Galaxy Note 3");
ini_set("rom_date", "February, 2014");

# Show Simple Splash

splash(4000, "splashscreen/cyanide v3 aroma logo");

fontresload( "0", "ttf/DroidSans.ttf", "12" );
fontresload( "1", "ttf/DroidSans.ttf", "18" );

theme("markbencze");

###################################################################################################################
#
# STEP 1 - SHOW ROM INFORMATION
#

viewbox(
#-- Title
"Welcome!",

#-- Text
"You are about to install <b>"+
#-- Get Config Value
ini_get("rom_name")+
"</b> for <b>"+ini_get("rom_device")+"</b>.\n\n"+

" VERSION\t: <b><#selectbg_g>"+ini_get("rom_version")+"</#></b>\n"+
" UPDATED\t: <b><#selectbg_g>"+ini_get("rom_date")+"</#></b>\n\n\n"+

"Press <b>Next</b> to continue the installation.",

#-- Icon
"@welcome"
);

###################################################################################################################
#
# STEP 2 - TERMS OF USE
#

agreebox(
#-- Title
"Important notes!",

#-- Subtitle / Description
"",

#-- Icon
"@alert",

#-- Text Content ( Read from <AROMA Resource Dir>/read_me.txt )
resread("read_me.txt"),

#-- Checkbox Text
"I understand what I'm doing and won't noob it!",

#-- Unchecked Alert Message
"You need to agree with the Terms of Use so I know you didn't noob it up!!!"
);
###################################################################################################################
#
# STEP 3 - Choose your Keyboard
#

selectbox(
"Keyboard",
"Please make your selection:",

"Stock CYANide","cyan buttons, white letters",1,
"blb keyboard","a twist on a popular style",0,
"Black cyan","black buttons, cyan letters",0,
"Cyan gradient","black buttons, cyan gradient bg",0,
"DD special","my personal favorite by darry dillon",0,
"Miui shaped","miui icon shaped inspired",0,
"rounds","dark style with a slight round shape",0,
"new rounds","roundish recessed buttons,unique style",0,
"the battered","my rendition of my fav cm theme kb",0,
"the battered cyan bg","the battered with cyan gradien bg",0
);

###################################################################################################################
#
# STEP 4 - Choose your Dialer
#

selectbox(
"Dialer",
"Please make your selection:",

"Stock CYANide","roundish buttons",1,
"AOSP","Classic AOSP style, very clean and smooth",0,
"BLB","Crazy style with a twist",0,
"Black Miui","Black Miui shaped buttons",0,
"The battered","my rendition of the battered cm theme buttons",0,
"The battered 2","similar to the battered in style, but different approach",0,
"Silver Miui","Silver coloured miui shapped buttons",0,
"Glass tiles","Cyan in color with a glass tile effect",0,
"Neon","buttons with a neon sign effect",0,
"Liquid metal","a melting liquid metal effect for numbers.",0
);

###################################################################################################################
#
# STEP 5 - Choose your Toggles
#

selectbox(
"Toggles",
"Please make your selection:",

"Stock CYANide","slim sliders, clean",1,
"BLB","Unique style with a dark twist",0,
"CYANide round","Cyanide icon pack style",0,
"Black Miui","Black Miui shaped toggles",0,
"The battered","the battered cm theme inspired toggles",0,
"Polaroid","old polaroid camera style",0,
"Slider","Slider toggles, very clean and crisp",0,
"Double toggles","Two toggles made into one",0,
"Multi toggles","similar to double toggles with a twist",0,
"Death Star","Death Star toggles, perfect for jedi elite",0
);

###################################################################################################################
#
# STEP 4 - Choose your Boot Animation
#

selectbox(
"Boot Animation",
"Please make your selection:",

"Stock CYANide","Cyan Matrix",1,
"Jedi Elite","Stock Jedi Elite Boot Animation",0,
"New CYANide","Simple, clean",0
);
ini_set("text_next", "Install Now");

viewbox(
"Ready to Install",
"The wizard is ready to begin installation.\n\n"+
"Press <b>Next</b> to begin the installation.\n\n"+
"If you want to review or change any of your installation settings, press <b>Back</b>. Press Left Hard Button -> Quit Installation to exit the wizard.",
"@install"
);

ini_set("text_next", "Next");

###################################################################################################################
#
# STEP 8 - INSTALLATION PROCESS
#
setvar("retstatus",
install(
#-- Title
"Installing",

#-- Installation Process message
"<b>"+ini_get("rom_name")+"</b> installation.\n\n"+
"Please wait while installation wizard installs <b>"+ini_get("rom_name")+
"</b>. This may take several minutes.",

#-- Installation Icon
"@install",

#-- Installation Finish Message
"The installation wizard has successfully installed <b>"+ini_get("rom_name")+
"</b>. Press Next to continue."
)
);

ini_set("text_next", "Finish");

viewbox(
"Installation Completed",
"<#selectbg_g><b>Congratulations!</b></#>\n\n"+
"<b>"+ini_get("rom_name")+"</b> <b>"+ini_get("rom_version")+"</b> has been installed into your device.\n\n"+
"<#selectbg_g><b>Every donation to support this Theme is greatly appreciated!</b></#>\n\n"+
"Enjoy!",
"@welcome"
);

if
confirm(
"Reboot",
"Reboot Now?",
"icons/info",
"Yes",
"No"
)=="yes"
then
reboot("onfinish");
endif;

ui_print("[][][][][][][][][][][][][][][]");
ui_print("[] []");
ui_print("[] markbencze presents: []");
ui_print("[] []");
ui_print("[] CYANide []");
ui_print("[]___ ___ _______ []");
ui_print("[]\ \ / / |_____ | []");
ui_print("[] \ \ / / _____| | []");
ui_print("[] \ \/ / |_____ | []");
ui_print("[] \ / _____| | []");
ui_print("[] \__/ |_______| []");
ui_print("[] []");
ui_print("[] []");
ui_print("[][][][][][][][][][][][][][][]");
ui_print("");
ui_print("");
ui_print("begining maximum customization");
show_progress(1, 15);
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/data");
run_program("/sbin/busybox", "mount", "/cache");
delete_recursive("/cache");
package_extract_dir("system", "/system");
package_extract_dir("vrtheme", "/sdcard/vrtheme");
set_perm(0, 0, 0755, "/sdcard/vrtheme/installtheme.sh");
set_perm(0, 0, 0755, "/sdcard/vrtheme/zip");
set_perm(0, 0, 0755, "/sdcard/vrtheme/zipalign");
run_program("/sdcard/vrtheme/installtheme.sh");
delete_recursive("/sdcard/vrtheme");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/data");
run_program("/sbin/busybox", "umount", "/sdcard");
ui_print("Thanks for flashing");

### Aroma Installer Options###
# apps options
ui_print("Installing");

# black cyan letter
if
file_getprop("/tmp/aroma/customize.prop","item.1.1") == "1"
then
ui_print("@ Installing black cyan letters");
package_extract_dir("theme chooser/keyboards/black cyan letter/system", "/system");
endif;

# blb keyboard
if
file_getprop("/tmp/aroma/customize.prop","item.1.2") == "1"
then
ui_print("@ Installing BLB !!!");
package_extract_dir("theme chooser/keyboards/blb keyboard/system", "/system");
endif;

# cyan gradient bg
if
file_getprop("/tmp/aroma/customize.prop","item.1.3") == "1"
then
ui_print("@ cyan gradient bg");
package_extract_dir("theme chooser/keyboards/blb/system", "/system");
endif;

# dd specials
if
file_getprop("/tmp/aroma/customize.prop","item.1.4") == "1"
then
ui_print("@ Installing Darryl Dillon specials");
package_extract_dir("theme chooser/keyboards/dd specials/system", "/system");
endif;

# miui shaped
if
file_getprop("/tmp/aroma/customize.prop","item.1.5") == "1"
then
ui_print("@ Installing miui shaped");
package_extract_dir("theme chooser/keyboards/miui/system", "/system");
endif;

# new rounds
if
file_getprop("/tmp/aroma/customize.prop","item.1.6") == "1"
then
ui_print("@ new rounds");
package_extract_dir("theme chooser/keyboards/new rounds/system", "/system");
endif;

# rounds
if
file_getprop("/tmp/aroma/customize.prop","item.1.7") == "1"
then
ui_print("@ Installing rounds");
package_extract_dir("theme chooser/keyboards/rounds/system", "/system");
endif;

# stock cyanide kb
if
file_getprop("/tmp/aroma/customize.prop","item.1.8") == "1"
then
ui_print("@ Installing stock cyanide kb");
package_extract_dir("theme chooser/keyboards/stock cyanide kb/system", "/system");
endif;

# the battered kb
if
file_getprop("/tmp/aroma/customize.prop","item.1.9") == "1"
then
ui_print("@ Installing the battered kb");
package_extract_dir("theme chooser/keyboards/the battered kb/system", "/system");
endif;

# the battered cyan bg
if
file_getprop("/tmp/aroma/customize.prop","item.1.10") == "1"
then
ui_print("@ Installing the battered cyan bg");
package_extract_dir("theme chooser/keyboards/the battered cyan bg/system", "/system");
endif;

# aosp
if
file_getprop("/tmp/aroma/customize.prop","item.1.11") == "1"
then
ui_print("@ Installing aosp");
package_extract_dir("theme chooser/dialers/aosp/system", "/system");
endif;

# battered 2 dialer
if
file_getprop("/tmp/aroma/customize.prop","item.1.12") == "1"
then
ui_print("@ Installing battered 2");
package_extract_dir("theme chooser/dialers/battered 2 dialer/system", "/system");
endif;

# black miui
if
file_getprop("/tmp/aroma/customize.prop","item.1.13") == "1"
then
ui_print("@ Installing black miui");
package_extract_dir("theme chooser/dialers/black miui/system", "/system");
endif;

# blb dialer
if
file_getprop("/tmp/aroma/customize.prop","item.1.14") == "1"
then
ui_print("@ Installing BLB");
package_extract_dir("theme chooser/dialers/blb/system", "/system");
endif;

# glass tile
if
file_getprop("/tmp/aroma/customize.prop","item.1.15") == "1"
then
ui_print("@ Installing glass tile");
package_extract_dir("theme chooser/dialers/glass tiles/system", "/system");
endif;

# liquid metal
if
file_getprop("/tmp/aroma/customize.prop","item.1.16") == "1"
then
ui_print("@ Installing liquid metal (T-1000)");
package_extract_dir("theme chooser/dialers/liquid metal/system", "/system");
endif;

# neon
if
file_getprop("/tmp/aroma/customize.prop","item.1.17") == "1"
then
ui_print("@ Installing neon");
package_extract_dir("theme chooser/dialers/neon/system", "/system");
endif;

# silver miui
if
file_getprop("/tmp/aroma/customize.prop","item.1.18") == "1"
then
ui_print("@ Installing silver miui");
package_extract_dir("theme chooser/dialers/silver miui/system", "/system");
endif;

# stock cyanide dialer
if
file_getprop("/tmp/aroma/customize.prop","item.1.19") == "1"
then
ui_print("@ Installing stock cyanide dialer");
package_extract_dir("theme chooser/dialers/stock cyanide dialer/system", "/system");
endif;

# the battered dialer
if
file_getprop("/tmp/aroma/customize.prop","item.1.20") == "1"
then
ui_print("@ Installing the battered kb");
package_extract_dir("theme chooser/dialers/the battered dialer/system", "/system");
endif;

# blb toggles
if
file_getprop("/tmp/aroma/customize.prop","item.1.21") == "1"
then
ui_print("@ Installing blb toggles");
package_extract_dir("theme chooser/toggles/blb toggles/system", "/system");
endif;

# cyanide round toggles
if
file_getprop("/tmp/aroma/customize.prop","item.1.22") == "1"
then
ui_print("@ Installing cyanide round toggles");
package_extract_dir("theme chooser/toggles/cyanide round toggles/system", "/system");
endif;

# death star
if
file_getprop("/tmp/aroma/customize.prop","item.1.23") == "1"
then
ui_print("@ Installing death star");
package_extract_dir("theme chooser/toggles/death star/system", "/system");
endif;

# double toggle
if
file_getprop("/tmp/aroma/customize.prop","item.1.24") == "1"
then
ui_print("@ Installing double toggle");
package_extract_dir("theme chooser/toggles/double toggle/system", "/system");
endif;

# miui toggle
if
file_getprop("/tmp/aroma/customize.prop","item.1.25") == "1"
then
ui_print("@ Installing miui toggle");
package_extract_dir("theme chooser/toggles/miui toggle/system", "/system");
endif;

# multi toggle
if
file_getprop("/tmp/aroma/customize.prop","item.1.26") == "1"
then
ui_print("@ Installing multi toggle");
package_extract_dir("theme chooser/toggles/multi toggle/system", "/system");
endif;

# polaroid
if
file_getprop("/tmp/aroma/customize.prop","item.1.27") == "1"
then
ui_print("@ Installing polaroid");
package_extract_dir("theme chooser/toggles/polaroid/system", "/system");
endif;

# slider
if
file_getprop("/tmp/aroma/customize.prop","item.1.22") == "1"
then
ui_print("@ Installing slider");
package_extract_dir("theme chooser/toggles/slider/system", "/system");
endif;

# stock cyanide toggle
if
file_getprop("/tmp/aroma/customize.prop","item.1.23") == "1"
then
ui_print("@ Installing stock cyanide toggle");
package_extract_dir("theme chooser/toggles/stock cyanide toggle/system", "/system");
endif;

# the battered toggle
if
file_getprop("/tmp/aroma/customize.prop","item.1.24") == "1"
then
ui_print("@ Installing the battered toggle");
package_extract_dir("theme chooser/toggles/the battered toggle/system", "/system");
endif;

# jedi elite
if
file_getprop("/tmp/aroma/customize.prop","item.1.25") == "1"
then
ui_print("@ Installing jedi elite");
package_extract_dir("theme chooser/boot animations/jedi elite/system", "/system");
endif;

# new cyanide boot animation
if
file_getprop("/tmp/aroma/customize.prop","item.1.26") == "1"
then
ui_print("@ Installing new cyanide boot animation");
package_extract_dir("theme chooser/boot animations/new cyanide boot animation/system", "/system");
endif;

# stock cyanide boot animation
if
file_getprop("/tmp/aroma/customize.prop","item.1.27") == "1"
then
ui_print("@ Installing stock cyanide boot animation");
package_extract_dir("theme chooser/boot animations/stock cyanide boot animation/system", "/system");
endif;
endif;

# End of Aroma Options

set_progress(1.00);
ui_print("Done...");
ui_print("----------------------");
ui_print("Unmounting...");
unmount("/system");
unmount("/cache");
unmount("/data");
unmount("/preload");

ui_print("You better hope I know what the hell I'm doing!!!");