yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] dima_sk8er:
Yeah! It now works on Galaxy Nexus :) But touchscreen doesnt work properly. Touchscreen is quite buggy.
[Android Software/Hacking General [Developers Only]] carl1961:
en.lang

...

changelog=changelog/en.txt

...

Then use:

resread(lang("changelog"));

this worked perfect, made all languages there own change log, named the the language name (en.txt,ru.txt,id.txt.....) made a folder changelog and put them all in there
[Android Software/Hacking General [Developers Only]] grayn0de:
AlterROM for HTC Supersonic has been using AROMA for the last couple versions.
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
@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.
[Android Software/Hacking General [Developers Only]] tantrums:
Thanks. I will update my ROM to this version. :D
[Android Software/Hacking General [Developers Only]] jokersax11:
Nvm. Awesome work btw. I can finally put my super rom together.
[Android Software/Hacking General [Developers Only]] swagstr:
I need a little assistance :D

My goal is to provide several different ROMs in one Aroma zip. However, I want a different mod.prop for each different ROM. It appears I need to create each mod.prop no matter what to not piss off the updater-script. I tried that, but I'm getting: can't stat sosx.prop (the first custom mod.prop located in updater-script. I need help! Lol.

My aroma-config: http://db.tt/J4d16qeV

My updater-script: http://db.tt/dK3lY6PK

I'm open to all suggestions. Thanks in advance!
[Android Software/Hacking General [Developers Only]] jokersax11:
I'm doing it by modifying the default minimal custom page. So default can be rom 1, minimum can be rom 2, etc
[Android Software/Hacking General [Developers Only]] swagstr:
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 :)
[Android Software/Hacking General [Developers Only]] jokersax11:
Maybe a master prop. Each screen could be a section of that master prop and of its own.
[Android Software/Hacking General [Developers Only]] amarullz:
3 is disabled :D
[Android Software/Hacking General [Developers Only]] Turge:
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?
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
Your kidding? :-D

I just made a bunch of if and else for each setting.

But thx, will edit my script then :)
[Android Software/Hacking General [Developers Only]] dk_zero-cool:
@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 :)
[Android Software/Hacking General [Developers Only]] varun.chitre15:
@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 :D :D :D
[Android Software/Hacking General [Developers Only]] Th3Bill:
Works great on MIUI for Photon 4G :) Thanks for the great installer!
[Android Software/Hacking General [Developers Only]] varun.chitre15:
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
[Android Software/Hacking General [Developers Only]] Jabbacks:
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.... :cool:
[Android Software/Hacking General [Developers Only]] Turge:
Yup.. using the /tmp folder like crazy. :D

I'll try creating a different folder and using it as temp to see if it fixes it. Thanks.
[Android Software/Hacking General [Developers Only]] tantrums:
Wow 12 languages, I would like to test your 12 languages. But I cannot download the dummy. It says "Invalid ID"
[Android Software/Hacking General [Developers Only]] denkext:
anybody knows how to fit this installer to ldpi devices? eg. Galaxy Mini (240x320)

i mean the resolution / dimension

thanks in advance
[Android Software/Hacking General [Developers Only]] darkmantra:
Hi everyone, hope someone can help on my script. Been trying this to run on my phone this past few days and no luck that my script is getting executed. I replace the update-binary-installer with the one from my previous working rom and download the latest v1.64. Somehow just after I select the last option it shows Installing but after few sec 3 or 5 i think it just ended and it looks like nothing happen.
[Android Software/Hacking General [Developers Only]] anryl:
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."

)

);
[Android Software/Hacking General [Developers Only]] Turge:
In your updater-script, you have if... else... endif

AFAIK, ifelse is used like this:

ifelse(condition,true,false);

From what I noticed so far, if you have more than 1 expression for true, they need to be surrounded with brackets ()

so:

