let Android SMS messages show sent time instead of received time

how come all sms use received time as timestamp? for me it's very misleading, so i made this
this mod will show the original sent time by the sender in the sms message instead received time when new message arrives


be sure the original Mms.odex is renamed/removed

for I9000JPX, I9000JPY
get them here


more info

switch modem anytime anywhere

i made this little update.zip just for testing with different modems anytime i want to, so it may be useless to most of u guys but i think some ppl may need it in some cases

the attached is ONLY a skeleton, the modem file inside the zip is an empty file

usage:
- open the update-modem-xxx.zip file and drag the modem.bin u want to flash in the zip and replace the zero size modem.bin in it (no need to chg other files), close the zip and that's all
- make copies of zip file for different modems if u wish (sorry but no time to make fancy file selection at the moment)
- flash the modem by selecting ur desire modem in cwm under /sdcard (pls refer to cwm page for how-to)
- no need to worry about recovery2e or 3x coz as long as u can run cwm, u r with recovery2e (or others in the future)

so possibilily, u can have update-modem-jpp.zip, update-modem-jpa.zip, and so forth

and for me, i've the following files on my sdcard:
update-modem-I9000XWJPA.zip
update-modem-I9000XXJPP.zip
update-modem-I9000ZSJP8.zip
update-modem-I9000ZSJPE.zip


why?
- provides a way to let u switch modem if u suspects the modem causes problems
- see if u can find the best modem for u

how?
- the modem will be flashed with redbend_ua, a direct write to ur phone's /dev/block/bml12

Note: ur phone will flick 2 or 3 times during flash



WARNING: i tested it on my phone with JPx, froyo 2.2 on galaxy i9000 only. I cannot say it's 100% safe although i flashed my phone a lot of times, so use it at your own risks

Also note that there will be NO updates in the future


EDIT: the redbend_ua is taken from somwhere, all credits go to the modder


update-modem-xxx.zip


more info

memory tweak 1: 356MB visible 258MB free

just performed some tests with different reserved mem sizes (stock kernel ZSJP8) for your ref

default settings:
CONFIG_ANDROID_PMEM_MEMSIZE_PMEM=16384
CONFIG_ANDROID_PMEM_MEMSIZE_PMEM_GPU1=10240
CONFIG_ANDROID_PMEM_MEMSIZE_PMEM_ADSP=1500
CONFIG_VIDEO_SAMSUNG_MEMSIZE_FIMC0=14336
CONFIG_VIDEO_SAMSUNG_MEMSIZE_FIMC1=1024
CONFIG_VIDEO_SAMSUNG_MEMSIZE_FIMC2=12288
CONFIG_VIDEO_SAMSUNG_MEMSIZE_MFC0=36864
CONFIG_VIDEO_SAMSUNG_MEMSIZE_MFC1=36864
CONFIG_VIDEO_SAMSUNG_MEMSIZE_JPEG=5012
CONFIG_VIDEO_SAMSUNG_MEMSIZE_TEXSTREAM=10240



1/. minimum (almost) reserved mem with movie playback possible (no lag in youtube), 356mb memory, no special lags observed, opened 4 tabs in browser with lots of imgs and swfs



CONFIG_ANDROID_PMEM_MEMSIZE_PMEM=8192
CONFIG_ANDROID_PMEM_MEMSIZE_PMEM_GPU1=4096
CONFIG_ANDROID_PMEM_MEMSIZE_PMEM_ADSP=1024
CONFIG_VIDEO_SAMSUNG_MEMSIZE_FIMC0=6144
CONFIG_VIDEO_SAMSUNG_MEMSIZE_FIMC1=1024
CONFIG_VIDEO_SAMSUNG_MEMSIZE_FIMC2=6144
CONFIG_VIDEO_SAMSUNG_MEMSIZE_MFC0=29696**##
CONFIG_VIDEO_SAMSUNG_MEMSIZE_MFC1=29696**##
CONFIG_VIDEO_SAMSUNG_MEMSIZE_JPEG=3072
CONFIG_VIDEO_SAMSUNG_MEMSIZE_TEXSTREAM=2048

** min value in order to play movies = 29mb, 28mb wont play
## can be set to a lower value without movie playback, setting these with too low values caused problems, below 20mb should be ok


