[HACK] Boot Image .QMG - Captivate Android Development

So I've been trying to hack into the QMG format that samsung has chosen to use for our bootimages.
I'm not having the best of luck, this thread is to discuss and work together to crack this file.
Here are some Reference Materials
SOURCE CODE: http://www.cs.cornell.edu/home/vavasis/qmg2.0/qmg2_0_home.html
I tried using the Tcl/tk method but cant seem to nmake the makefile on windows 64bit.
(will keep updating as i make progress but i have to go to class now)

I suspect that this is a completely unrelated product wich happens to have the same name...
Sent from my SAMSUNG-SGH-I897 using XDA App

Wrong QMG project.
Samsung uses Qmage to encode the boot animation.
The website is: http://quramsoft.com/solution_e/qmage.asp
This is proprietary software, there is no demo. Since no price is even listed and you have to contact the sales team to purchase the product it is most-likely extremely expensive commercial use only software.

Well thanks for letting me know i was working down the wrong path. I will now redirect my efforts @ Qmage, and its obtain-ability!

Why not try to install a more normal bootlogo player?
Sent from my SAMSUNG-SGH-I897 using XDA App

Unhelpful said:
Why not try to install a more normal bootlogo player?
Sent from my SAMSUNG-SGH-I897 using XDA App
Click to expand...
Click to collapse
Well i would use a .png or something however, Samsung has used the .qmg format, so i was going to just try to decompress, then edit , recompress and upload, and hope that my edited boot image would be there on boot.
I'm not to sure i would go about telling the kernel/os to use a different filetype all together. But you are the kernel master, so if this is possible, then we dont need to waste our time trying to break this .qmg

Unhelpful said:
Why not try to install a more normal bootlogo player?
Sent from my SAMSUNG-SGH-I897 using XDA App
Click to expand...
Click to collapse
Has anyone found this to be possible?
I've checked the kernel I didn't see anything relating to the boot loader or Qmage.
I've checked /init.rc
the only 2 lines that mention booting are "export BOOTLOADER 1" and "export BOOTCLASSPATH <insert path to several framework files>"
The AOSP port is in alpha, I wonder if they can use custom boot screens or if it's still loading the playlogos1 script thus booting the qmage file.