ifelse (file_getprop("/tmp/aroma-data/wipe.prop","selected.1") == "1",
( ui_print("@ >>> Executing Super-Wipe Script");
ui_print(" ");
ui_print(" Sensation Super-Wipe Script ");
),
ui_print("@ >>> Skipping Super-Wipe");
);

This works as well:

ifelse(condition1 || condition2,true);
ifelse(condition1 || condition2,true,false);
ifelse(condition1 || condition2,,false);

I didn't check the rest of your code. I ran into these problems myself though and here are some ways I resolved it:

1. Save and evaluate the logs after it's done installing and view it via ADB Shell (cat /sdcard/rom.zip.log.txt)

2. Reduce the size of your updater-script to make it easier to pinpoint the problematic code (eg. remove sections you have already identified to be working)

3. Comment out (#) all the commands that perform actions (find & replace "run_program" with "#run_program", "format" with "#format") and create a ZIP with just the META-INF folder. Once you're done modifying and saving updater-script, recreate the ZIP (should be about 2MB's in size) and push it to your phone to quickly run through to identify any errors. This is the same way I created my aroma-config script.
[Android Software/Hacking General [Developers Only]] darkmantra:
Maybe would try this option first. Thanks

Now im a bit confuse on ifelse statement, most of the roms is using the same if else statement i used :confused:

SELF RESOLVE ALREADY.. THANKS FOR YOUR TIME PEEPS.
[Android Software/Hacking General [Developers Only]] carl1961:
fileswap server was messed up for every on Now it is back working:D
[Android Software/Hacking General [Developers Only]] tantrums:
You're awesomely patient, Carl. :) I checked on the files and I understand that it will really be too tedious translating to many languages, all googling and translations. :eek:

Maybe I will just stick to English for the meantime. :)
[Android Software/Hacking General [Developers Only]] varun.chitre15:
BUMP!!!!

WAITING FOR HELP STILL :(
[Android Software/Hacking General [Developers Only]] amarullz:
For anyone who eagerly want to test my next new project. Please flash this zip (Not flash anything) http://bit.ly/HuHKaZ -> aromafm.zip.

It was Recovery based File manager. Not any functions (copy,delete,cut,paste) works... But you will get new AROMA UI's, like new IME to edit the text in New Folder button, File List, Toolbar, Icons Button & Menu. Etc...

Works on this project will also improved AROMA Installer and vice versa... Hope you like it :D...

Please try the filemanager,.. If it run well, I will update the AROMA Installer code... There is some improvement in framebuffer engine in FileManager that not yet implemented in AROMA Installer
[Android Software/Hacking General [Developers Only]] varun.chitre15:
The file manager is working on Micromax A70 nicely.

Will test on A60 on which the framebuffer issue occurs and will post the pics here in a while :)

Awesome Job once again :D :D :D
[Android Software/Hacking General [Developers Only]] FBis251:
Man, you have some awesome projects going on!
[Android Software/Hacking General [Developers Only]] Bologna:
tested for sg2

it works!

But only after calibration...touch was unresponsive before that

Perhaps it's better to specify that we are also able to use hw buttons...as vol+ or vol- to change the default no choise and central button to move one and start calibration

btw file manager is awesome! But very laggy atm

Keep up the good work!! :)
[Android Software/Hacking General [Developers Only]] amarullz:
What is laggy? Is it touch screen or drawing/graphic?.

I add draw item onfly to make it faster on loading huge list of filesystem, but filelist items may not drawed yet when you scroll it.
[Android Software/Hacking General [Developers Only]] Bologna:
Touch I think...

tryed again one more time now...calibration was very difficult. At each point I've pressed ten or more times to have recognized my touch...
[Android Software/Hacking General [Developers Only]] amarullz:
Ok,.. It's ok about touch, I can include the right value for device calibration data, or maybe fix the calibration method... So there is no laggy in graphics or scrolling?
[Android Software/Hacking General [Developers Only]] Bologna:
who knows...there is a lag scolling down menu, but can't be related to a touch delayed responsiveness? Opening folders is very fast
[Android Software/Hacking General [Developers Only]] kinghunki:
"Aroma 2.00 alpha 7" I have been successfully used in "Sensation" Thank you very much.