2/. nearly double all default values, 219mb available, didnt feel faster




as to min mem usage, u'll need to (in brief):
1/. remove unneccessary apps
2/. remove startup/network chg broadcast listeners from the app - a lot of apps/services are launched at startup up or network state chg, remove them so they wont start automatically, eg gtalk, sync/feed, vold service, installd, etc
3/. kill unneccessary services & processes - i didnt use any killer since i rooted my phone, i use script to kill them since killers consume more mem
4/. i have read the source and found that only -Xmx (max mem) is included but no -Xms (initial mem), perhaps we can do something here (not done yet)


test2: available memory - 257.68mb




reference for 2.1
CONFIG_VIDEO_SAMSUNG_MEMSIZE_FIMC0=10240
CONFIG_VIDEO_SAMSUNG_MEMSIZE_FIMC1=1024
CONFIG_VIDEO_SAMSUNG_MEMSIZE_FIMC2=10240
CONFIG_VIDEO_SAMSUNG_MEMSIZE_MFC0=24576
CONFIG_VIDEO_SAMSUNG_MEMSIZE_MFC1=24576
CONFIG_VIDEO_SAMSUNG_MEMSIZE_TEXSTREAM=8192


more info

performance for different file systems and slice_sync in Froyo

performed some tests days before and I would like to share the results with all of you. the result was as expected (my expectation)

the test was conducted on /dbdata, using dd to read and write, and with different slice_sync and slice_async values.
According to lwn.net:
- slice_sync: How many msec a sync disk slice lasts
- slice_async: How many msec an async disk slice lasts

in froyo, the default value for slice_sync is 97, and slice_async is 39. while in eclair, they are 100 and 40 respectively.

and, the results were obtained by the average value under different file systems as below:
write: dd if=/dev/zero of=/dbdata/test count=25000 (using default bs=512)
read: dd if=/dbdata/test of=/dev/null

test1: default slice_sync (97), slice_async (39)
ext2 w=0.3563576, r=0.2172932
ext4 w=1.7057048, r=0.1286368
ext2 on ext4 w=0.2786272, r=0.1360666
ext2 on ext4 noatime nodiratime w=0.279215, r=0.124138
ext4 on ext2 w=0.4299866, r=0.1277804

test2: slice_sync (50), slice_async (20)
ext2 w=0.3883144,r=0.2209398
ext4 - omitted
ext2 on ext4 w=0.2743988,r=0.1343098
ext4 on ext2 w=0.4350612,r=0.2513572

test3: slice_sync (500), slice_async (200)
ext2 w=0.4159796, r=0.40419
ext4 - omitted
ext2 on ext4 - omitted
ext4 on ext2 w=0.4252074, r=0.2614818

