Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,740,049 Members 39,421 Now Online
XDA Developers Android and Mobile Development Forum
Announcement from amarullz: 2.70 RC2 - RELEASED

[Q&A] AROMA Installer - [Dev Move To DevDB]

Tip us?
 
jokersax11
Old
#721  
jokersax11's Avatar
Recognized Developer
Thanks Meter 7047
Posts: 4,128
Join Date: Aug 2009

 
DONATE TO ME
Quote:
Originally Posted by swagstr View Post
Do you have different mod.props for each version of the ROM?

The problem for me is I have mods that work for one version of my ROM that I don't want to show up for another version.

Right now it goes:

First Screen - select ROM
SOS X
SOS S
SOS N

Second Screen - select "DEX"
DEODEX
ODEX

Third Screen - select install type
Typical Installation
Custom Installation

Fourth Screen - mods.prop for each ROM Type

...

At this screen I want a separate screen for each possible choice. I have it coded in my aroma-config, but unfortunately, my updater-script needs to reference EACH *.prop during install. I have tried putting blank *.props and .props with values that SHOULD let it install. But I'm still getting: cannot stat sosx.prop (this is the first custom .prop mentioned in updater-script).

So, I'm just trying to figure out the best way to implement this
Maybe a master prop. Each screen could be a section of that master prop and of its own.



Sent from my MB855 using XDA
Like my work donate via the donate button
 
amarullz
Old
#722  
amarullz's Avatar
Recognized Developer - OP
Thanks Meter 6189
Posts: 1,033
Join Date: Jan 2007
Location: Bandung

 
DONATE TO ME
Quote:
Originally Posted by dk_zero-cool View Post
@amarullz
i have one request.
In select and checkbox, could you add an option to disable certain options?

For an example "-1" to disable single selections and "-2" to disable groups.

So instead of "2" to indicate a group you type "-2" to indicate a disabled group.
3 is disabled
New phone is needed for better AROMA's Developments
Donate me to get HTC One




The Following User Says Thank You to amarullz For This Useful Post: [ Click to Expand ]
 
Turge
Old
#723  
Turge's Avatar
Recognized Developer
Thanks Meter 19557
Posts: 4,752
Join Date: Sep 2008
Location: Hamilton

 
DONATE TO ME
I'm currently having a problem with Aroma Installer on my ROM...

After updater-script has been installed, I click on Save Logs and it starts writing the .txt file in the same folder as the zip but it never completes.. it just hangs.

Any idea why this would happen? Is there a temporary location for the log file before it gets saved to the folder?


Want to give something in return? Follow our project here.
 
carl1961
Old
(Last edited by carl1961; 16th April 2012 at 04:11 AM.)
#724  
carl1961's Avatar
Senior Member
Thanks Meter 3586
Posts: 4,690
Join Date: Dec 2010
Location: Tickfaw

 
DONATE TO ME
Quote:
Originally Posted by swagstr View Post
Do you have different mod.props for each version of the ROM?

The problem for me is I have mods that work for one version of my ROM that I don't want to show up for another version.

Right now it goes:

First Screen - select ROM
SOS X
SOS S
SOS N

Second Screen - select "DEX"
DEODEX
ODEX

Third Screen - select install type
Typical Installation
Custom Installation

Fourth Screen - mods.prop for each ROM Type

...

At this screen I want a separate screen for each possible choice. I have it coded in my aroma-config, but unfortunately, my updater-script needs to reference EACH *.prop during install. I have tried putting blank *.props and .props with values that SHOULD let it install. But I'm still getting: cannot stat sosx.prop (this is the first custom .prop mentioned in updater-script).

So, I'm just trying to figure out the best way to implement this
In my opinon this would be a rather large rom (over 800MB ++) to download, 3 sets of roms deodex and odex for each rom and really complicated to keep up with in scripts

much easer to do 6 diffrent roms and not be double roms so If I want deodex rom why should I have to download odex? and your downloaders would be happy, look at just a sample would be like ( and the code here is yet to be worked out)

Code:
Select Code
#First Screen - select ROM
selectbox(
  "Select Your Rom",
  "<Please select Your ROM Choice Below",
  "icons/install",
  "selectrom.prop",
  
 "Your ROM Choice","",2,
  "SOS X",
  "install SOS X",1,
  "SOS S",
  "Install SOS S",0,
   "SOS N",
  "Install SOS N",0
	
);

