Introducing XDA:DevCon – A Conference For Developers By Developers
XDA Developers Android and Mobile Development Forum
Forgot your password?
 
Post Reply+
Tip us?
 
amarullz
Old
(Last edited by amarullz; 10th October 2012 at 03:56 AM.)
#1  
amarullz's Avatar
Recognized Developer - OP
Thanks Meter 4233
Posts: 917
Join Date: Jan 2007
Location: Bandung

 
DONATE TO ME
Default [MOD][2.56] AROMA Installer :: 121004-031 :: Open Source


The World's First ANDROID Touch And Customizable ROM Installer

Don't Forget To Donate To Me:


When you install Linux, Windows, Mac or applications on the PC
You can always customize your installation as you want.


WHY CAN'T WE DO THE SAME INSTALLING AN ANDROID ROM?

BECAUSE NOW
AROMA Installer
GIVES YOU THIS POSSIBILITY!




For Questions and Answer about scripting and customizing your Installer, please post your problems in Q&A Thread below:
AROMA Installer & Edify
Q & A THREAD

Need stunning AROMA Installer Package Creator in GUI:
Aroma App Package Creator

by commandersafi
YOU DON'T NEED TO USE TOUCH RECOVERY TO MAKE THE TOUCH SCREEN WORKS
If your Recovery Kernel include Touch Screen Driver, even if the recovery not supported touch screen, it will works.
And Almost any recovery included touch screen driver in its kernel (Except some trimmed versions)

-------------------------A-R-O-M-A---I-n-s-t-a-l-l-e-r-------------------------


Benefits For Users
AROMA Installer gives users the possibility to choose which mods and applications they want to Install on to their device. Sometimes we want the clean install, without bloatware; and sometimes we want the full set of applications on our device. With AROMA Installer, you are your phone's master!

Benefits For Chefs/Developers
AROMA Installer gives chefs many benefits:

You don't ever again have to hear someone ask to remove or include something they like into your ROM, just for you to yell "Hey, that is only your opinion! Only you and some other people like it; most people don't! Go remove the apps on your own with WINRAR, you ^$#&*&#$", remember they are still a customer , and with AROMA Installer, this problem can be solved.

If you are good at customizing the AROMA Installer it was possible to make your ROM compatible with many devices using just one ROM File. You save your time, bandwith and hosting maintanance.

With the great user interface in your ROM installation, users will be very happy with it.

With AROMA Installer, You Are The Greatest ROM Developer

-------------------------A-R-O-M-A---I-n-s-t-a-l-l-e-r-------------------------



NEED DIRECT SUPPORT? - JOIN #aroma CHANNEL AT FREENODE.NET

-------------------------A-R-O-M-A---I-n-s-t-a-l-l-e-r-------------------------

Videos

Watch this video to learn about AROMA Installer. Thanks to XsMagical for creating this awesome video...




Screen Shoots
more at amarullz.com [+]

FROM INDONESIAN DEVELOPERS TO PEOPLE AROUND THE WORLD
New phone is needed for better AROMA's Developments
Donate me to get HTC One




The Following 1,036 Users Say Thank You to amarullz For This Useful Post: [ Click to Expand ]
 
amarullz
Old
(Last edited by amarullz; 4th October 2012 at 03:34 PM.)
#2  
amarullz's Avatar
Recognized Developer - OP
Thanks Meter 4233
Posts: 917
Join Date: Jan 2007
Location: Bandung

 
DONATE TO ME
Default Downloads & Resources

FOR ROM CHEFS ONLY

ROM CHEF? WHAT IS THAT? ... HERE IS A VIDEO


DON'T ASK ABOUT HOW TO INSTALL IT, BECAUSE IT MEANS YOU DON'T KNOW WHAT IT IS FOR

IT ISN'T AN APPLICATION YOU CAN USE OR INSTALL ON TO YOUR PHONE LIKE ANGRY BIRDS OR FACEBOOK

IF YOU JUST A USER, THEN FIND A ROM THAT ALREADY USES THIS INSTALLER
MOST IMPORTANT THING BEFORE CUSTOMIZING IT