Very much looking forward to, also very much like to help you test. . .

Hope can help you test new aroma
[Android Software/Hacking General [Developers Only]] grayn0de:
Is there any way to perform any of the usual updater-script functions from within the aroma-config? For instance, at a certain time during the AROMA UI (governed by a conditional statement), I want to do the following:

1: Mount a partition

2: Copy a script to /tmp

3: chmod the script

4: run the script

5: unmount the partition

Is this possible?
[Android Software/Hacking General [Developers Only]] FBis251:
All 5 of those are possible. Take a look at the example aroma-config file that is included with the latest aroma release.

---------- Post added at 12:43 PM ---------- Previous post was at 12:36 PM ----------

I'm also having this problem. Install happens fine, I click on Save Logs and the installer freezes. I have to do a reboot with adb before anything happens. The log file DOES get saved partially though.

Here are my aroma-config and upater-script files:

https://github.com/teamacid/SGS4G-Installer/blob/master/META-INF/com/google/android/aroma-config

https://github.com/teamacid/SGS4G-Installer/blob/master/META-INF/com/google/android/updater-script
[Android Software/Hacking General [Developers Only]] grayn0de:
Perfect. Thanks! I missed the resexec(); function somehow. :rolleyes:
[Android Software/Hacking General [Developers Only]] jokersax11:
OK so cwm's installer script isn't stable enough to flash items over each other. Is there a way to write everything to tmp or ram then move only once
[Android Software/Hacking General [Developers Only]] Turge:
I'm still having this issue. I stopped using tmp and created my own temp folder and it still won't save the log. I think there may be a max size for the log so ill have to test by removing most of the files in my rom to narrow it down..
[Android Software/Hacking General [Developers Only]] jokersax11:
You could break it up into bash scripts and use exit codes.
[Android Software/Hacking General [Developers Only]] Turge:
After an hour of commenting almost every line of my updater-script, I narrowed it down to the use of "fsck.ext4" after formatting the partitions. Commented out the commands and I'm now able to save the logs.
[Android Software/Hacking General [Developers Only]] amarullz:
How long (size) is your untrimmed logs? I hope I can fix it..
[Android Software/Hacking General [Developers Only]] Turge:
Something that binary is doing is impacting the ability to save the logs.

Once I finally got a log created, it was 66KB in size.

BTW, where does the log get cached before it gets saved anyways?
[Android Software/Hacking General [Developers Only]] amarullz:
OK,.. Try with this 2.00-DAHLIA Test version... replace your "update-binary" with the one in this attachment (Extract it first).... Hope it fix your problem :D

TRY WITH YOUR BIG LOGS :)

CHANGE: Change copy method...
[Android Software/Hacking General [Developers Only]] Turge:
Can you re-attach the file? The downloaded file is less than 1KB in size. I've seen this a few times on XDA in the past few days...
[Android Software/Hacking General [Developers Only]] amarullz:
Here I reuploaded it...
[Android Software/Hacking General [Developers Only]] Turge:
Same problem... can you download the attachment? I've tried from 2 devices so far.

---------- Post added at 11:06 PM ---------- Previous post was at 11:04 PM ----------

Actually, the contents of the downloaded file are:

<html>
<head>
<title>404 Page Not Found</title>
<style type="text/css">

body {
background-color:	#fff;
margin:	40px;
font-family:	Lucida Grande, Verdana, Sans-serif;
font-size:	12px;
color:	#000;
}

#content {
border:	#999 1px solid;
background-color:	#fff;
padding:	20px 20px 12px 20px;
}

h1 {
font-weight:	normal;
font-size:	14px;
color:	#990000;
margin:	0 0 4px 0;
}
</style>
</head>
<body>
<div id="content">
<h1>404 Page Not Found</h1>
<p>The page you requested was not found.</p>	</div>
</body>
</html>