#Second Screen - select "DEX"
selectbox(
  "DEODEX or ODEX Files",
  "<Please select DEODEX or ODEX Choice Below",
  "icons/install",
  "deodex.prop",
  
 "DEODEX or ODEX","",2,
  "DEODEX",
  "install DEODEX Files",1,
  "ODEX",
  "Install ODEX Files",0
  	
);

# Third Screen - select install type

selectbox(
  "Select Rom Setup Type",
  "Please select ROM setup type below",
  "icons/install",
  "type.prop",
  
 "Stock Or Customized Install","",2,
  "Custom Install",
  "Install only selected packages into your phone",1,
  "Default Stock Install",
  "Install default stock recommended packages into your phone",0
	
);


# Fourth Screen - mods.prop for each ROM Type

if
      file_getprop("/tmp/aroma-data/selectrom.prop","selected.1") == "1" &&
      file_getprop("/tmp/aroma-data/type.prop","selected.1") == "1"
  then

checkbox(
  "Customized Install",
  "Please UnCheck any Applications, Mods, Services which you do not want Install in the list below:",
  "icons/personalize",
  "mod1.prop",
#1  
# Applications:
  "Applications","",2,
    "Adobe FlashPlayer","Bring the FULL web to your device with Flash Player",1,
    "Adobe Reader",     "The global standard for reliably viewing and sharing PDF documents",1,
    "FBReader",         "Free (GPL) e-book reader for Android",1,

#2	
  "Internet & Social Networking","",2,  
    "Facebook",         "Share and stay connected with your friends with the Facebook for Android app",1,
    "Twitter",          "Follow your interests: instant updates from your friends",1,

#4	
  
  "HTC Applications","",2,
    "Friendstream",       "Show your friends update via HTC Sense Friendstream", 1,
    "News Reader",        "RSS Reader with HTC Sense News Widget",1,

);
else
  # Default .prop
  writetmpfile(
    "mod1.prop",
      "item.1.1=1\n"+
      "item.1.2=1\n"+
      "item.1.3=1\n"+
	  
      "item.2.1=1\n"+
      "item.2.2=1\n"+  

	  "item.3.1=0\n"+
      "item.3.2=0\n"+
	  
	  "item.4.1=1\n"+
      "item.4.2=1\n"+
 );
endif;	  
	  
# Fourth Screen - mods.prop for each ROM Type

if
      file_getprop("/tmp/aroma-data/selectrom.prop","selected.1") == "2" &&
      file_getprop("/tmp/aroma-data/type.prop","selected.1") == "1"
  then

checkbox(
  "Customized Install",
  "Please UnCheck any Applications, Mods, Services which you do not want Install in the list below:",
  "icons/personalize",
  "mod2.prop",
#1  
# Applications:
  "Applications","",2,
    "Adobe FlashPlayer","Bring the FULL web to your device with Flash Player",1,
    "Adobe Reader",     "The global standard for reliably viewing and sharing PDF documents",1,
    "FBReader",         "Free (GPL) e-book reader for Android",1,

#2	
  "Internet & Social Networking","",2,  
    "Facebook",         "Share and stay connected with your friends with the Facebook for Android app",1,
    "Twitter",          "Follow your interests: instant updates from your friends",1,

#4	
  
  "HTC Applications","",2,
    "Friendstream",       "Show your friends update via HTC Sense Friendstream", 1,
    "News Reader",        "RSS Reader with HTC Sense News Widget",1,

);
else
  # Default .prop
  writetmpfile(
    "mod2.prop",
      "item.1.1=1\n"+
      "item.1.2=1\n"+
      "item.1.3=1\n"+
	  
      "item.2.1=1\n"+
      "item.2.2=1\n"+  

	  "item.3.1=0\n"+
      "item.3.2=0\n"+
	  
	  "item.4.1=1\n"+
      "item.4.2=1\n"+
 );
endif;	  
	  
# Fourth Screen - mods.prop for each ROM Type

if
      file_getprop("/tmp/aroma-data/selectrom.prop","selected.1") == "3" &&
      file_getprop("/tmp/aroma-data/type.prop","selected.1") == "1"
  then