Make sure You took an update-binary from a working ROM,
renamed it to update-binary-installer and overwrote the one in my AROMA Installer zip
Download Binary
  • EDELWEIS - 2.56 - BUILD 121004-031
  • Fix capacitive button
  • Remove calibration tools

  • EDELWEIS - 2.55 - BUILD 121003-030
  • Completely new Input/Touchscreen Handler - Thanks to agrabren from TWRP
  • Remove all calibration need. calibtool(), calibrate() and calibrate_matrix() won't do anything now.

  • EDELWEIS - 2.51 - BUILD 120810-026
  • Supported Galaxy Nexus Touch Screen - And maybe other devices now supported

  • EDELWEIS - 2.50 - BUILD 120716-025
  • Add Calibration Matrix for More Accurate Touch screen calibration
  • Set ROBOTO as Default True Type Font

  • DAHLIA - 2.00 - BUILD 120425-020
  • Fix Installation Save Logs
  • Fix framebuffer mmap size
  • Fix status 0 error
  • Add Multilanguage functions
  • Change list bullet drawing method
  • Add support for kerning font when use TrueType/OpenType
  • Add AROMA Memory management and memory debuging build (COMPILE FROM SOURCE ONLY)
  • Add more limit size for AROMA texts
  • Add font glyph cache for faster freetype drawing & processing
  • Add support for Modern Standard Arabic
  • Add support for RTL
  • Add support for TrueType and OpenType fonts
  • Add support for UTF8 encoding in aroma-config and all AMS text. For updater-script use NO-BOM UTF8
  • Fix Memory leaks
  • Add ini_set("force_colorspace","rgba");
  • Add support for atmel_maxtouch - Asus Transformer Touch Screen

  • CEMPAKA- 1.64 - BUILD 120414-040
  • Fix framebuffer mmap size
  • Fix status 0 error


