yashsingh1/xdaforums huggingface dataset:
[Touch Diamond, MDA Compact IV ROM Development] donsalari:
Thanks :) and which white box?

@cliffordsyoung : thanks for the game and chome editor bro :)

That happened to me too. But can u confirm for the new version?

I worked a lot for it. Was writing my own program. But need to start a new process for it. and trust me its not worth it. Takes RAM. Left the program half way thru.

Which setting panel bro? for TF3D2 its already there.

@thangkls: Thanks for the link mate.. :D

Sorry bro i really don't understand portuguese . :)

FB sync added in the new version.

I am using radio Diamond Radio 1.11.25.1
[Touch Diamond, MDA Compact IV ROM Development] donsalari:
Anyone else facing this prob? I didnt.. check the scrrenshots in the 2nd post.

You can change the sensation with advance config bro. Its not the feature of the .17 build. Its done by Thuduk.

And i am having insane battery life with this ROM.

Check post#14 :)

I'll consider your suggestion and a make a ROM with .17. Thanks bro :)

1. I dont have a bluetooth head set to try :( . but did u check the new version of the rom?

2. That issue is killing me. !! Give me some more time bro..

3. People are using opera without any problems.!

visual kitchen is the best!!! :)

And what extra feature you want?

You can download it from xda. Just use the search button.. You'll get plenty of results.. :)

Yes they are the finger menus :D

Of course you can convert. I'll PM you soon. :)
[Touch Diamond, MDA Compact IV ROM Development] edge2861:
Thnx my Friend!

Downloading now, I'll test this new Rom maybe tomorrow. Thank you, my Friend!!!
[Touch Diamond, MDA Compact IV ROM Development] jodeltje:
1. trying it right now

2. take your time :)

3. it finally started working when I tried a omnia build...

will report back with the results :D

UPDATE:

1. wifi sharing & stereo bluetooth not working at the same time (opera & stereo bluetooth is somehow)

2. just disabled the internet tab... not really faster than pressing start>opera anyway

3. still working

so I'm happy with this ROM :) minor glitches, but all in all a great ROM! thank you very much!
[Touch Diamond, MDA Compact IV ROM Development] v88p:
Hi, I have downloaded ROM Built 23009WWE, which looks very impressive thanks!!

I was wondering which hard spl you recomend for this rom ( i have Olinex unsigned 1.40)?

Also, does it matter what radio is used with this rom, I have read in your thread which rom you use, but you are in india so does it make a difference?

Thank you very much!!!!!!
[Touch Diamond, MDA Compact IV ROM Development] jodeltje:
what are the menu enhancements in v3? haven't noticed anything different :confused:
[Touch Diamond, MDA Compact IV ROM Development] GMKcz:
Just small tweak when using custom status icons:

How to disable line 1/2 icon and left-soft-key notification in today screen?

solution: http://xdaforums.com/showpost.php?p=1624556&postcount=10

EDIT: AHA - its only part solution - it is really appears when soft reset :( .. cooker - is it possible to make some exe that could be runned every boot up every time and make that registry change? thx very much ;)

its finger friendly system menus - for example in sms press right soft key - menu is now finger-scroll-able and buttons are now bigger

I like it so much :)
[Touch Diamond, MDA Compact IV ROM Development] khal-shaliz:
just installed version 3.0 but i can't see any difference... has anyone installed the new version and can tell me if there are? Could it be the link in the first page is not working properly?
[Touch Diamond, MDA Compact IV ROM Development] teonivalois:
VideoCall

Is there any way to make videocalls with this rom? I can't find out how to...
[Touch Diamond, MDA Compact IV ROM Development] lightsailpro:
new issues - sms sound notification, counter, direct push mail

--Just noticed that the SMS counter does not work. Also no any sms notification (play sound vibrate) although I can get the message. Tried to disable threaded SMS using advanced configuration tool. It seems that I can only get sound notification after reboot with a sms in queue.

--Exchange push mail does not work when setting frequency to "as item arrived". This may have something to do sms. Also no counter for the outlook email.

Does anyone else experience these problems?
[Touch Diamond, MDA Compact IV ROM Development] jodeltje:
nope... working fine for me.

still have no idea what is different in v3, the menu enhancements were already there in earlier versions, anybody?
[Touch Diamond, MDA Compact IV ROM Development] khal-shaliz:
in the v3 ther should be the facebook engine activated and tweeter, from what it says in there:

But i'm unable to find this changes.
[Touch Diamond, MDA Compact IV ROM Development] GMKcz:
i cant see Facebook Engine in v3 :(

can you give me some advice? .. thanks a lot!!
[Touch Diamond, MDA Compact IV ROM Development] donsalari:
People the changes made in version 3 are not visible in the start menu or in the programs!

You can't see "Facebook Engine", but its intergrated in TF3D2.

Neither can you see Page pool.

But you can clearly see "Menu Enhancements".

Previously the menu was "BIG and THIN" because of m.carroll.

And now the menu is "BIG and WIDE" even if you disable m.carroll. [Will save RAM].

Adobe Flash and Flash codec are removed since they are hardlt used.

So the main thing in this ROM is : Even after integrating teeter, Facebook engine and Menu Enhancements the free space on main memory is maintained at 128mb!
[Touch Diamond, MDA Compact IV ROM Development] frankem:
My Diamond touch keeps resetting itself continously, so i want to return it bacause i still have warranty.

The SPL is however unsigned (Olnex 1.40 unsigned), so no warranty. I found a guide for restoring the stock SPL, but i can only get into the bootloader, not into the OS to run the SSPL-utility.

Is there a way to restore the stock SPL in the bootloader? I tried several times, but the current SPL is write-protected :(
[Touch Diamond, MDA Compact IV ROM Development] frankem:
Fixed it with mtty:)
[Touch Diamond, MDA Compact IV ROM Development] sabes143:
Hi

You have to start flash the stock spl from windows mobile and AS/WMDC and not from Bootloader

Goodluck
[Touch Diamond, MDA Compact IV ROM Development] gede@nkm.lt:
how to flash spl from original to remaked with mtty?
[Touch Diamond2, Pure Accessories] colonel:
Can anyone recommend any good cases for the compact V.

I ordered a noreve case for the diamond 2. Bit disappointed with the quality of noreve given their price. Also didn't fit properly so i had to bend off the bottom metal clasps.

Anyone know any leather flip cases specially made for the Compact V, or recommend any upmarket pouches ?

thanks
[Touch Diamond2, Pure Accessories] fibb:
I did a bit of looking around for cases that fit the TD2 (assume the compact v is the same shape), ended up getting a Proporta Aluminium Lined Leather Case from amazon, costing £23.43. This case offers a resonable amount of protection, without adding hudge amounts of bulk.

http://www.amazon.co.uk/Proporta-Al...1?ie=UTF8&s=electronics&qid=1250683306&sr=8-1

I also picked up a cheap halfords car vent mount and a usb - charger lead to use while mobile, I find the speaker is loud enough for my car without needing an amplified mount. In order to fix the phone in the case securely when its in the vent mount (phone is only gripped from the sides), Ive run some thin fishing line through the battery cover and around the arms on the case, this locks it all togethr nicely, so phone can stay in its case while chargining in the vent mount.
[Touch Diamond2, Pure Accessories] noxide:
I doubt very much that Aluminium lined case will fit the Compact V as it does have a slightly different shape to the TD2
[G1 Android Development] ankn:
I've just installed the last porting of the cyanogen for my Magic 32a. I'm enjoining the idea behind the script fix_permissions. But, observing the structure of the files/folders in my /data/data/, I can see that it is not perfect.

It does chown the folders /data/data/NAME-OF-PACKAGE/ and the subfolders 'databases' and 'shared_prefs'.

Observing the typical contents of my /data/data/ I can see that some applications has further folders and some times also single files in /data/data/NAME-OF-PACKAGE/ that need a touch of chown.

For example:

/data/data/com.htc.android.mail/

drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 app_config

drwxrwxrwx 1 10021 10021 2048 Aug 18 09:00 app_mail_eas

drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 app_mail_temp

drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 app_temp

-rw------- 1 10021 10021 1048576 Aug 18 09:00 bufferFileForMailAP

drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 databases

drwxr-xr-x 1 1000 1000 2048 Aug 18 08:41 lib

drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 shared_prefs

You can test on your system by yourself:

for APP in /data/data/* ; do echo -e "\n$APP" ; ls -l $APP ; done | more

I'm attaching an improved version that should fix the permissions on all the subfolders different than 'lib' and also on the single files.

I hope it works for you and that it can be included in the future firmwares.

UPDATE: in this thread, several users are making contributions to the original script (with a fast increasing version number :) ). There is also a report in the Cyanogen bug system: http://code.google.com/p/cyanogenmo...ID Type Status Priority Version Owner Summary

You should find there the last revision. Thanks to all for the contributions.
[G1 Android Development] farmatito:
Btw, I was wondering why we fix only userId and not also sharedUserId

as I'm quite sure I've seen them messed up sometimes after some of my to

ambitious experiments. Shouldn't be difficult to add support for that if there

is some evidence that it is a Good Thing(tm).
[G1 Android Development] ankn:
I don't understand the meaning of the parameter "sharedUserId". Some packages in packages.xml use the parameter "UserId", others the "sharedUserId" one. What's the difference?
[G1 Android Development] lbcoder:
shared user id is for the case when you have a program extended by another installable program in order to run in the same process:

http://developer.android.com/reference/android/R.attr.html#sharedUserId
[G1 Android Development] smeat:
Another improvement could be to fix the file modes as well. I have noticed that sometimes the user permissions on files and directories in /data/data get removed.

Then you get FCs with an sqlite error like below:

sqlite3_open_v2("/data/data/com.xta.foodmkt/databases/Hungry.db", &handle, 6, NULL) failed

The below commands fixes the access errors:

find /data/data -type d -exec busybox chmod u+rwx {} \;
find /data/data -type f -exec busybox chmod u+rw {} \;
[G1 Android Development] ankn:
I'm attaching another version with support to packages with sharedUserId; fixed the remount mechanism that doesn't work on the other firmware that I'm actually using (HoFo).
[G1 Android Development] ankn:
This code should fixes all the permission-related problems but it is too risky from the security point-of-view.
[G1 Android Development] farmatito:
Why risky, if i understand it right:

directory: 700 (owner only can read, write or enter directory)

files: 600 (owner only can read or write file)

Where is the risk?

You can also use:

chmod 700 directory

chmod 600 files
[G1 Android Development] smeat:
It doesn't even go that far, it ADDS the owner to the permissions, not reset them to just the owner having permissions.
[G1 Android Development] farmatito:
This in my opinion is far more risky than doing

a chmod for the owner only at least in the case

that the permissions are messed up for whatever

reason as some insecure settings will not be corrected

that way, e.g.:

permissions are wrongly set to 666 or 777

than you do chmod +urwx file and the result

will continue to be an insecure setting 666 or

677 that doesn't enforce isolation between apps.

BTW, by looking at ls of /data/data it seems to

me that all folders have 755 permissions so

chmod 755 folder should be safe. For the deeper level:

/data/data/app 755
/data/data/app/files 700
/data/data/app/lib 755
/data/data/app/shared_prefs 771

but I have not the time right now to check all subfolders

to see if there are exceptions to this default settings.
[G1 Android Development] ankn:
This is true. Sorry!
[G1 Android Development] smeat:
fix_permissions is not about removing permissions and never has been from what I can tell. Currently it just goes through the /data/system/packages.xml and finds the listed owner of the /data/data files and then changes ownership of the files and directories.

I am talking about adding an additional chmod to make it so that file and directory owners are added as being able to read/write to the files they own. I have seen an issue were running something made it so that a ton of my application sqlite databases had file permissions of 060. When this happens you get the error I posted originally: sqlite3_open_v2("/data/data/com.xta.foodmkt/databases/Hungry.db", &handle, 6, NULL) failed. Even though the group write and read bit are set and the group is correct the error above happens. Adding the owner back as having read/write permissions fixes this error.

Again, adding permissions to only the user/owner of the files and directories does not open the files up to being written by other processes on the phone.
[G1 Android Development] farmatito:
I know. I was trying to improve the concept of fix permission as you can not know

in advance how the permissions could have been messed up. So it would be better

to enforce some sane defaults rather than to add some hacks to fix a specific problem.

This obviously is only possible if there are some patterns in file and folder permissions of /data/data.

That is what i will try to find out.
[G1 Android Development] smeat:
Ahhh, sorry I misunderstood what you were getting at.

If you run:

find /data/data -type f -exec ls -l {} \;

Will tell you what all the files are currently set to.

A run of:

find /data/data -type d -exec ls -ld {} \;

Will list the current directory permissions.

What I can find is that any /sslcache directory is 700, /lib 755 and owned by 1000:1000, /database 771, /shared_prefs 771, But I have some apps with 700 directories for everything.

Here is a table for /data/data/app, format: directory/file, permissions, ownership

Directories:

/database 771 appuser:appgroup

/lib 755 1000:1000

/shared_prefs 771 appuser:appgroup

/sslcache 700 appuser:appgroup

/anythingelse 771 appuser:appgroup

Files:

/database/* 660 appuser:appgroup

/lib/* ??? ??????, never seen any files in these directories.

/sslcache/* 600 appuser:appgroup

/shared_prefs/* 660 appuser:appgroup

/anythingelse/* 660 appuser:appgroup

Does this align with what you are seeing? If so we can adjust the script to apply these permissions to the files and directories more selectively.
[G1 Android Development] igashu:
I was actually wondering about this very thing yesterday. Is there some reason why the initial script only changed the permissions of databases and shared_prefs?

I'm trying to think of a scenario in which you wouldn't just want a recursive chown, but especially in the case of wiping and then copying back data directories, having ALL the subdirectories owned by the app's uid seems preferable to having any of them owned by the wrong uid.
[G1 Android Development] farmatito:
So far this is what i've found:

/data/data/pkgdir uid/gid 755
/data/data/pkgdir/lib system/system 755
/data/data/pkgdir/databases uid/gid 771
/data/data/pkgdir/databases/*.db uid/gid 660
/data/data/pkgdir/shared_prefs uid/gid 771
/data/data/pkgdir/shared_prefs/*.xml uid/gid 660
/data/data/pkgdir/cache uid/gid 771
/data/data/pkgdir/cache/* uid/gid 771

The only differences are in the anythingelse part wher I have found

all possible combinations of permissions, but I suspect that these files

and dirs are setup by the apk at runtime as no reference could be found

for them in the apk package nor in the installd source code.

So i think it would be a big improvement to try to fix this standard dirs and their

contents with ownership and permissions as shown above.

This could save a lot of headaches to users and devs. Single apps with

exotic permissions could always be reinstalled or fixed manually.
[G1 Android Development] farmatito:
In script 1.3 you should change:

cat /data/system/packages.xml | grep "^<package" | grep userId

to

cat /data/system/packages.xml | grep "^<package" | grep serId

as else no packages with sharedUserId will be found
[G1 Android Development] smeat:
Yeah, I was assuming on the /anythingelse.

Alright here is my shot at this modification. Not much of a coder... so be gentle. ;)
[G1 Android Development] smeat:
I created an issue for this on the code.google.com cyanogenmod site. thenefield posted some changes and I have integrated them into a new script.
[G1 Android Development] ankn:
In your rewrite of the script, you forgot to apply the chown to the subfolders that are different than 'databases' and 'shared_prefs' as well as to the single files in the application-root. Look at my first post in this thread: these cases exist and we have to deal with them. In other words: you reverted my changes.
[G1 Android Development] smeat:
Ooops, dang you're right. Here's a version with that added back.

Disregard the file below, fixed a framework error.
[G1 Android Development] farmatito:
Hi, here a little improved version:

# v1.6 - Don't mess with user's sdcard, log to it if present or to /data/data/ if not present [by farmatito]

# v1.7 - Simplify and improve readability of script a little, enforce safe default permissions where possible [by farmatito]

# v1.8 - Make sure we choose busybox applets when system binaries with the same name are available [by farmatito]

# Some more improvements i've forgotten.... :-(

It needs a little more testing as I could it test only in the emulator because

i need my phone for work at least until the end of the week.
[G1 Android Development] :
Too many versions! :)

The 1.8 of farmatito doesn't have the features restored in the 1.6 of smeat.

Please, coordinate the development.

The final version should be uploaded in the bugtrack system of cyanogen.
[G1 Android Development] smeat:
Correct 1.6 version.
[G1 Android Development] farmatito:
Will add the missing features this evening when I'm back home.

Please be aware that current 1.6 has some problems:

1) could possibly fail when system programs with the same name as busybox

applets exist and are earlier in path due to unsupported options (e.g. ls -ld)

2) if sdcard is unmounted the log will be written to /sdcard dir and

overmounted at reboot and so it will not be available

3) tee -a will show a error if the log file doesn't exist as it coudn't append to it

*) there was something else, but can't recall it right now.

If everybody agrees i would ask the other developers to test my current

1.8 to find any other hidden bugs so that after adding the missing feature

this evening we could restart development from a common code base

or maybe release it as stable version.

Ciao and thanks in advance,

farmatito
[G1 Android Development] smeat:
Hahah, funny to have too many people working on something.

Here is farmatito's 1.8 with:

ankn's fixes integrated.

The private apps should still be the group of the application.

Fixed changing ownership message file path
[G1 Android Development] smeat:
I have uploaded a 1.9 based off your version with additional fixes, and the missing features readded. I think we have a really good base here now.
[G1 Android Development] farmatito:
;-) that was fast !!!

Good work.

P.S.: just one thing i wanted to add as I'm not sure if the script already does it:

chmod 755 /data/data/$PACKAGE/lib
[G1 Android Development] smeat:
OK, I added that to 1.10 below. :-)

chmod /data/data/$PACKAGE/lib to 755

chown /data/data/$PACKAGE/lib to 1000:1000

a little more sanity checking for if directories exist
[G1 Android Development] farmatito:
Fine!

Could you please also check:

OLD_UID="`$LS -ln $entry | $TR -s ' ' | $CUT -d ' ' -f3`"

else

OLD_UID="`$LS -ldn $entry | $TR -s ' ' | $CUT -d ' ' -f3`"

and

OLD_GID="`$LS -ln $entry | $TR -s ' ' | $CUT -d ' ' -f4`"

else

OLD_GID="`$LS -ldn $entry | $TR -s ' ' | $CUT -d ' ' -f4`"

as i suspect that -ln -lnd must be reversed e.g.:

OLD_UID="`$LS -ldn $entry | $TR -s ' ' | $CUT -d ' ' -f3`"

else

OLD_UID="`$LS -ln $entry | $TR -s ' ' | $CUT -d ' ' -f3`"

Sorry for the inconvenience, but I'm at work right now and have no means to test it myself.

Ciao,

Tito
[G1 Android Development] farmatito:
if [ -d /data/data/$PACKAGE ]; then
OLD_UID="`$LS -ldn /data/data/$PACKAGE | $TR -s ' ' | $CUT -d ' ' -f3`"
OLD_GID="`$LS -ldn /data/data/$PACKAGE | $TR -s ' ' | $CUT -d ' ' -f4`"
if [ $OLD_UID != $UID ]; then
echo "$UID_MSG /data/data/$PACKAGE from '$OLD_UID' to '$UID'" | $TEE -a $LOG_FILE
$CHOWN $UID /data/data/$PACKAGE
fi
if [ $OLD_GID != $GID ]; then
echo "$GID_MSG /data/data/$PACKAGE from '$OLD_GID' to '$GID'" | $TEE -a $LOG_FILE
$CHOWN :$GID /data/data/$PACKAGE
fi
fi
if [ -d /data/data/$PACKAGE ]; then
chmod 755 /data/data/$PACKAGE
fi

You can move

chmod 755 /data/data/$PACKAGE

into the previous if statement so you don't need to retest for it.
[G1 Android Development] prettyboy85712:
ankn,

How about updating your first post with a history? Makes things easier to follow.
[G1 Android Development] smeat:
Here is 1.11 with these changes:

logging of /data/data/$PACKAGE/lib

check if /data/data/$PACKAGE/lib needs be changed

fixed ls on chown
[G1 Android Development] :
Done, but it doesn't make sense to insert the last version in the first post. Too many versions with a fast evolution. Please, keep the last version in the Cyanogen bug reporting system.
[G1 Android Development] chevycowboyusa:
no adb

Hi all! Great work here. Iv'e read all the posts and would like to try this.

Can this be pushed thru terminal?

If yes, what are the commands? I have some notes on standard file pushing to follow.

Just like to see if there might be different commands from what I have.

Thanks
[G1 Android Development] cyanogen:
I'll definitely be including this in the next recovery image, which will be soon. Need to add a way to install different boot.img files depending on the hardware.
[G1 Android Development] smeat:
1. Download the newer fix_permissions script that others and myself have been working on.

2. adb shell mount -o remount,rw /dev/block/mtdblock3 /system

3. adb push fix_permissions_1.11.txt /system/bin/fix_permissions

4. adb shell busybox chmod 755 /system/bin/fix_permissions

5. adb shell mount -o remount,ro /dev/block/mtdblock3 /system

6. adb shell fix_permissions
[G1 Android Development] chevycowboyusa:
SWEET!

Sorry Smeat, I dont have ADB. But I did it through Terminal.apk (side note, cant i just remove the adb shell and cp instead of push?)

You all have done a great job!

Thanks Cyan! You've been doing a really great job at all of this! Please tell your wife she's appreciated too! If she's anything like mine, she probably competes with your computer! :o)

I was able to do this through terminal. I pushed the file to /system/bin. then ran it. seemed to work well. there were a few files that said they dont exist and to reinstall the applications. I'd give you a log, but I haven't got a clue how to.

Thanks again!
[G1 Android Development] smeat:
Yeah, if you download it to your G1 you can just run the remount rw, copy, chmod, remount ro, and then run.

The ones that said they don't exist are applications that were installed and are in your packages.xml but are no longer on your system, usually from themes or another ROM.

You can post your /sdcard/fix_permissions.log if you would like.
[G1 Android Development] chevycowboyusa:
Fix permissions log

How do I clean out the Packages.xml ?

thanks!
[G1 Android Development] smeat:
Here is an attempt at optimization:

* Reduced the number of finds down to one

* chown and chmod actions reduced to a single loop

* bug fixes and code clean up

It still takes quite awhile to complete, but I think that should be fine.
[G1 Android Development] farmatito:
Minor cosmetic changes.