checkbox(
  "Customized Install",
  "Please UnCheck any Applications, Mods, Services which you do not want Install in the list below:",
  "icons/personalize",
  "mod3.prop",
#1  
# Applications:
  "Applications","",2,
    "Adobe FlashPlayer","Bring the FULL web to your device with Flash Player",1,
    "Adobe Reader",     "The global standard for reliably viewing and sharing PDF documents",1,
    "FBReader",         "Free (GPL) e-book reader for Android",1,

#2	
  "Internet & Social Networking","",2,  
    "Facebook",         "Share and stay connected with your friends with the Facebook for Android app",1,
    "Twitter",          "Follow your interests: instant updates from your friends",1,

#4	
  
  "HTC Applications","",2,
    "Friendstream",       "Show your friends update via HTC Sense Friendstream", 1,
    "News Reader",        "RSS Reader with HTC Sense News Widget",1,

);
else
  # Default .prop
  writetmpfile(
    "mod3.prop",
      "item.1.1=1\n"+
      "item.1.2=1\n"+
      "item.1.3=1\n"+
	  
      "item.2.1=1\n"+
      "item.2.2=1\n"+  

	  "item.3.1=0\n"+
      "item.3.2=0\n"+
	  
	  "item.4.1=1\n"+
      "item.4.2=1\n"+
 );
endif;	  
	  
If you want multi language then you'll need to set symbolic links (keys)

# Third Screen - select install type symbolic links (keys)  example:
selectbox(
  "<~selectromsetuptype>",
  "<~pleaseselectromsetuptypebelow>",
  "icons/install",
  "type.prop",
  
 "<~stockorcustomizeinstall>","",2,
  "<~customizeinstall>",
  "<~iospiyp>",1,
  "<~defaultstockinstall>",
  "<~idsrpiyp>",0
	
);





en.lang (in langs folder)

selectromsetuptype=Select ROM Setup Type
pleaseselectromsetuptypebelow=Please Select ROM Setup Type Below:
stockorcustomizeinstall=Stock Or Customize Install
customizeinstall=Customize Install
iospiyp=Install only selected packages into your phone
defaultstockinstall=Default Stock Install
idsrpiyp=Install default stock recommended packages into your phone

cn.lang (in langs folder)  has to be (UTF-8 file to see special letters cn, ar lang)

selectromsetuptype=選擇ROM安裝類型
pleaseselectromsetuptypebelow=請選擇下面的ROM安裝類型:
stockorcustomizeinstall=股票或自定義安裝
customizeinstall=自定義安裝
iospiyp=只有選擇的軟件包安裝到您的手機
defaultstockinstall=安裝默認的股票推薦
idsrpiyp=安裝默認的股票推薦到您的手機


setting up updater.script will be the hardest part to work out

# Deodex files

if
    file_getprop("/tmp/aroma-data/selectrom.prop","selected.1") == "1" &&
    file_getprop("/tmp/aroma-data/customize.prop","item.1.1") == "1" &&
    file_getprop("/tmp/aroma-data/deodex.prop","selected.1") == "1" 
	
then


i##---- Customize Packages
# Applications:
set_progress(0.7);
# app_adobe_flashplayer
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.1.1") == "1"
then
  ui_print("@  Installing Package: app_adobe_flashplayer");
  package_extract_dir("customize/app/deodex/app_adobe_flashplayer", "/data");
endif;


# app_adobe_reader
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.1.2") == "1"
then
  ui_print("@  Installing Package: app_adobe_reader");
  package_extract_dir("customize/app/deodex/app_adobe_reader", "/data");
endif;

# app_fbjreader 
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.1.3") == "1"
then
  ui_print("@  Installing  FBReader");
  package_extract_dir("customize/app/deodex/app_fbjreader", "/data");
endif;  

# app_social_facebook
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.2.1") == "1"
then
  ui_print("@  Installing Package: app_social_facebook");
  package_extract_dir("customize/app/deodex/app_social_facebook", "/data");
endif;

# app_twitter
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.2.2") == "1"
then
  ui_print("@  Installing Package: app_twitter");
  package_extract_dir("customize/app/deodex/app_twitter", "/data");