obviously, the fastest one was ext2 on top of ext4, with only insignificant impact with noatime and nodiratime options (i cant believe it). this combination of file systems performed well as expected since while ext2 do somewhat like "blind read/write", the ext4 will hold the data b4 commit (PLS, pls dont argue ext2 and ext4 with me and that's why i described them very roughly... )


actually this was just for my own leasure but i think it may be useful to u guys as well so i decided to post it here for your ref


more info

scored 2234 with stock I9000ZSJF7 on my Samsung Galaxy S I9000

after playing with Andriod for a month, I found a way to speed up the Android system by creating loop devices, no data2sd required
no more lags, smooth scrolling/zooming in and out in default browser with a web page contains more than 170 images, much faster cache for browser, market and other apps retrieval and listing

here's how:
- create an empty file with dd (i chose -b 4096 -m 1)
- mount it to loopx and format it with ext2 (busybox)
- create mount points and create links, eg
mount -o rw,noatime,nodiratime /dev/loop0 /dbdata/dbdataimage
then mv files and folders to /dbdata/dbdatimage
so, instead of reading /dbdata/databases/com.1.2.3, it will be linked to /dbdata/dbdataimage/databases/com.1.2.3
- finally write a script to mount them on boot by replacing playlogos1

simply speaking, is to run on an ext2 file block in rfs, and that's all for the trick!!


WARNING:
- i did it for /cache, /dbdata and /data only
- empty files, folders, and sym links will be deleted by the system under /cache
- dont reboot the phone when u've temporarily moved /dbdata/databases to a slow partition like /data


personally, i moved /data/data and /data/dalvik-cache to /dbdata and moved browser and market cache files to /cache

it's not for the benchmark only, instead, it has very good effects on ur phone's io

for the loop device:
busybox mknod /dev/loop0 b 7 0
busybox losetup /dev/loop0 /dbdata/dbdata.img
busybox mkfs.ext2 /dev/loop0
then mount it

and, here's my mount output:

rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
/dev/block/stl6 /mnt/.lfs j4fs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/stl9 /system rfs rw,vfat,llw,check=no,gid/uid/rwx,iocharset=utf8 0 0
/dev/block/mmcblk0p2 /data rfs rw,nosuid,nodev,noatime,nodiratime,vfat,llw,check= no,gid/uid/rwx,iocharset=utf8 0 0
/dev/block/stl10 /dbdata rfs rw,nosuid,nodev,noatime,nodiratime,vfat,llw,check= no,gid/uid/rwx,iocharset=utf8 0 0
/dev/block/stl11 /cache rfs rw,nosuid,nodev,noatime,nodiratime,vfat,llw,check= no,gid/uid/rwx,iocharset=utf8 0 0
/dev/block/stl3 /efs rfs rw,nosuid,nodev,vfat,llw,check=no,gid/uid/rwx,iocharset=utf8 0 0
/dev/loop0 /dbdata/dbdata1 ext2 rw,noatime,nodiratime,errors=continue 0 0
/dev/loop2 /cache/cache1 ext2 rw,noatime,nodiratime,errors=continue 0 0
/dev/loop2 /cache/market ext2 rw,noatime,nodiratime,errors=continue 0 0
/dev/loop2 /cache/browser ext2 rw,noatime,nodiratime,errors=continue 0 0
/dev/block//vold/179:1 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,f mask=0102,dmask=0002,allow_utime=0020,codepage=cp4 37,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block//vold/179:9 /sdcard/sd vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,f mask=0000,dmask=0000,allow_utime=0022,codepage=cp4 37,iocharset=iso8859-
1,shortname=mixed,utf8,errors=remount-ro 0 0


- no need to deal with /data
- the major thing is /dbdata/databases
- it wont have impact when u connect it to ur pc/kies since kies only deal with /sdcard and /sdcard/sd only, which both r out of my concern
- to see the improvement, simply do a dd and u'll see the difference



what suprised me is that, i found in one of the taiwan's forum, ppl called it "Hong Kong's Lag Fix" (香ęøÆē‰ˆå”äø‰ēˆ½)

more info (chinese)






more info

old stuff 3 - change your opera cache folder (Symbian S60v5)

edit opera.ini, and add the following line under [User Prefs] section:

eg: this will chg the cache dir to e:\cache\opera
Cache Directory4=e:\\Cache\\Opera\\

remember to use double slash

old stuff 2 - minimized silent/muted wav/mp3/mp4/aac files

sometimes, certain sound files are treated as system files and cannot be removed. although you don like them or they consume too many disk space, you cannot delete them.

so i made these silent sound files and kept minized in size. they are playable and thus can be recognized, and were trimmed to 0 or 1 sec long with very low bitrate.

empty.aac.7z

empty.mp3.7z

empty.mp4.7z

empty.wav.7z

old stuff 1 - reclaim 8Mb in core! (Symbian S60v5)

reclaimed 8M space (yes, more than 8MB) by removing build-in game bounce and raging thunder (you can remove others also if not needed inside core)

some system files cannot be deleted even you don need them. however, some of them checked by the system for existence only, so this trick is to replace these files with empty files

howto:
(bounce, for example)
create these empty files and save them in rofs3
\sys\bin\Bounce.exe
\resource\apps\Bounce.rsc
\resource\apps\Bounce_aif.mif
\private\10003a3f\import\apps\Bounce_reg.rsc

and finally, the trick is ....
create an empty file in private and named it 2000C4D4 (it's \private\2000C4D4 that occupy 8MB)
YES!! an empty file is enough to prevent the 2000C4D4 directory inside core being copied to Z!! (due to the priority rule for building)
DONE!!


more info