Previous Changelogs:
Code:
* CEMPAKA- 1.63 - BUILD 120306-032 * Add support for atmel_maxtouch (Down Event SYN) - Asus Transformer Prime Touch Screen * CEMPAKA- 1.62 - BUILD 120303-030 * Fix some memory leaks (Important). * Add ini_set("force_colorspace","rgba"); * CEMPAKA- 1.60 - BUILD 120227-026 * Add msb_right check for Endianess video memory * Fix Installer text log drawing * Add ini_get * Add rom_date in ini_get * Fix reboot and back function * Add more and recreate Icons for themes and generic * Rewrite text handler * Add alignment, indentation and list in AROMA Markup String * Change temp directory to /tmp/aroma, /tmp/aroma-data stil works * Add Theme Support * Add AROMA Markup for <b> Bold * Add More Colorset * Add More Text to Customize * Add PNG Icon Load From Theme (Default Icons) * Add Tab support in AROMA Markup String * Change int to long for partition info, now support big storage information * Config Init All/Theme Only * Recreate new example (release) for binary release * Customizable Font Runtime * Reformat About Dialog * Add show progress per time in installer (now support by files and by time). * Themeable Progressbar * Enhance Exec Functions to return exit status and autosave buffer into variable * Fix glibc error in ag_close - Need workaround * Move ai_trim to system libs * Add Stretch function for png * Add 9 Patch drawing function for png * Fix Reboot Function * Add Alternative Touch Method * Add ziptotmp & restotmp * Add support for mxt224 touch screen (SYN_MT_REPORT event) * BOUGENVILLE - 1.10 - BUILD 120208-13 * Add Alternative Touch Method * Added New Functions - anisplash - ANIMATED SPLASH SCREEN - prop - GET PROP FROM AROMA TMP - zipprop - GET PROP FROM ZIP - resprop - GET PROP FROM AROMA RESOURCE ZIP - sysprop - GET RECOVERY PROP - property_get - GET RECOVERY PROP - write - WRITE STRING INTO FILESYSTEM - readtmpfile - READ TEMPORARY FILE AS STRINF - read - READ FILESYSTEM AS STRING - zipread - Read String From Zip - resread - Read Strinf From Resource - zipexec - Exec Program From Zip - resexec - Exec Program From Resource - run_program - Run Program/Exec - exec - Run Prohram/Exec - back - BACK TO PREVIOUS WIZARD - reboot - REBOOT DEVICE * Deprecated Funcrions - readfile - Will Renamed to zipread - readfile_aroma - Will Renamed to resread * Add Some Fix in Touch Up Handler * Prop parsing, File Handling & Zip Handling has been managed in efficient functions * Remove CERT.SA - Not Needed * Add Licence Headers in all aroma source code Apache 2.0 * Add More Comments & Documentation in Souce Code * Renamed functions for fit needs * ANGGREK -1.00 - BUILD:120204-011 * Fix calibrating function not working when set in aroma-config * Update and fix firmware command from update-binary-installer into recovery. * ANGGREK -1.00 - BUILD:120202-10 * Improve touch handler compatibility. Now more accurate in every devices * Add more chars into ROM Infos from only 31 to 63max * Detail changelog from commit: 10 * ANGGREK -1.00 - BUILD:120201-009 * Stride/Pitch/Padding Framebuffer support for non multiply 8 screen size like qhd on sensation and evo3d * Rewrite input handler, better keys & touch screen compatibility. * Change calibration division data from integer to float, more accurate calibrating * Improve fling and scrolling engine * Add support for all possible screen bit depth 32/24/16bit. ARGB, ABGR, RGBA, BGRA. No problem now. * Detail changelog from commit: 006, 007, 009 ANGGREK -1.00 - BUILD:120129-005 * Remove Signature Check - Now You don't need to sign aroma-config and updater-script * Calibration Tool now show before anything, so you can directly do calibration. you can disabled it in aroma-config by deleting calibtool(""); command. * Fix some touch screen input handler * Add 229 in menu keycode (F2 used in emulator as menu key) ANGGREK -1.00 - BUILD:120128-004 * Open Source - Binary No Released ANGGREK -1.00 - BUILD:120126-003 * Refer to defy recovery source code found HERE (Thanks walter79 for github source code) I add some keycode into input reader : Read Here * Add confirmation if calibrated data will be used in current process (After Calibrating) - So you can try touchscreen without editing aroma-config after you calibrate it. * Remove precision calculation in scrolling thread (Natural calculation but less fluid)... Feel faster now. * Add function for aroma-config to define custom key code for up/down/select/back/menu, just like calibrate() function. with format like this: ini_set("customkeycode_up",130); or ini_set("customkeycode_select",13);, the keycode can be capture by aroma-keycapture-flashable.zip ANGGREK -1.00 - BUILD:120125-002 * Add Home & Power Button To Select Items * Unsigned Script Now Not Terminated Installer, but just show Alert That the script should be signed to pass install ui * Add More Documentation in aroma-config ANGGREK -1.00 - BUILD:120124-001 * Initial Release ( AROMA UI, AROMA Touch Handler, AROMA Markup String ) * Customizable ( Custom Theme Colors, Customizable Fonts and Images ) * Optimized Build ( Static, -o2, remove unused functions, remove png-write and zlib deflate functions )
Open Source?
There may be some people who will ask if the project is Open Source, and the quick answer is YES. It is an Open Source Project Now.

Why Release The Source?
  • I used some other work (modified) from the Open Source Community, especially Koush's recovery source code for getting the input mode, PNG, ZLIB, and some Framebuffer programming samples.
  • I want to make all chefs feel safe, so I guarantee that I won't make this into a money making program.
  • I got something from the community, and I want to give something back to it.

What Benefits?
  • Rapid development
  • I can get code review & patches - Not just bug reports
  • There are many innovations that I wrote in the program that may be useful for other needs, like the AROMA Graphic Framebuffer, the AROMA UI, the Amarullz Dithering Method, and the AROMA Simple PNG Fonts. It may be used in recovery, so recovery can use the AROMA Installer Interface
  • I can learn more about Open Sourcing programs (especially the CVS and licensing things - that always drive me to the question - what is it?)