This was my header spec
Code:
dword - magic (QM)
word - ? (128 always?)
word - screen dimension X (480 my device)
word - screen dimension Y (800 my device)
word - unknown (always blank?)
dword - offset to last chunk (#3?) (this offset leads to two repeating file size dwords)
word - # of frames
word - current frame number
word - always blank?
word - always the same (value = 1)
dword - offset to middle data chunk or (1st chunks size)
dword - unknown only seems to have a value on the first entry of the file
Each new frame has its own QM file. So for instance in the bootsamsung.qmg there are 97 QM files in the .qmg.
The internal data is unknown, but it is split up I suspect. If you look at some of the battery charging qmgs you can see that the last 4 (there are only 5) are very small. This is because little changes in these frames. I believe the QM is broken up into segments (one would control just the background image etc).

ive read somewhere that there is a free version of the qmg software

labbu63 said:
ive read somewhere that there is a free version of the qmg software
Click to expand...
Click to collapse
I hope you remember where you read that! Cause if that's true it would allow us to get started and working on this! This qmg thing is retarded but we will get it eventually.

warri said:
Well i would use a .png or something however, Samsung has used the .qmg format, so i was going to just try to decompress, then edit , recompress and upload, and hope that my edited boot image would be there on boot.
I'm not to sure i would go about telling the kernel/os to use a different filetype all together. But you are the kernel master, so if this is possible, then we dont need to waste our time trying to break this .qmg
Click to expand...
Click to collapse
Not for all the Galaxy phones.
There are other methods that work see my thread back here http://forum.xda-developers.com/showthread.php?t=736412 it explains how some other animations can be used.

That thread gives us some help. But no one has figured it out still yet :/... I am working on a few projects atm so this is being worked on in my free time and I dont have a lot of that.

ferman said:
I hope you remember where you read that! Cause if that's true it would allow us to get started and working on this! This qmg thing is retarded but we will get it eventually.
Click to expand...
Click to collapse
well the software I'm talking about isn't made by QMG but instead it is made by some other company and their editing software is free
EDIT: wait you might want to read this thread here

ignore this post

Try installing a boot animation as you would for another android phone, then run /system/bin/bootanimation as root. I recommend doing this via adb in recovery mode, it seems you can't clear it after it runs. Going to try running it instead of playlogos next, if it works an update.zip to support standard boot animations should be easy.
Sent from my SAMSUNG-SGH-I897 using XDA App

Unhelpful said:
Try installing a boot animation as you would for another android phone, then run /system/bin/bootanimation as root. I recommend doing this via adb in recovery mode, it seems you can't clear it after it runs. Going to try running it instead of playlogos next, if it works an update.zip to support standard boot animations should be easy.
Sent from my SAMSUNG-SGH-I897 using XDA App
Click to expand...
Click to collapse
well other android phones use a bootimage.zip where as our phones use bootimage.qmg
I'm thinking we can actually tell the kernel to boot from a .zip instead of the .qmg which would bypass us having to crack into the .qmg

Yes, I'm talking about using a standard android bootanimation.zip if one is found. We already have the software needed to play one on our phones.
Sent from my SAMSUNG-SGH-I897 using XDA App

I've tried doing THIS and I can actually get the beginning of the bootanimation.zip to play... That thread has some good info.
All you really need to do to get it to start is:
Code:
1. su
2. busybox cp /sdcard/sd/bootanimation.zip /system/media/bootanimation.zip
3. cd /system/bin/
4. mv playlogos1 playlogos1BKP
5. busybox cp bootanimation playlogos1
The problem is if you look at the playlogos1 file in a hex editor you can see this:
Code:
dev.bootcomplete SurfaceFlinger SurfaceFlinger not published, waiting... BootAnimationSEC requestExitItself() is called /dev/graphics/fb0 binderDied is called SurfaceFlinger died, exiting... linkToComposerDeath failed (%s) Destructor /dev/tty0 ============> 1 /system/media/bootsamsung.qmg /system/media/bootsamsungloop.qmg ============> 2 ============> 3 ============> 4 parse frome buffer fail ============> 5 poll error ms4631 - Repeat Loop Animation
I've tried renaming bootsamsung.qmg to bootanimation.zip and removing bootsamsungloop with no luck.
So I think the problem might be kernel related afterall... or at least initramfs as stated in THIS POST
EDIT: Unhelpful, any chance you could try this in your next release?

We'll see. Where in AOSP init.rc is bootanimation started? It would need to be started explicitly since it's disabled.
My plan had been simply to wrap playlogos1 in a small program that would call bootanimation instead if a bootanimation.zip was found, but maybe that won't quite work. Simply starting bootanimation in place of playlogos1 works, but there is a very long delay with a black screen before the animation plays, and it doesn't have time to complete.
Sent from my SAMSUNG-SGH-I897 using XDA App

Maybe just put the bootanimation part where the playlogos is so that way it's called at the same time? You can look at atinm's source. He has it setup (but commented out)

Related

[How To] + [MOD] Custom Transition Animations (UPDATED)

Watching the same transition animations over and over is boring. You can speed them up with Spare Parts or you can just shut them off entirely within settings. There is, though, a third road: change 'em.
These are videos of most of the transition animations packs (Drod's rubiX animations, Fab's animation mix, and Android Stock have no videos at present).
Flip
YouTube - Android Screen Transitions
Bounce
YouTube - Samsung moment animations, bounce
Fold
YouTube - Sbtwca
FlyIn
YouTube - Samsung moment animations, fly in
There are two preferred ways to use these animations:
1. Add Animations Using Metamorph: should work for most roms. Thanks Haxzamatic!
Transition Animation MetaMorph Files - http://bit.ly/gwEB5F
Note: there is no current MetaMorph file for either Android Stock or Fab's mix (see below).
2. Manually Add Animations: should work for most roms
This process will be helpful for those wanting to mix and match animations from the folders. In fact, why don't you create your own mix and post it here so everyone else can appreciate your awesomeness. I'll add new mixes below if they come in.
1. Simply get ahold of the anim folder with the animations you want to use and the framework-res.apk from the rom you're interested in modifying (/system/framework/framework-res.apk).
2. Open up the framework-res.apk in 7zip (right click on it, and select "open archive").
3. Drag the anim folder with the animations (which you can download below) into /res folder in your framework-res.apk. This will replace the files currently in /res/anim.
4. Exit out of 7zip.
5. You now need to push the modified framework-res.apk onto the phone. You can do this by placing the modified framework-res.apk in the root sdcard folder, and entering the following into terminal emulator on your phone or using ADB when the sdcard is mounted:
su
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
cp /sdcard/framework-res.apk /system/framework
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
reboot
If you're using terminal emulator, your phone will probably reboot before you finish re-mounting and/or typing reboot.
NOTE: This is taken almost wholesale from MagnusRagnarok (initial post) and ronhova (detailed instructions) on XDA; they deserve the credit. Link To Original Post.
Since this process modifies your rom's framework-res.apk, it obviously won't work with other roms. Translation: don't take the framework you've just modified and try to put it on other roms. IF YOU DO THIS, YOU WILL DIE.
Animation Files: for manual addition
Bounce
Flip
Fly In
Fold
Drop In (from Drod's rubiX focused series)
Fly In and Flip Mix (from Fab's Apex)
Android Stock
Nice!!
But credit should really go to MagnusRagnarock. I just like it so much that I had to have it for my droid x.
Oh by the way, some of you might not get pass the second line of code. After you push the framework-res.apk back to your phone, the phone will do a soft reboot inside terminal. Applying all your changes. Don't freak out!
I recomend mixing and matching the transitions. Looks even better!
I'm using the fold transition for my lock screen and the fly transition for everything else.
ronhova said:
Nice!!
But credit should really go to MagnusRagnarock. I just like it so much that I had to have it for my droid x.
Oh by the way, some of you might not get pass the second line of code. After you push the framework-res.apk back to your phone, the phone will do a soft reboot inside terminal. Applying all your changes. Don't freak out!
I recomend mixing and matching the transitions. Looks even better!
I'm using the fold transition for my lock screen and the fly transition for everything else.
Click to expand...
Click to collapse
Hey there, thanks for the instructions, by the way. You should post /anim folder so we can all enjoy your custom set. If I had more time I'd be experimenting like crazy to get the perfect mix.
I made some morphs so there easy to apply. Sadly I don't have a X to try on. They worked great with CM6. As long as the framework is in /system/framework
it should work. Great find
Custom Transition Animation MetaMorphs - http://bit.ly/gwEB5F
Ok I'm sorry if this is a little of topic but I would like yo try this but when I go to download 7 zip and set it up it tells me to first scan my registry and I find this highly odd.....I have downloaded 4 times from 4 places that I have looked up including what I thought was the main site and get this prompt...does anyone have a proper link for 7 zip?
you are so incredible thanks yes it works in the droid X and they are amazing thanks for the work
Thank you haxzamatic. I just used these on Fission 2.2.1 and they seem to be working. No force closes or anything.
Sent from my DROIDX using XDA App
can someone please tell me which xml file deals with the opening of an app? i only want an effect when an app opens.
thanks.
I keep getting to the third line of code and get a can't state device or resourse busy. Any Ideas? I've formatted my SD card fat32 and placed the framework-res.API on the SD card. Anything that I'm missing??? Thanks for the transitions, simply amazing with
gingerbread.
supasye said:
can someone please tell me which xml file deals with the opening of an app? i only want an effect when an app opens.
thanks.
Click to expand...
Click to collapse
Anyone knows that?
I just tried flip on my D1 via metamorph, it didn't work...
Hi all - I tried it too - worst than no luck - it make my phone unusable.
1) it wrote there are no space for frameworl.apk - unfortunately original framework was deleted or changed
- then nearly all app and android does not respond
only one way is power off, but phone hangs at samsung logo.There are no samsung small blinking word and android will not start
- luckily reflash firmware with ODIN via download mode works
2) same step, but first I deleted Layar.apk from system folder to be sure I ahve enough space like author of flying animation JPF ROM at this forum.
I repeated then again copy framework with same space result and phone unusable, again flash over ODIN - I give up :-(
I tried mount as ro as at step 3rd, but it wrote busy message like someone else alraedy posted here.
- updated - I manually removed Layar.apk and Maps.apk from /system folder
then I had enough space for copy framework-res.apk
but still command mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
wrote cannot unmount, system busy
I rebooted phone normally and I am testing if framework changed or what happened
I already successfully enabled LiveWallpapers and now only framework is what I am missing from ROM with flying animation JPF ROM at this forum.
Any tips ?
I have I5800XXJPM from samfirmware.com , rooted ...
supasye said:
can someone please tell me which xml file deals with the opening of an app? i only want an effect when an app opens.
thanks.
Click to expand...
Click to collapse
Don't mean to bring back this old thread, but i really need to know the answer to this question. Also which file is responsible for the closing of an app?
Can. Anyone provide working link for the fly in and flip (fab's apex)
How to Root Fly Fab 45S
Can any one help i want to root fly fab f45s if possible
You can use "root genius"
It will root your phone in one click
Sent from my FLY F45s using XDA Free mobile app
Anask3444 said:
You can use "root genius"
It will root your phone in one click
Sent from my FLY F45s using XDA Free mobile app
Click to expand...
Click to collapse
Dead thread of nearly 2 yrs needed a reply? Jw
Sent from my ATRIX HD using XDA Free mobile app

[Q] Sprint power-up 4g intro thingy... removal?

Ok, you know the 4G Sprint video you get when booting up, right before you actually get into the OS?
Is there anyway to get rid of that? It annoys me.
Can I replace it with a different animation?
James.Q.Campbell said:
Ok, you know the 4G Sprint video you get when booting up, right before you actually get into the OS?
Is there anyway to get rid of that? It annoys me.
Can I replace it with a different animation?
Click to expand...
Click to collapse
Probably check it out, it'll be somewhere in system/media. You have to be rooted of course
Sent from a truly Epic phone and a transparent XDA app
yeah ive been wondering if i can put my R2-D2 boot ani on here lol
I know we can replace it, but it does not seem to be in system/media. There are a few images in system/media/GPU, but it is not the entire boot animation. I did some brief searching, but am not finding it.
I'm pretty sure you'll find it in /system/customize/resource along with an mp3 that provides the boot sound.
cloverdale said:
I know we can replace it, but it does not seem to be in system/media. There are a few images in system/media/GPU, but it is not the entire boot animation. I did some brief searching, but am not finding it.
Click to expand...
Click to collapse
Yeah, I did the same thing. Searching around did give me the opportunity to scrap most of those annoying ringtones I never use though.
I searched around a bit more but didn't find anything. I did find a bootanimation.zip in data/local and replaced it with a boot animation I have, but it didn't change anything.
Lmao guys.
Code:
adb push bootanimation.zip /system/customize/resource
And your set
Sent from my PG06100 using XDA App
smp420 said:
I'm pretty sure you'll find it in /system/customize/resource along with an mp3 that provides the boot sound.
Click to expand...
Click to collapse
Ah, ok. Playing with it now. Will report back in a few.
James.Q.Campbell said:
Ah, ok. Playing with it now. Will report back in a few.
Click to expand...
Click to collapse
Ok, nevermind... I can't delete the stupid stock file.
Do I need ADB for this? I'm not familiar enough with ADB to know how to use it to delete the file and push the new one in.
Anyone with more experience with ADB want to lend a hand here?
bubby323 said:
Lmao guys.
Code:
adb push bootanimation.zip /system/customize/resource
And your set
Sent from my PG06100 using XDA App
Click to expand...
Click to collapse
Well, that'll learn me to read back on the thread first.
Hey, I'm a noob. I'm learning.
Leave me alone...
bubby323 said:
Lmao guys.
Code:
adb push bootanimation.zip /system/customize/resource
And your set
Sent from my PG06100 using XDA App
Click to expand...
Click to collapse
adb push doesn't work (at least for me) have to figure out another way
however your location is correct.
Not 100% on this but if you adb while in recovery it may work. /system is mounted while the phone is running so you may be running into permission errors. Although I was able to adb pull mine while running.
Edit: not sure if it's just me but when I tried I get an error about the system being read only and apparently the busybox I have doesn't have a remount command.
Edit2: found the full remount command but it seems that the phone doesn't care for it much. Was able to push a new ani but got acore force closes on reboot the were not fixed by putting back the original (I didn't really expect them to be)
Edit3: Finally got it working. You just have to be in recovery with /system mounted. I should have tried that much earlier but I seem to like to try all the wrong steps first Any 480x800 animation should work. wouldn't suggest using the flashable zips since they probly copy to the wrong location. Have fun.
I built my own flashable zip using the old template from my Moment days...just had to edit the cleaner.sh and the update-script in the 'META-INF\com\google\android' folder of the zip file.
cleaner.sh contents:
#!/system/bin/sh
rm -rf /system/customize/resource/bootanimation.zip
rm -rf /data/local/bootanimation.zip
update-script contents:
show_progress 0.1 0
run_program PACKAGE:cleaner.sh
copy_dir PACKAGE:system SYSTEM:
set_perm 0 0 0644 SYSTEM:customize/resource/bootanimation.zip
show_progress 0.2 10
You also need to change the folder structure inside the flashable zip to 'system/customize/resource' for the location of the bootanimation.zip file.
I also included a new mp3 file in same folder as bootanimation and renamed it to 'VERSION11SAMELENGTH.mp3'.
Edit: Some things I noticed:
- need to resize the images and update that size in the 'desc.txt' file
- the animation plays faster even at the same frame rate than it did
on my old phone, so you may need to lower that
- the mp3 file is pretty loud so you may want to lower its volume
before including it in the zip...it also seems to be tied in some
manner to what the media volume (I think) is set to when the phone
is shut off/rebooted
Edit 2: If anyone sees any errors in my method, by all means speak up...I am mostly just winging this (with a recovery backup in case something goes wrong)

XOOM Honeycomb Boot Animation [PORT]

Hey guys.. if you like the new boot animation from Motorola XOOM, i've sort of ported it to Milestone/DROID
in fact i just modded the desc.txt resolution settings.. but it seem working pretty well
so, here you go
if you don't know how to deal with bootanimations, feel free to ask
EDIT: use sileshn's version.. this is actually portrait mode animation, not fullscreen
do i just flash this in clockwork mod recovery?
i tried, i have cm7
and it didnt take (cm7 boot screen still showing)
Landscape mode
The same bootanimation in landscape mode.
much better if you add preview here
tylerwatt12 said:
do i just flash this in clockwork mod recovery?
i tried, i have cm7
and it didnt take (cm7 boot screen still showing)
Click to expand...
Click to collapse
Just use rootexplorer to replace your existing bootanimation.zip. It should either be in /system/media or /data/local. If there is no bootanimation.zip in either directories, just place the downloaded file to /data/local.
edit : Just checked. In CM7, the bootanimation file is in /system/media.
tegezan said:
much better if you add preview here
Click to expand...
Click to collapse
http://www.youtube.com/watch?v=p8stGDoW-ZY
Better option, download the attached zip file, inside there is a mp4 file, make in run in your media player with automatic repeat.
Edit: looks much better on phone than the preview.
well... landscape animation look better for me....
Landscape mode
Aarght.. sorry guys, i thougt it'd be already in landscape. i actually tried playing it in terminal only and that somehow happened to be in landscape..probably 'cause i had my hw keyboard open
so, feel free to use sileshn's version
Hello.
I can't replace the files in /system/media...
To do this i need adb)
Sent from my Milestone using XDA App
hi... what tools that i need to make or edit bootanimation.zip...?
coz i realize there one picture in landscape animation hv wrong rotation..?
thx..
tegezan said:
hi... what tools that i need to make or edit bootanimation.zip...?
coz i realize there one picture in landscape animation hv wrong rotation..?
thx..
Click to expand...
Click to collapse
unzip the contents. The file is the part0 directory. Correct the image using any image editor and rezip it ( including desc.txt ), dont use any compression ( very important ).
marcelotorres said:
Hello.
I can't replace the files in /system/media...
To do this i need adb)
Sent from my Milestone using XDA App
Click to expand...
Click to collapse
you have to remount the /system partition as read/write in order to be able to rewrite the old one..
you can do it in Terminal Emulator..this will to the trick:
Code:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /system
nice boot animations
can have it in Live Wallpaper
I really like that honeycomb animation.
Very cool.
The only issue I would have is that it would be hard to tell if you are getting a boot loop or if it's just taking a long time to boot.
I attached one that I made which includes an "intro" to the honeycomb animation - the milestone bios/boot animation that I'm sure most of you have seen.
Edit: See post 18 below for an updated version.
Astrowe said:
you have to remount the /system partition as read/write in order to be able to rewrite the old one..
you can do it in Terminal Emulator..this will to the trick:
Code:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /system
Click to expand...
Click to collapse
If his method doesn't work, try this..
I've done a few boot animations this way.. put the bootanimation.zip on the root of your SD card (make sure it's named bootanimation.zip if you're using windows, just right click the file and "Rename". don't put .zip at the end, Windows does that for you. Not sure about Macs..), and go into Terminal Emulator (you can download one from the Market for free) and type the following, hitting enter after each line:
su
cp /sdcard/bootanimation.zip /data/local/
reboot
note that when you hit enter after the 2nd line, it may take a few secons before you get the # sign again. once you see it, type reboot and enter. and you're all set!
zeppelinrox said:
I really like that honeycomb animation.
Very cool.
The only issue I would have is that it would be hard to tell if you are getting a boot loop or if it's just taking a long time to boot.
I attached one that I made which includes an "intro" to the honeycomb animation - the milestone bios/boot animation that I'm sure most of you have seen.
Click to expand...
Click to collapse
should i rename file to work it ?
Yeah it has to be named bootanimation.zip
I always give downloaded animations descriptive names so I can tell what it is just by looking at it.
Usually, I make a copy, rename the copy, and install that.
btw I noticed a stray frame that caused a stutter so I redid it.
I also noticed that the animation was too slow at 10 fps so I sped it up a bit....
It was 10 fps because that's what the original bios animation was set at.
I bumped it up to 20.
thanks friend
very beautiful.