endif;

 # Tools & File Manager
   
# app_filemanager_estrongs
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.3.1") == "1"
then
  ui_print("@  Installing Package: app_filemanager_estrongs");
  package_extract_dir("customize/app/deodex/app_filemanager_estrongs", "/data");
endif;

# app_tools_backupeverything
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.3.2") == "1"
then
  ui_print("@  Installing Package: app_tools_backupeverything");
  package_extract_dir("customize/app/deodex/app_tools_backupeverything", "/data");
endif;
set_progress(0.9);
	
# htc_friendstream
if
  file_getprop("/tmp/aroma-data/customize.prop","item.4.1") == "1"
then
  ui_print("@  Installing Package: htc_friendstream");
  package_extract_dir("customize/app/deodex/htc_friendstream", "/data");
endif;


# htc_greader
if
  file_getprop("/tmp/aroma-data/customize.prop","item.4.2") == "1"
then
  ui_print("@  Installing Package: htc_greader");
  package_extract_dir("customize/app/deodex/htc_greader", "/data");
endif;

else
# Odex files

if
    file_getprop("/tmp/aroma-data/selectrom.prop","selected.1") == "1" &&  
	file_getprop("/tmp/aroma-data/type.prop","selected.1") == "1" &&
    file_getprop("/tmp/aroma-data/deodex.prop","selected.1") == "2"
	
then


i##---- Customize Packages
# Applications:
set_progress(0.7);
# app_adobe_flashplayer
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.1.1") == "1"
then
  ui_print("@  Installing Package: app_adobe_flashplayer");
  package_extract_dir("customize/app/odex/app_adobe_flashplayer", "/data");
endif;


# app_adobe_reader
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.1.2") == "1"
then
  ui_print("@  Installing Package: app_adobe_reader");
  package_extract_dir("customize/app/odex/app_adobe_reader", "/data");
endif;

# app_fbjreader 
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.1.3") == "1"
then
  ui_print("@  Installing  FBReader");
  package_extract_dir("customize/app/odex/app_fbjreader", "/data");
endif;  

# app_social_facebook
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.2.1") == "1"
then
  ui_print("@  Installing Package: app_social_facebook");
  package_extract_dir("customize/app/odex/app_social_facebook", "/data");
endif;

# app_twitter
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.2.2") == "1"
then
  ui_print("@  Installing Package: app_twitter");
  package_extract_dir("customize/app/odex/app_twitter", "/data");
endif;

 # Tools & File Manager
   
# app_filemanager_estrongs
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.3.1") == "1"
then
  ui_print("@  Installing Package: app_filemanager_estrongs");
  package_extract_dir("customize/app/odex/app_filemanager_estrongs", "/data");
endif;

# app_tools_backupeverything
if
  file_getprop("/tmp/aroma-data/mod1.prop","item.3.2") == "1"
then
  ui_print("@  Installing Package: app_tools_backupeverything");
  package_extract_dir("customize/app/odex/app_tools_backupeverything", "/data");
endif;
set_progress(0.9);
	
# htc_friendstream
if
  file_getprop("/tmp/aroma-data/customize.prop","item.4.1") == "1"
then
  ui_print("@  Installing Package: htc_friendstream");
  package_extract_dir("customize/app/odex/htc_friendstream", "/data");
endif;


# htc_greader
if
  file_getprop("/tmp/aroma-data/customize.prop","item.4.2") == "1"
then
  ui_print("@  Installing Package: htc_greader");
  package_extract_dir("customize/app/odex/htc_greader", "/data");
endif;

else


you would need this for each mod    mod1 (rom1), mod2, rom2)and mod3 rom3)


---------- Post added at 05:31 AM ---------- Previous post was at 05:03 AM ----------

Quote:
Originally Posted by Turge View Post
I'm currently having a problem with Aroma Installer on my ROM...

After updater-script has been installed, I click on Save Logs and it starts writing the .txt file in the same folder as the zip but it never completes.. it just hangs.

Any idea why this would happen? Is there a temporary location for the log file before it gets saved to the folder?
Turge do you have anything in updater script that uses /tmp folder?

like a alignment for /ext I had that issue when trying to add coole's alignment script, it messed with aroma installer and froze aroma when ypr press log or finish