I Need Help
As I said before, I am just a newbie at Android Development, or even as a user. I need someone who has a lot of knowledge about Open Sourcing the software, and a lot of knowledge about licencing (I don't know much, I just tried to make my software compatible with them: GPL, Apache, etc.)...

Thanks.
Source Code

TOOLS: AROMA Key Capture
I also created "aroma-keycapture-flashable.zip" to capture the keycodes of your device (flashable in recovery - won't flash anything ). And in case the keys don't work, report the keycodes in this thread, with information like this example:


Code:
Prev Item/Up Key = 120
Next Item/Up Key = 110
Select Item/Enter/Select Key = 13
Back Key = 200
Menu Key = 193
To customize keycodes, open aroma-config and modify this code:
Code:
##
# Custom Key Code - Usefull For Some Device which not used
#                   Standard key code for up/down/select/back/menu
#
# You can capture the keycode in
# recovery using "aroma-keycapture-flashable.zip" Available in
# AROMA Installer Thread.
#
# Press some key when it run, it will return key code,
# that key can override up/down/select/back/menu actions in
# AROMA Installer, you can even set your home key for up, or
# volume down for select item
#
#-------- Uncomment & Modify this Code:
#
# ini_set("customkeycode_up",     "115");
# ini_set("customkeycode_down",   "114");
# ini_set("customkeycode_select", "116");
# ini_set("customkeycode_menu",   "139");
# ini_set("customkeycode_back",   "158");
#
Attached Files
File Type: zip aroma-1.00-2.zip - [Click for QR Code] (852.2 KB, 872 views)
File Type: zip aroma-1.00-3.zip - [Click for QR Code] (852.8 KB, 281 views)
File Type: zip aroma-1.00-05.zip - [Click for QR Code] (852.6 KB, 360 views)
File Type: zip aroma-120102-009.zip - [Click for QR Code] (851.7 KB, 165 views)
File Type: zip aroma-120202-010.zip - [Click for QR Code] (851.9 KB, 1297 views)
File Type: zip aroma-120204-011.zip - [Click for QR Code] (851.8 KB, 373 views)
File Type: zip aroma-1.10-120208-013b.zip - [Click for QR Code] (1.12 MB, 1796 views)
File Type: zip aroma-1.60-120227-026.zip - [Click for QR Code] (1.91 MB, 527 views)
File Type: zip aroma-1.62-120303-030.zip - [Click for QR Code] (1.91 MB, 487 views)
File Type: zip aroma-1.63-120306-031.zip - [Click for QR Code] (1.91 MB, 3442 views)
File Type: zip aroma-1.64-120414.zip - [Click for QR Code] (1.91 MB, 2524 views)
File Type: zip aroma-2.00-120425-020.zip - [Click for QR Code] (3.88 MB, 10347 views)
File Type: zip aroma-2.50-120716-020.zip - [Click for QR Code] (3.93 MB, 6654 views)
File Type: zip aroma-2.51-120810-026.zip - [Click for QR Code] (3.93 MB, 3081 views)
File Type: zip aroma-2.55-121003-030.zip - [Click for QR Code] (3.92 MB, 560 views)
File Type: zip aroma-2.56.zip - [Click for QR Code] (3.92 MB, 25256 views)
The Following 297 Users Say Thank You to amarullz For This Useful Post: [ Click to Expand ]
 
hrcell
Old
#3  
Junior Member
Thanks Meter 2
Posts: 13
Join Date: Dec 2010
Quote:
Originally Posted by amarullz View Post
Download
Version 1.00 - ANGGREK [2012/01/24][DOWNLOAD]
  • Initial Release
  • Customizable
  • Optimized Build

Signing Your Script
AROMA Installer need Signing Their script to be able to pass Installer UI.

Select your aroma-config script and updater-script script in File Input below, then click Generate Signature, to download your Installer Sign File (CERT.SA). Place it in your META-INF folder, then pack your ROM.

Why I need Sign My Installer?
I Hate someone who use other works but don't know who actually created it... But I love someone use my works without even pay anything or buy anything for me. So This method is the best way to notice all users that the AROMA Installer was created by me. If you don't like the method, I can't force you to use my works...

Customizing Your Script
AROMA Installer can be configured and customized as you like, there is so many features and functions you can used to implemented many things. In this manual, we will learn all the features and functions in technical ways and can be implemented directly in configuration for practice, or production.

hi
this need s-off for htc sensations?
The Following 2 Users Say Thank You to hrcell For This Useful Post: [ Click to Expand ]
 
amarullz
Old
(Last edited by amarullz; 22nd October 2012 at 10:33 AM.)
#4  
amarullz's Avatar
Recognized Developer - OP
Thanks Meter 4233
Posts: 917
Join Date: Jan 2007
Location: Bandung

 
DONATE TO ME
Default AROMA Installer Resources

The Codenames
AROMA Installer codename based on Alphabetical Indonesian Flower Names. Here the list of already used codename:

ANGGREK - 1.00


BOUGENVILLE - 1.10


CEMPAKA - 1.60 - 1.64


DAHLIA - 2.00


EDELWEIS - 2.50

Programming Language
It was application which runs on Android device but not on Android OS Environment that the native applications usually use Java. AROMA Installer use C (Pure C, not C++), so it may run on another platform like x86 with small modifications ofcourse.
Used Libraries
  • ZLIB - ofcourse, it was the most awesome thing in computer world
  • PNG
  • MinZIP
  • Freetype
All library need to compiled as static to make sure it runs without any dependency issue in any devices.
Official Binary
I Only support ARM device, but it was opensourced, so anyone can play with the source and compiled it for they own devices.
ROM That Already Uses AROMA Installer
MOD/THEMES Uses AROMA Installer
3rd Party AROMA Installer Resources

If you release the ROM with AROMA Installer, please inform me here, I will add your ROM in this post.
Thanks for Donators
Thanks To
  • Sebastiaan15 - For using and test it for the first time
  • avss - For helping me to make it works in sgs2 and many samsung devices
  • DemonWav - For helping grammar in the thread, Testing and give many great ideas.
  • -viperboy- - For intensively testing & feedback the touch screen in EVO3D CDMA
  • baadnwz - For Testing the touch input in sensation
  • capychimp - For Testing Display
  • Prof Peach - For helping and testing
  • V6-Maniac - Creating Video
The Following 190 Users Say Thank You to amarullz For This Useful Post: [ Click to Expand ]
 
dedraks
Old
#5  
dedraks's Avatar
Senior Member
Thanks Meter 177
Posts: 377
Join Date: Nov 2010
Location: Belo Horizonte

 
DONATE TO ME
Hi.
Thanks for your GREAT work.
Just to inform that I'm using AROMA Installer in my GT-P6800 kernel installer: http://forum.xda-developers.com/show....php?t=1848163
Devices:
Phone: HTC Magic -> Motorola Defy -> Apple iPhone 4 -> Motorola Atrix -> Samsung Galaxy Nexus (Current)
Tablet: Apple iPad 2 -> Samsung Galaxy Tab 7.7 P6800 (Current)
 
sevoir
Old
#6  
Senior Member
Thanks Meter 66
Posts: 114
Join Date: Mar 2011

 
DONATE TO ME
Info 2 ROM Modding Tools v3.1RC uses Aroma

Hi all,

Thanks for Aroma Installer.
My "ROM Modding Tools" use Aroma Installer too.
http://forum.xda-developers.com/show....php?t=1881908

HTML Code:
[IMG]http://www.sevoir.hu/RMT_logo.png[/IMG]
What is ROM Modding Tools?
Press thanks button if this/I helped for you.
 
du1sbo
Old
#7  
du1sbo's Avatar
Senior Member
Thanks Meter 16
Posts: 101
Join Date: Apr 2010
Hello to everyone. I have a Galaxy S3 (T-Mobile US), and was using HTC Sensation US version. On the Sensation, you can flash an International version rom via Aroma to the US Sensation. Aroma will then ask you on which Sensation version you have, International or US. Then Aroma will flash the Appropriate files needed for the model you have ( kernel, modem Etc.).

My Question is: Can we have something like this? have the Aroma flash the International Version Rom to US Galaxy S3, then Aroma will ask you which version you have, then flash the appropriate files needed ( kernel, modem, processor driver etc.. )

My apology if I posted this in the wrong place, Thanks and more power.
 
chleoj
Old
(Last edited by chleoj; 22nd September 2012 at 03:00 PM.)
#8  
chleoj's Avatar
Senior Member
Thanks Meter 38
Posts: 125
Join Date: May 2012
Quote:
Originally Posted by amarullz View Post
ROM That Already Uses AROMA Installer
I'm not finished reading the whole thread yet, but did anybody notice that when you click on VirtousPrime link, you'll be redirected to Valhalla | BlackEdition page and vice versa? , well nothing special for that..but your AROMA smells really good and one of the best application out there!!!

regards
HTC Sensation XE with Beats Audio
Rooted---S-OFF---SuperCID

Hboot: Revo 1.27.1100
Radio: 11.24A.3504.31_M
CWM: 4EXT
ROM: DarkForest 7.0.0
Firmware: 3.33.401.153
Kernel: HTC Stock


Other Device
HTC Desire HD (ARHD), ASUS SL101 (Revolver 4 ICS 4.1.1), TMobile MyTouch 4G Failed eMMC (Boot CyanogenMod 7.1 from Recovery)




ALWAYS PRESS THANKS FOR THE HELP
 
MrTapa
Old
#9  
MrTapa's Avatar
Senior Member
Thanks Meter 1483
Posts: 1,730
Join Date: Apr 2012
Location: Sofia
Hello. I wanted to rebase my script to v2.5 i started a new one. I took teh aroma zip provided in first post and started exploring it. I was with 2.00 and it was different. However i made myself a test here. I cleaned out syntax errors expect the error on the last empty line. How could i make this zip without errors. And i havent modified updater script. I puted teh one from aroma 2.5 zip
so here it is
Code:
# Info #
ini_set("rom_name",				"Jelly Sandwich");
ini_set("rom_version",			"6.1");
ini_set("rom_date",				"22.09.2012");
ini_set("rom_author",			"MrTapa");
ini_set("rom_device",			"Xperia Ray");

# Spash #
splash(3000,"mgTerminator_big");

# Default theme #
theme("ics");

# Default screen size #
ini_set("dp","3");

# Default font type & font size #
fontresload("0","fonts/Roboto.ttf","12");
fontresload("1","fonts/Roboto.ttf","16");

########## Calibration ##########
# Xperia #
calibrate_matrix(
 "49905.00","-1170.00","90937.50","1192.75",
 "47526.50","334853.12","47900.00","0"
);

###################################################################################################################
#
# THEME
#
selectbox(
  #-- Title
    "<~themes.title>",
  
  #-- Sub Title
    "<~themes.desc>",
  
  #-- Icon: <AROMA Resource Dir>/icons/personalize.png or <ThemeDir>/icon.personalize.png
    "@personalize",
  
  #-- Will be saved in /tmp/aroma/theme.prop
    "theme.prop",
  
  #---------------------------------[ Selectbox Without Group ]----------------------------------#
  # TITLE            |  SUBTITLE                                                 | Initial Value #
  #------------------+-----------------------------------------------------------+---------------#

    "Generic",            "Default AROMA Installer",            0,      #-- selected.0 = 1
    "MIUI Theme",         "MIUI Theme",                           0,      #-- selected.0 = 2
    "ICS Theme",          "Ice Cream Sandwitch ",                  0,      #-- selected.0 = 3
    "MIUI 4 Theme",       "MIUI 4/ICS Theme ",                       1,      #-- selected.0 = 4
    "Sense Theme",        "HTC Sense Theme",                           0       #-- selected.0 = 5

  #--------[ Initial Value = 0: Unselected, 1: Selected, 2: Group Item, 3: Not Visible ]---------#
);

##
# SET THEME
#
#-- Change Info:
# file_getprop : should use absolute path "/tmp/aroma/theme.prop"
# prop         : just use relative path "theme.prop" will automatically read the "/tmp/aroma/theme.prop"
#
if prop("theme.prop","selected.0")=="2" then
  theme("miui");
endif;

if prop("theme.prop","selected.0")=="3" then
  theme("ics");
endif;

if prop("theme.prop","selected.0")=="4" then
  theme("miui4");
endif;

if prop("theme.prop","selected.0")=="5" then
  theme("sense");
endif;


###################################################################################################################
#
# Installer
#
menubox(
  #-- Title
    "Hello",
  
  #-- Sub Title
    "Please select and item from the menu below",
  
  #-- Icon
    "@apps",
    
  #-- Will be saved in /tmp/aroma/first.prop
    "demo.prop",
    
  #-------------------------+-----------------[ Menubox Items ]-------------------------+---------------#
  # TITLE                   |  SUBTITLE                                                 |   Item Icons  #
  #-------------------------+-----------------------------------------------------------+---------------#
  
    "Install Rom",      "Flash Jelly Sandwich",                                 "@install",      #-- selected = 1
    "Changelog",        "Show the changelog for the rom",                       "@info",         #-- selected = 2
    "Exit",             "Return to recovery",                                   "@default"       #-- selected = 3
    
);

##########################################################
####################### CHANGELOG ########################
##########################################################

if prop("first.prop","selected")=="2" then
textbox(
  #-- Title
    "Changelog",
  
  #-- Subtitle
    "Here it is",
  
  #-- Icon
    "@update",
  
  #-- Arg 4
    resread("changelog.txt")
);

##########################################################
########################## EXIT ##########################
##########################################################

  if prop("first.prop","selected")=="3" then
	if
	  confirm(
		#-- Title
		  "Exit",
		#-- Text
		  "Are you sure want to exit the Installer?",
		#-- Icon (Optional)
		  "@alert"
	  )=="yes"
	then
	  #-- Exit - NOTE: Add dummy argument
	  exit("");
	endif;
	
##########################################################
###################### CUSTOMIZE #########################
##########################################################

  if prop("first.prop","selected")=="1" then
  selectbox(
    #-- Title
      "Select",
	  
    #-- Sub Title
      "Please choose required features for teh rom",
	  
    #-- Icon: <AROMA Resource Dir>/icons/default.png or <ThemeDir>/icon.default.png
      "@default",
	  
    #-- Will be saved in /tmp/aroma/mods.prop
      "mods.prop",
	  
	  #-----------------------------------[ Selectbox With Groups ]----------------------------------#
	  # TITLE            |  SUBTITLE                                                 | Initial Value #
	  #------------------+-----------------------------------------------------------+---------------#

	  "Statusbars",            "",                                                            2,  #-- Group 1. key = "selected.1"
	    "Xperia Stock",     "Sony's stock xperia statusbar",                     0,      #-- selected.1 = 1
		"Xperia GX",        "Xperia GX like statusbar",                          0,      #-- selected.1 = 2
		"JellyBean",        "Full Holo JellyBean statusbar",                     1,      #-- selected.1 = 3

      "Boot Animation",        "",                                                            2,  #-- Group 2. key = "selected.2"
	    "Default Nexus S",     "Default Nexus S Android boot animation",                      1,      #-- selected.2 = 1
		"AROMA Boot Animation","AROMA Earthquake logo boot animation",                        0,      #-- selected.2 = 2
		"HTC Generic",         "Generic white HTC Quitely Briliant boot animation",           0,      #-- selected.2 = 3
		"Old Android",         "Old Android logo boot animation",                             0,      #-- selected.2 = 4
      
	  "SD-EXT Mods",           "",                                                            2,  #-- Group 3. key = "selected.3"
	    "Generic APP2SD",      "Generic app2sd, all non-system apk in sd-ext",                1,      #-- selected.3 = 1
		"AD2SDX",              "All non-system files in sd-ext",                              0,      #-- selected.3 = 2
		"Data2SD",             "All data files in sd-ext",                                    0,      #-- selected.3 = 3
	  
	  "Input Method",          "",                                                            2,  #-- Group 3. key = "selected.3"
	    "Android IME",         "Android AOSP Keyboard",                                       1,      #-- selected.3 = 1
		"HTC IME",             "HTC IME with T9 Support",                                     0,      #-- selected.3 = 2
	  
	  "Camera",                "",                                                            2,  #-- Group 3. key = "selected.4"
	    "Android Camera",      "Android AOSP Generic Camera",                                 1,      #-- selected.4 = 1
		"HTC Camera 3.5",      "New and No FC Error, but No 720p Video Recording",            0,      #-- selected.4 = 2
		"HTC Camera 3.0",      "Old Camera With 720p Recording, but FC Error in Preview.",    0       #-- selected.4 = 3

	  #--------[ Initial Value = 0: Unselected, 1: Selected, 2: Group Item, 3: Not Visible ]---------#
  );
endif;

##
#
# Next Screen is Installation UI, So change the next button text to "Install Now"
#
ini_set("text_next", "Install Now");

###################################################################################################################
#
# STEP 9 - MAKE SURE USER KNOW THAT NEXT STEP WAS INSTALLATION PROCESS
#
viewbox(
  #-- Title
    "Ready to Install",

  #-- Text
    "The wizard is ready to begin installation.\n\n"+
	"Press <b>Install Now</b> to begin the installation.\n\n"+
	"If you want to review or change any of your installation settings, press <b>Back</b>. Press Menu Key -> Quit Installation to exit the wizard.",

  #-- Icon
    "@install"
);

##
#
# Next Button in successfull installation should be back to "Next >"
#
ini_set("text_next", "Next >");

#-- Extract sleep to /tmp/aroma/sleep. It will be used in updater-script for testing wait script
restotmp("exec_demo/sleep","sleep");


###################################################################################################################
#
# STEP 10 - INSTALLATION PROCESS
#
setvar("retstatus",
  install(
	#-- Title
      "Installing",
	
	#-- Installation Process message
	  "<b>"+ini_get("rom_name")+"</b> are being installed.\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."
  )
);

##
#
# Next Button is "Finish"
#
ini_set("text_next", "Finish");

###################################################################################################################
#
# STEP 11 - FINISH MESSAGE, Add Checkbox to Reboot or No. Save in "reboot_it" variable
#
# You can use return value or "reboot_it" variable to retrive checkbox value
# Example:
# if (checkviewbox(....)=="1" then
#    ... checked ...
# endif;
#
checkviewbox(
  #-- Title
    "Installation Completed",
  
  #-- Text
    "<#selectbg_g><b>Congratulation...</b></#>\n\n"+
    "<b>"+ini_get("rom_name")+"</b> has been installed into your device.\n\n"+
    "Installer Status: "+getvar("retstatus")+"\n\n",
	
  #-- Icon
    "@welcome",

  #-- Checkbox Text
    "Reboot your device now.",

  #-- Initial Checkbox value ( 0=unchecked, 1=checked ) -  (Optional, default:0)
    "1",

  #-- Save checked value in variable "reboot_it" (Optional)
    "reboot_it"
);

###
#
# Check if reboot checkbox was checked
if
  getvar("reboot_it")=="1"
then
  #
  # reboot("onfinish");   - Reboot if anything finished
  # reboot("now");        - Reboot Directly
  # reboot("disable");    - If you set reboot("onfinish") before, use this command to revert it.
  #
  reboot("onfinish");
endif;

#---- FINISH
Thank you

Device: Xperia T
Rom: OptiMax
Kernel:DoomKernel
Hit THANKS if you want to thank me if I have helped you!
DONATE
 
FBis251
Old
#10  
FBis251's Avatar
Recognized Contributor
Thanks Meter 3058
Posts: 2,997
Join Date: Mar 2011

 
DONATE TO ME
I've been using my aroma installer fine in gingerbread but after I ported it to ICS I have noticed a few crashes (the phone reboots) or the installer hangs before the splash screen would normally be displayed.

Have any of you guys been having the same issue or is it just the way I ported the installer? Should I try starting from scratch again? Remember, this is happening to me on ICS
 
Post Reply+
Tags
aroma, chef, flashable zip, installer, mod, one of the best, pure awesomeness installer ui
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Go to top of page...