[GUIDE] Remove Blocking Mode notification (root/deodexed Samsung ROM required)

First off, this is my very FIRST publically posted Android mod, and my second one ever - I made the first one earlier today. In other words, I'm new and may make mistakes.
These steps work for me, though!
Exactly what this guide does:
When you enable "Blocking mode" in the Samsung JB ROMs, an "ongoing" (and thus unremovable) notification is shown AT ALL TIMES, even if Blocking mode is only active for a certain time period (at night in my case).
This mod will entirely remove that notification. It will not show up even when blocking mode IS in fact blocking calls etc.
IMO the ideal behavior would be to show it during the time it's active, but that would be a much harder mod to make, as you'd need to add new (byte)code.
Now, with that out of the way...
Requirements:
* DEODEXED AND ROOTED Samsung Jelly Bean ROM (I use WanamLite XXDLIH v3.9, google it - I can't post the link)
* 7-zip (google it)
* Galaxy S III - not sure if other models than the i9300 will work, my guess is that they will. I can't test on other phones than my own, though, so you're on your own in that case! Also no idea if Note models will work, I've never used one.
* A Windows computer - unless the tools are available for other platforms.
* Java -- if you can do Start -> Run -> "java" -> OK without an error, you should be fine.
* A bit of patience
As always, this is on your own risk!
Steps to hack:
0) BACK UP YOUR PHONE! My suggestion would be to take a nandroid backup before getting started.
1) Get an apktool that works with JB APKs.
Here's the one I use (assemble the link): mediafire . com / ?ufzdylekbkloffy
(Sorry for doing that, but surely posting guides constitutes making helpful contributions? )
The ZIP contains two apktool versions, one for decoding and one for building.
Thing is, I'm not 100% sure on where I got the apktool JARs. I think one of them is the unmodified 1.4.2 JAR, and one is modified to work with ICS (and newer) APKs.
I couldn't get EITHER of them to both decode AND build, so I made two separate batch scripts.
I do promise that the thing's safe, but if you don't trust me, you can find them elsewhere - I'm just not sure exactly where. I found them by trial and error.
2) Unpack the tools to a directory, e.g. "apktool" on your desktop. (If you want to follow this guide to the letter, you need to use that folder too.)
3) Start a command prompt - Start -> Run -> enter "cmd" -> click OK
4) Connect your phone via USB, and make sure USB debugging is enabled on it (under Settings -> Developer Options)
5) Enter the following commands, exactly as specified, in order of course:
Code:
cd Desktop\apktool
adb pull /system/framework/framework-res.apk
java -jar apktool-BUILD.jar if framework-res.apk
adb pull /system/app/SecSettings.apk
apktool-d SecSettings.apk SecSettings-mod
You should now have a "SecSettings-mod" directory (under Desktop\apktool) with the contents of the APK.
6) Browse to SecSettings-mod\smali\com\android\settings\dormantmode, right-click "DormantModeNotiReceiver.smali" and Open With... -> Notepad (or right-click and "Edit", if that choice exists)
7) Click the Edit menu -> Find..., and search for "notificationCreate" (no quotes). The first hit should be ".method public notificationCreate [... etc]"; click Find Next.
The next hit should be something like
Code:
invoke-virtual {p0, p1}, Lcom/android/settings/dormantmode/DormantModeNotiReceiver;->notificationCreate(Landroid/content/Context;)V
8) Comment that line out by adding a # as the very first character, so you end up with
Code:
# invoke-virtual {p0, p1}, Lcom/android/settings/dormantmode/DormantModeNotiReceiver;->notificationCreate(Landroid/content/Context;)V
9) A few lines down (10 or so), there's another invoke-virtual, for notificationClear. Comment this out as well, aagin by adding a # as the first character on the line.
When you're done, save and exit.
10) OK, we're getting there. Time to rebuild the modded APK.
Go back to the command prompt (or start a new one, see above).
Run this command:
Code:
apktool-b SecSettings-mod SecSettings-new.apk
This may take a LONG while, it takes a bit over 11 minutes for me (nearly all of it to build resources). Be patient!
When it's completed, open up both the ORIGINAL .apk and the modded one in separate 7-zip windows. Delete "AndroidManifest.xml" from the modified apk, then select and copy "META-INF" and "AndroidManifest.xml" from the original to the modified APK. Exit 7-zip.
11) Time to get the modded file over to your phone! Run these commands:
Code:
adb remount
adb push SecSettings-new.apk /system/app
adb shell
12) You should now have the file on your phone, and have an adb shell open. Almost there!
If you're not root (i.e. if the command line ends with $ rather than #), run "su".
Then:
Code:
cd /system/app
mv SecSettings.apk SecSettings.apk.OLD
mv SecSettings-new.apk SecSettings.apk
... and you're finally DONE, if all went well.
"exit" the adb shell, and reboot your phone. When it boots up, the notification should be gone, but blocking mode still works.
Let me know if you have problems, and we'll see if I'm qualified to help solve them.
Before
After
(I would show that blocking mode is active, but the toggle was offscreen in the "before" shot, and I don't want to revert to snap a new one!)
I've also modded away the brightness bar + rearranged the quick-setting icons via this guide - the steps are essentially the same as this guide, except you edit SystemUI.apk and change different files (two XML files instead of the .smali).
To get rid of the brightness bar, follow that guide but also look in values/bools.xml where you can change a brightness value and auto-brightness-button to false. (Change both!)
Great work, Does anyvbody have this as a flashable zip??
carrd said:
Great work, Does anyvbody have this as a flashable zip??
Click to expand...
Click to collapse
Hmm, I'm not sure whether simply using the finished SecSettings.apk is a good idea or not. If a ROM has changed it, those changes would be lost.
The alternative might be to have all this done by a script on the phone (in CWM), but I'm not sure whether that's possible or not. Anyone?
exscape said:
Hmm, I'm not sure whether simply using the finished SecSettings.apk is a good idea or not. If a ROM has changed it, those changes would be lost.
The alternative might be to have all this done by a script on the phone (in CWM), but I'm not sure whether that's possible or not. Anyone?
Click to expand...
Click to collapse
Here's a CW Zip. I've built this based on the XXDLIH build one.
The script will backup the original file to /system/app/SecSettings.apk.orig so worse case scenario you just need to rename it using a root explorer (any will do).
Let me know, however like anything you flash with CWM, make a backup FIRST and I'm not to be held responsible for your phone becoming Self Aware or owt.
Also, The guide at the top is basically right, however there's a lot of steps missing, I'll knock something up if anyone wants it to fill in the gaps (setting up the environment for a start etc).
However this 'should' work on all XXDLIH builds (but AFAICT should work on XXDLIB as well)
Here's the link to the file https://www.dropbox.com/s/kov1bdluu0pt8x8/Blocking_Mode_Icon_Remover.zip
i've intalled you mod by cwm in wannamlite 3.9 and every thing went like a charme. i have a few mods intalled and nothing was deleted. thanks a lote really nice job.
Sent from my GT-I9300 using Tapatalk 2
mocas said:
i've intalled you mod by cwm in wannamlite 3.9 and every thing went like a charme. i have a few mods intalled and nothing was deleted. thanks a lote really nice job.
Sent from my GT-I9300 using Tapatalk 2
Click to expand...
Click to collapse
No probs, anything to help.
Thanks to exscape for the source.
the_ape said:
Also, The guide at the top is basically right, however there's a lot of steps missing, I'll knock something up if anyone wants it to fill in the gaps (setting up the environment for a start etc).
Click to expand...
Click to collapse
Hmm, which environment? All the files (adb, apktool + their dependencies) should be included.
Anyway, thanks for the zip
exscape said:
Hmm, which environment? All the files (adb, apktool + their dependencies) should be included.
Anyway, thanks for the zip
Click to expand...
Click to collapse
You need to pull the various frameworks from the device, and put them in the right place. This is all documented elsewhere on the site, but for quickness sake, here's a down and dirty.
Download the 7Z Below (latest versions of aapt etc from http://forum.xda-developers.com/showthread.php?t=1792937), unpack them somewhere. Make sure Jave JRE is installed.
To pull from device, plug the Phone in then
Goto unpack folder
Let's get the frameworks from the device, so plugin the device, and ADB Devices and make sure you get a deviceID back.
pull_framework.bat
pull_twframework.bat
Now get the frameworks installed
set_framework-res.bat
set_twframework.res.bat
Let's get the APK we want to work with, so....
adb pull /system/app/SecSettings.apk .\apk\SecSettings.apk
OK, file in the right place, so let's get it unpacked to work with.
apktool d apk\SecSettings.apk working\SecSettings
That will take a few minutes, as it's got to sort out the framework dependencies etc, so give it a second or two. It should then look a little like the following
I: Baksmaling...
testI: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\YourUserName\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Done.
I: Copying assets and libs...
Now lets edit the smali for the fix (thanks to exscape for this, so click his thanks button)
notepad .\working\SecSettings\smali\com\android\settings\dormantmode\DormantModeNotiReceiver.smali
<CTRL>-F notificationCreate
Find Next one
change invoke-virtual {p0, p1}, Lcom/android/settings/dormantmode/DormantModeNotiReceiver;->notificationCreate(Landroid/content/ContextV
to
#invoke-virtual {p0, p1}, Lcom/android/settings/dormantmode/DormantModeNotiReceiver;->notificationCreate(Landroid/content/ContextV
and a bit further down
change invoke-virtual {p0, p1}, Lcom/android/settings/dormantmode/DormantModeNotiReceiver;->notificationClear(Landroid/content/ContextV
to
#invoke-virtual {p0, p1}, Lcom/android/settings/dormantmode/DormantModeNotiReceiver;->notificationClear(Landroid/content/ContextV
OK, edit done, save and back to the command prompt
start .\apk
Open the APK in 7-Zip/WinRar/Whatnot
Select the AndroidManifest.xml and the META-INF folder, and extract them to the working folder
We have all our bits, so let's put it back together in a usable APK
First we need to create an unsigned build (without the real manifest and META-INF)
apktool b working\SecSettings built\SecSettings-Unsigned.apk
This will take a while to run, as it's compiling everything it needs, should look a bit like this
: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
Right, now we need a signed version, so copy the manifest XML and META-INF folders to \build\apk in the SecSettings folder.
move .\working\AndroidManifest.xml .\working\SecSettings\build\apk
move .\working\META-INF .\working\SecSettings\build\apk
Let's now compile the nice signed version, this will take moments, as it's just integrating the Manifest with the already compiled stuff.
apktool b working\SecSettings built\SecSettings.apk
And there we are, job done.
Copy to device in any way that you want, easiest is probably
adb push .\built\SecSettings.apk /system/app/SecSettings.apk
Remember that will overwrite the original (but you have a backup in the APK folder remember), just launch settings now on the device and you should be good to go.
Having said that, easier just to flash the zip
Ohh, I forgot the framework step. Sorry about that. I changed step #5 to include it now.
That's all I've done as far as frameworks go, and I've both used the guide myself (before I wrote it ) and tried it once after... So it should work now.
exscape said:
Ohh, I forgot the framework step. Sorry about that. I changed step #5 to include it now.
That's all I've done as far as frameworks go, and I've both used the guide myself (before I wrote it ) and tried it once after... So it should work now.
Click to expand...
Click to collapse
You will deffo need the TW Framework as well, else it wont be able to decompile. If you want to make sure, try
rd /s %userprofile%\apktool
Then try the process you have out, and you should get issues as the twframework is not available
the_ape said:
You will deffo need the TW Framework as well, else it wont be able to decompile.
Click to expand...
Click to collapse
I just deleted the entire \Users\x\apktool folder, re-added framework-res and decompiled the SecSettings APK with no errors. I'm sure I've never used the 'apktool if' command with anything else prior, too. Hmm.
mocas said:
i've intalled you mod by cwm in wannamlite 3.9 and every thing went like a charme. i have a few mods intalled and nothing was deleted. thanks a lote really nice job.
Sent from my GT-I9300 using Tapatalk 2
Click to expand...
Click to collapse
exscape said:
I just deleted the entire \Users\x\apktool folder, re-added framework-res and decompiled the SecSettings APK with no errors. I'm sure I've never used the 'apktool if' command with anything else prior, too. Hmm.
Click to expand...
Click to collapse
Cool, just making sure, if it works then cracking.
However setting up the fw's that way is the 'correct way' to do them.
hi again, is it possible for u to make a flashable zip with remove blocking mode and smart rotation?
when i install smart rotation i lose blocking mode and vice versa. thanks a lote.
Sent from my GT-I9300 using Tapatalk 2
mocas said:
hi again, is it possible for u to make a flashable zip with remove blocking mode and smart rotation?
when i install smart rotation i lose blocking mode and vice versa. thanks a lote.
Sent from my GT-I9300 using Tapatalk 2
Click to expand...
Click to collapse
I can certainly have a look, can you post a link to the rotation hack your using please?
Sorted, I'll compile and upload shortly, not a problem.
here is the link, thanks a lot again.
http://forum.xda-developers.com/showthread.php?t=1933519
Sent from my GT-I9300 using Tapatalk 2
mocas said:
here is the link, thanks a lot again.
http://forum.xda-developers.com/showthread.php?t=1933519
Sent from my GT-I9300 using Tapatalk 2
Click to expand...
Click to collapse
Here we go, https://www.dropbox.com/s/mtycq38lfw3sl4z/Blocking_Mode_Icon_Remover_With_Smart_Rotate-DLIH.zip
Should work just fine, works Fine on mine anyhow.
Let me know if there's issue, and click thanks if you appreciate
thanks a lot, no issues what so ever... every thing went just fine.
Sent from my GT-I9300 using Tapatalk 2
mocas said:
thanks a lot, no issues what so ever... every thing went just fine.
Sent from my GT-I9300 using Tapatalk 2
Click to expand...
Click to collapse
Most welcome
Would this excellent mod work on a Note II, by any chance?

[N5] [FKU and PAM apps] Default kernel and Per App Mode Swaps.

So, In an attempt to get the configuration talk out of @franciscofranco's kernel thread, I decided to open this "swap meet"
As you may know I've wrote a couple scripts to make it easier to pull a backup of the kernel settings available through the franco kernel updater app.
Preparing files for sharing
Kernel Settings
so, if you want to share your kernel settings, grab the backup-script.sh file from here, run it either through a file manager or a terminal emulator, then head over to /sdcard/settings_backup/ and grab the restore-script.sh file, rename it to <your_user_name-defaults.sh> and post a link to it here.
Per App Modes
If you want to share you Per-App Modes settings, you'll need to use either the franco kernel updater or his stand alone Per-App Modes app, either way, the process is the same, just the file paths are a little different.
FKU App
So, if you use the fku app, go into fku -> Per-App Modes -> Manage your modes and click the BACKUP MODES in the top right corner. This creates an xml file of all your per app settings (one file per mode). These files are stored in /sdcard/franco.kernel_updater/saved_per_app_modes
Create a zip file including the modes you want to share and post it here.
Stand Alone Per-App Modes App
The process for using the stand alone app is the same. Per-App Modes -> Manage, and click BACKUP MODES in the top right corner again, this creates another batch of .xml files... Only they're stored in /sdcard/per-app_modes/saved_per_app_modes/
Once again, Create a zip file of the modes you want to share and post here.
Using Shared Settings
Okay, so you've downloaded the scripts and zips that you want to try out... how do you use them..
Kernel Settings
The scripts are easy, just run them (as root) through a file manager or terminal emulator.. then use fku or an init.d system to set the changes on boot if you want.
Per App Modes
The process for using the downloaded zips is just the reverse of sharing them...
Unzip the file and place the .xml files in the appropriate folder (/sdcard/franco.kernel_updater/saved_per_app_modes if you use fku, or /sdcard/per-app_modes/saved_per_app_modes/ for the standalone Per-App Modes app)
Then go into into your app, back to the manage page, where we clicked the BACKUP MODES last visit, only this time, click the LOAD MODES button.
Now, if you had copied the .xml file to the right folders, you should see the new PAM modules loaded into the list.
I will try to keep my signature link up to date with posted settings, and try to keep an eye out for identical or substantially similar settings.
For those using mobile apps and can't see signatures, here is the link to the scripts.
the backup-script.sh file is in the scripts folder, kernel and pam settings are in the settings folder.
Custom Paths for Per-App Modes
One thing that the stand alone app brought that hasn't (officially?) been ported back to the fku app is custom paths...
Giving you the ability to use any tunable setting in your Per-App Modes. --now in fku
While you can add and edit these easily through the stand alone app (and one reason why I think you should get it) once you know how the files work, thy can also be used in the main fku app...
Because of this, I am somewhat hesitant to give out the directions without approval from franciscofranco... Per-App Modes is a paid app of his and I would hate to take revenue out of his pocket.
Okay, since @franciscofranco has given me permission to release this, here we are...
This Zip file contains all the (useful) per app mode custom paths... to use this DO NOT FLASH IT... this is just a simple zip, nothing else... just unzip it in the right location...
If you use the fku app, then you need to unzip it and move/copy the files from the zipped folder to the franco.kernel_updater/per-app_custom_paths folder.
If you use the standalone per app modes then follow the same directions as fku, but put the files in the per-app_modes/per-app_custom_paths folder
Cautions and Warnings
-Any and all zips you find in this thread should NOT be flashed via recovery, don't try, bad things may happen...
-Permission errors may occur when running scripts from this thread as root. I haven't been able to figure out why, but some roms seems to set various file permissions to 444 instead of the 664 that my script expects... if you do encounter this situation, let me know and I'll give you a quick fix for it (requires adding a line to the scripts)
I haven't added the fix to my backup-script yet because I'm curious what files they are.. I've encountered 2 files so far
- Upon further testing, we've learned that root browser (app) might not work to run these scripts... adb shell and terminal emulator are working properly though. (backup script needed a small tweak as well)
Kernel setting scripts
Nexus 5
STOCK Settings
r46
aow1980
April 17, 2014
The Gingerbread Man
April 13, 2014
Tzfardaya
April 13, 2014
Vomer
July 22, 2014
Per-App Modes
The Gingerbread Man
April 13, 2014
Francisco Franco
May 11, 2014 - Low Power
May 12, 2014 - Games, Low Power
Vomer
May 11, 2014 - Low Power
Subscribed
Sent from my Nexus 5 using XDA Premium 4 mobile app
Subscribed! This is gonna be good! I'll upload a few of my setups soon!
Interesting Kernel settings , will give it a try and test your script. Thanks for sharing. Good luck with your thread
Tapatalk Team SlimRoms
This would be the perfect place to share some custom paths too
Subscribed and I'll see about linking to this thread from my learner lounge
Sent from my Nexus 5 using Tapatalk
The Gingerbread Man said:
This would be the perfect place to share some custom paths too
Subscribed and I'll see about linking to this thread from my learner lounge
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
Yeah, I've got a zip of ALL the custom paths ready, just working on the write up for them...
and trying to solve a small moral dilemma with them...
This thread could also be used for all the supported fku devices if you were to split up the op into several device specific sections and ask about getting the thread moved to Android General forum. New posts can also be inserted on your behalf but you need to contact a moderator for both of these...
Sent from my Nexus 5 using Tapatalk
The Gingerbread Man said:
This thread could also be used for all the supported fku devices if you were to split up the op into several device specific sections and ask about getting the thread moved to Android General forum. New posts can also be inserted on your behalf but you need to contact a moderator for both of these...
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
I know, but I don't have the other devices to get the scripts set up for it.. and I'm more interested in working the nexus 5 right now..
I would have no problem if others wanted to use my scripts as a base for writing their own for swapping
Tzfardaya said:
Per-App Modes
The Gingerbread Man
April 13, 2014
Click to expand...
Click to collapse
FYI, getting a bad zip file here, but the tgbm.zip in your sig works just fine
(damn that was hard to write with auto correct on SwiftKey. Lol.)
Sent from my Nexus 5 using XDA Premium 4 mobile app
WettbackMartyr said:
FYI, getting a bad zip file here, but the tgbm.zip in your sig works just fine
(damn that was hard to write with auto correct on SwiftKey. Lol.)
Sent from my Nexus 5 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
heh, yeah, swiftkey autocorrection is a pain at times..
but I just downloaded through both the pc and nexus 5 and got clean downloads of that zip...
I'm not sure if the two gingerbread zip are different, but he just sent me the current batch today... (hence the date in the name) the others are from when I first worked on the scripts
Tzfardaya said:
heh, yeah, swiftkey autocorrection is a pain at times..
but I just downloaded through both the pc and nexus 5 and got clean downloads of that zip...
I'm not sure if the two gingerbread zip are different, but he just sent me the current batch today... (hence the date in the name) the others are from when I first worked on the scripts
Click to expand...
Click to collapse
Hmmmmmm :-/ I just can't get a good download on my Nexus 5. I'm not complaining tho, just trying to help for other people that may encounter the same. I got the scripts on my end one way or another.
Sent from my Nexus 5 using XDA Premium 4 mobile app
WettbackMartyr said:
Hmmmmmm :-/ I just can't get a good download on my Nexus 5. I'm not complaining tho, just trying to help for other people that may encounter the same. I got the scripts on my end one way or another.
Sent from my Nexus 5 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Try this one https://docs.google.com/file/d/0B2ar5BB6clkDQ0JfMVQ3NGtucEU/edit?usp=docslist_api I probably won't keep it in my drive long but feel free to get it while its there
Sent from my Nexus 5 using Tapatalk
How do I run (as root) or file manager for script ?where do I put the script file for kernel settings? I open the .sh file and it open and I see just texted files
Sent from my Nexus 5 using xda app-developers app
Just tested The Gingerbreads configuration and I must say I definitely see an improvement from the settings I had previously set. Nice job.
The Nexus 5 advocate (Team Inferno)
Ramone360 said:
How do I run (as root) or file manager for script ?where do I put the script file for kernel settings?
Sent from my Nexus 5 using xda app-developers app
Click to expand...
Click to collapse
It doesn't matter where the scripts are ran from, you run them either by selecting them in the file browser or running the following commands in a terminal emulator.
Code:
su
Then
Code:
sh <script-name>
Just realize that running the script alone will not keep the settings across reboots...
You need some other way to persist the settings... Either using fku or an init.d system.
My recommendation is fku, use these scripts to set the values all at once, then use the fku set on boot toggles.
All a shell script is is a text file with a series of shell commands, it's only purpose is to run a series of commands in a row to prevent forgetting one or making typos... It's like the old dos/Windows batch commands...
Tzfardaya said:
It doesn't matter where the scripts are ran from, you run them either by selecting them in the file browser or running the following commands in a terminal emulator.
Code:
su
Then
Code:
sh
Just realize that running the script alone will not keep the settings across reboots...
You need some other way to persist the settings... Either using fku or an init.d system.
My recommendation is fku, use these scripts to set the values all at once, then use the fku set on boot toggles.
All a shell script is is a text file with a series of shell commands, it's only purpose is to run a series of commands in a row to prevent forgetting one or making typos... It's like the old dos/Windows batch commands...
Click to expand...
Click to collapse
Sorry I still don't get it. I'm too familiar with terminal emulater. l always use root explorer. I downloaded the file but now my question is how do I run as root.
Sent from my Nexus 5 using xda app-developers app
Sent from my Nexus 5 using xda app-developers app
To run the script from terminal emulator you'll need to first locate the file.. But you need to be root to launch an .sh file.
Type "su" without quotes and let SuperSU prompt you, make sure you grant it root access.
Navigate to the file by using the "cd" command without quotes.
If you're like me..and downloaded it from a browser or Tapatalk.. You'd type cd storage/sdcard0/Download
Then run "ls" without quotes to make sure the file is in there. Once it is make a note of the name.
Type su FILENAME.sh (replacing filename with the actual name of the file) and hit enter. Should have worked. It did for me. If done correctly you should see no confirmation or error message. In Linux no messages are a good thing.
PS : don't forget to grant root to terminal emulator if you haven't yet. Remember to use FKU or init.d to make settings stick after reboot.
Edited to include "su" command for those who don't know how to run terminal emulator as root.
The Nexus 5 advocate (Team Inferno)

Categories

Resources