---------- Post added at 05:57 AM ---------- Previous post was at 05:31 AM ----------

Quote:
Originally Posted by amarullz View Post
[INDENT]ROM That Already Uses AROMA Installer
If you release the ROM with AROMA Installer, please inform me here, I will add your ROM in this post.
UrDroid_2.0_CLK_MGLDR_EU_TMOUS_Runnymede_1.27.1400 .4_Sense_3.5_marc1706_0.2.0_kernel.zip

Using amarullz AROMA Installer DAHLIA - 2.00 - NIGHTLY BUILD 120414-010
Multi Language "English,Indonesian,Espanol,Simplified Chinese,Arabic,French,
Russian,Italian,Dutch,Polish,Serbian

12 languages ( I'm sure google made mistakes, not me ) also I'm sure there or maybe better ways I could have done the script's

test run of just aroma installer (Just a Dummy Updater Script, Updater Script Does not Install Anything)

UrDroid_2.0_aroma_script_test_META-INF.zip
The Following 2 Users Say Thank You to carl1961 For This Useful Post: [ Click to Expand ]
 
dk_zero-cool
Old
#725  
dk_zero-cool's Avatar
Recognized Contributor
Thanks Meter 4387
Posts: 3,267
Join Date: Nov 2010
Location: Horsens
Quote:
Originally Posted by amarullz View Post
3 is disabled
Your kidding? :D
I just made a bunch of if and else for each setting.

But thx, will edit my script then

Sent from my HTC Desire using xda premium
Device: Samsung GT-I9300
----------------------------------

 
dk_zero-cool
Old
#726  
dk_zero-cool's Avatar
Recognized Contributor
Thanks Meter 4387
Posts: 3,267
Join Date: Nov 2010
Location: Horsens
@amarullz

The disable option works fine, however just a small issue.

Let's say I have a selectbox with 6 items, and in some cases either option 5 or 6 or both might be disabled depending on certain settings.

If option 5 is disabled while option 6 is enabled, then option 6 will become option 5 in the prop file. Since I only have two options that can be either disabled or enabled, it is easily handled by a simple iif() function. But in more complex situations it would be easier if the option numbers was kept original in the prop file.

And for people using the prop file in the updater-script (I create custom prop from within Aroma using variables), it might be a good idea to append the number 3 (disabled) to the disabled options. That way people don't get errors trying to fetch none existing properties.

Just some ideas for the otherwise brilliant installer
Device: Samsung GT-I9300
----------------------------------

 
varun.chitre15
Old
#727  
varun.chitre15's Avatar
Recognized Contributor / Recognized Developer
Thanks Meter 9152
Posts: 2,778
Join Date: Oct 2011
Location: Sangli

 
DONATE TO ME
@amarullz
Yippe Yippe!
At last with the 1.64 build my problem is solved!!!
Now resolution is superbly fine!!!
Now I can proceed my development with peace

Sent from my Micromax_A70 using Tapatalk 2
Official CyanogenMod Maintainer



 
Th3Bill
Old
#728  
Th3Bill's Avatar
Senior Member
Thanks Meter 8957
Posts: 5,803
Join Date: Feb 2012
Location: West Palm Beach, FL

 
DONATE TO ME
Works great on MIUI for Photon 4G Thanks for the great installer!
 
varun.chitre15
Old
#729  
varun.chitre15's Avatar
Recognized Contributor / Recognized Developer
Thanks Meter 9152
Posts: 2,778
Join Date: Oct 2011
Location: Sangli

 
DONATE TO ME
But still some glitches.
Please see these shots









Previously as the dimensions were big so couldn't verify touch as the UI is perfect now(these glitches )just got to know touch is not working and only softkeys are working.

Waiting for help

Sent from my Micromax_A70 using Tapatalk 2
Official CyanogenMod Maintainer



 
Jabbacks
Old
#730  
Member
Thanks Meter 0
Posts: 44
Join Date: Aug 2011
Hi guys, do you have other links besides the ones posted. I'm having problem with dl.xda-developers... It takes a while to read and when download is ready, it gives server errors. I tried the nightly, no luck.

Scripts seen here are quite impressive. I'm sure you have 1 for Exhibit II.

Thanks....

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