XDA is definitely having some attachment problems.
[Android Software/Hacking General [Developers Only]] benjamingwynn:
Lol upload to mediafire or sommin. Smooth one XDA ;)
[Android Software/Hacking General [Developers Only]] nozzap:
When will the full version 2.0 Aroma, and not a beta?
[Android Software/Hacking General [Developers Only]] kinghunki:
After downloading the size is not right, cannot open, only then 540B.
[Android Software/Hacking General [Developers Only]] amarullz:
Here the mirror: http://www.amarullz.com/_downloads/nightly/dahlia/binary-only/

The feature list for 2.00 already final.

I just want to make sure that it was already mature and stable enough. Due to implemented new core library like truetype/freetype, utf8, multilanguage, etc, I need more feedback from users.

But as far for now, I can say 2.00 is stable enough. Speed and stability was comparable with 1.6x. It just need some more time or maybe some more tweaks to make it more bugs free.

I think 2.00 already in Release Candidate status (But I don't use that version method for AROMA Installer).

Users still using 1.6x version due to it's minimalist, and I still maintenance it.
[Android Software/Hacking General [Developers Only]] FBis251:
Aha! That would makes sense. Maybe it's one of the lines that the fsck.ext4 binary is producing. Hmm. CWM's log doesn't have that though, so it would most likely only be getting saved to AROMA's log buffer.
[Android Software/Hacking General [Developers Only]] nozzap:
How to set the default to make the Russian language from the calibration screen
[Android Software/Hacking General [Developers Only]] amarullz:
Not translateable... Why? I use hardcoded in it, you can modify the source code and translate it yourself.

But Why not translateable??... Calibration Tools wasn't created for end users, but for chef.

I am not encouraging any chef to show the calibration tools to his users. (

Actually, I just want to forbidden it

), because the result of calibration doesn't guaranteed works well, and user will only complain about suck touch screen (suck installer).

chef need adjust it's values for best of it's device.

How about multidevice?

I suggest, you read the system prop to find out which model currently used, then set the calibration based on it's model

example:

if sysprop("ro.product.model")=="bravo" then
calibrate("7.90","20","7.90","20");
endif;

if sysprop("ro.product.model")=="ace" then
calibrate("4.20","10","4.20","10");
endif;
[Android Software/Hacking General [Developers Only]] jokersax11:
How could I create a confirmation screen right before install? I want to basically summarize selections based on the prop values to provide better debugging and allow people to see what the default configurations come with, possibly even add a second chance to go with a customize option.

Edit I would also like to eliminate the installer script and let aroma do the installs but need a quick idea on how.
[Android Software/Hacking General [Developers Only]] FBis251:
Just use a viewbox or an agreebox. You can use vars to store the values you want your updater-script to use like this:

https://github.com/teamacid/SGS4G-I...230c/META-INF/com/google/android/aroma-config

Look at lines 39-43. I initialize all the variables there.

Look at line 304, I write out the vars using getvar to a new propfile that my updater-script reads. You can do something similar with a viewbox or agreebox since you'll be able to read the stored variables.

Something along the lines of this pseudocode:

Launcher: getvar("option_install_launcher")

Speed Mod: getvar("option_install_speedmod")

etc etc
[Android Software/Hacking General [Developers Only]] grayn0de:
I'm having some difficulty getting a script to run in the aroma-config. Wondering if I could get some assistance.

What I'm looking to do is:

1) Mount /sdcard

2) Check to see if two specific files exist

3) If they do, copy them to /tmp/aroma/

4) If not, alert user.

In my aroma-config, is:

if(prop("type.prop","selected")=="2") then
# check for previous .prop on SD
setvar("resexec_retstatus",resexec("updater/upgrade.sh"));
# if they don't exist...
if(getvar("resexec_retstatus")!="0") then
# alert user that upgrade is not possible and send them back to Installation Type screen
alert("No previous AlterROM configs!","Please perform a Clean Install.","@alert");
back(1);
else
# copy them to AROMA resource directory
resexec("updater/upgrade.sh");
endif;

and in updater/upgrade.sh is:

#!/system/bin/sh

# mount sdcard
mount -t auto /sdcard

if [ -d /sdcard/AlterROM ]
then
if [ -e /sdcard/AlterROM/mods.prop ]
then
/system/xbin/busybox cp /sdcard/AlterROM/mods.prop /tmp/aroma/
else
exit 1
fi;

if [ -e /sdcard/AlterROM/customize.prop ]
then
/system/xbin/busybox cp /sdcard/AlterROM/customize.prop /tmp/aroma/
else
exit 1
fi;

exit 0
else
exit 1
fi;

I'm sure the issue lies in the upgrade.sh, because the files never copy over and getvar("resexec_retstatus"); always shows 255.

Thanks in advance!
[Android Software/Hacking General [Developers Only]] RolluS:
Maybe that [ isn't linked to busybox binary.

Your updater/upgrade.sh , should be more reliable like this::

#!/system/xbin/busybox sh

# mount sdcard
mount -t auto /sdcard

if /system/xbin/busybox test -d /sdcard/AlterROM
then
if /system/xbin/busybox test -e /sdcard/AlterROM/mods.prop
then
/system/xbin/busybox cp /sdcard/AlterROM/mods.prop /tmp/aroma/
else
exit 1
fi;

if /system/xbin/busybox test -e /sdcard/AlterROM/customize.prop
then
/ system/xbin/busybox cp /sdcard/AlterROM/customize.prop /tmp/aroma/
else
exit 1
fi;

exit 0
else
exit 1
fi;

You need to be sure of the path to busybox.. You may have to mount /system also..
[Android Software/Hacking General [Developers Only]] FBis251:
+1. You should include one in your installer zip file. Just extract it to /tmp/ and you should be fine.
[Android Software/Hacking General [Developers Only]] RolluS:
Calling the applet by is name, test, is I think a more reliable solution ;-)

Btw, copying busybox to tmp from the zip is also a good idea ;-)
[Android Software/Hacking General [Developers Only]] grayn0de:
Thank you both! I got it working on the most basic level, so I'll make it more elegant from there. :D

in aroma-config:

if(prop("type.prop","selected")=="2") then
restotmp("busybox","busybox");
resexec("updater/upgrade.sh");

in upgrade.sh:

#!/tmp/aroma/busybox sh

mount -t auto /sdcard

/tmp/aroma/busybox cp /sdcard/AlterROM/mods.prop /tmp/aroma/
/tmp/aroma/busybox cp /sdcard/AlterROM/customize.prop /tmp/aroma/

exit 0
[Android Software/Hacking General [Developers Only]] Turge:
Amarullz, I tried the updated binary and uncommented the fsck.ext4 commands and was able to save the log files so the change you made fixed my problem. Thanks for your help!

Now, is it possible to auto-save the log file so that when a user experiences a problem with the ROM (after the install), I can just have them send it to me? Does it save the log to a temporary location during the updater-script process? If so, I could just copy it myself.

Thanks again.
[Android Software/Hacking General [Developers Only]] mrRobinson:
can't figure out won't install

ugh, i must be doing something stupid..

I have the aroma-config behaving just how I want and I see nothing wrong with updater-script...

However, after i go through the menus to install nothing gets installed. I see installer status (6), and don't know what that is. I try to save the log but it doesn't end up being saved. I was using the 1.64 but did try the 2.00 posted here as well. Orig I did not replace the update-binary-installer but since reading I have with the one from gapps and then tried another from a rom that flashes fine.

Nothing is helping so hopefully if someone can glance at my two config files they will see something stupid I am doing...

http://d-h.st/ZFf

thanks for any feedback.