Full Charge Popup!? Please help - Fascinate General

Can anyone put this in a cw flashable zip or have one already? I need to get rid of the stupid popup that tells me my battery is full. It wakes me up and it seems to keep my alarm clock from going off sometimes!?
1. decompile/de-odex services.jar/odex
2. open "com\android\server\status\StatusBarPolicy.smali" in a text editor
find ".method private showFullChargePopup()V" about line 2779
and remove the entire method all of it from ".method private showFullChargePopup()V"
to .end method
and delete this line at about line 3441
invoke-direct {p0}, Lcom/android/server/status/StatusBarPolicy;->showFullChargePopup()V
3. save, compile and re-odex as necessary
Click to expand...
Click to collapse

What ROM version and theme? The services.jar file changes between roms and themes.

Blackhole 3.0 DL09

Oh my god! If you could also do this for me, or just tell me how or something ( I have no idea what the dedeoxin' does or anything) I would be forever thankful! haha
I have DJ05 Superclean JT rom

Its just an simple apk you can get rid of via root explorer or titanium backup or whatever.
In titanium its called FullBatPopupApp 1.0, I have removed it with no ill effects. The name of the apk in /system/app/ is FullbatPopup.apk
Sent from my SCH-I500 using Tapatalk

1. You need to have java installed for this. You will also need smali/baksmali
2. Open command prompt or linux terminal with your phone plugged in. Also navigate to or create a directory to perform the work in.
3. Once in your working directory, run:
Code:
adb pull /system/framework/services.jar
3a. If your system isn't de-odexed, you may need to pull an odex file as well
4. Take the smali/baksmali files you downloaded earlier and put them in the same directory that your services.jar file is in.
5. Run the following (assumes windows command prompt):
Code:
java -jar baksmali-<version>.jar services.jar
5a. If your system is not deodexed, you will likely need to deodex the system/services.jar for this to work.
6. Open the file required for the edit and make the needed changes.
7. Run the following (again, assuming windows command prompt):
Code:
java -jar smali-<version>.jar out -o classes.dex
8. Replace the classes.dex file within services.jar with the new classes.dex file
9. Push the file to /system/framework with adb, then reboot:
Code:
adb push services.jar /system/framework/services.jar
adb reboot
9a. You may need to remount the /system partition as rw to push the file.
10. On restart, the phone will take longer to boot, but assuming the changes were made properly you should be good.
I left out some information for the "a" steps on purpose. If you cannot do these steps yourself, or find how to do them, you likely shouldn't be doing this on your own. As always, backup your phone/data before trying this, and I am not responsible for any lost data, non-booting phones, or bricked devices. If you are unsure of what you are doing, then don't do it.

n0yd said:
Its just an simple apk you can get rid of via root explorer or titanium backup or whatever.
In titanium its called FullBatPopupApp 1.0, I have removed it with no ill effects. The name of the apk in /system/app/ is FullbatPopup.apk
Sent from my SCH-I500 using Tapatalk
Click to expand...
Click to collapse
Removing that does nothing, already did it and I still get the popup.

Or just find the post with the hidden menu dialer codes and turn it off that way.........
Sent from my SCH-I500 using XDA App

Even the hidden dialer menu does not always work either. Plus I thought the hidden menu was not accessible in DJ05/DL09? Maybe this is with certain roms?

yea I hate that popup. Ive removed the apk also and still it keeps popping up. A fix would be greatly appreciated!!!

The dailer codes worked for me. Using Blackhole 3.0. Just make sure you include the Hidden Menu when building your rom.
Sent from my SCH-I500 using XDA App

imnuts said:
Removing that does nothing, already did it and I still get the popup.
Click to expand...
Click to collapse
Weird, I never noticed. Thanks for letting me know
Sent from my SCH-I500 using Tapatalk

+1 on getting rid of this stupid pop up.
Man I hate that thing.

I posted instructions on how to do it. I'm not going to do the mod for everyone, so do it on your own, or ask the rom builder to include the change in the rom. There are to many roms and themes out there to try and accomplish this for every possible combination.

Hidden menu method would not work for me on dj05.
Changed it to disabled and it still pops up

I just went in with root explorer and mounted system/app as RW, renamed FullBattPopup.apk to FullBattPopup.apk.OLD and it did not get recreated after a reboot. I guess I'll have to wait till a full charge to see if it comes back.

I just used Titanium Backup to freeze FullBatPopupApp.
Will report back after I change my phone....
Sent from my Samsung Fascinate

Pfredd said:
I just used Titanium Backup to freeze FullBatPopupApp.
Will report back after I change my phone....
Sent from my Samsung Fascinate
Click to expand...
Click to collapse
As I figured, freezing didn't remove the popup.
I went ahead and edited the services file, as specified earlier in this post. I followed the procedure provided by imnuts and did the edits as specified in the post by Nimhlan.
It appears to work like a charm. No more Full battery popups!
I would post my edited file, but I suspect it is dependent on what kernel/ROM you are running....

Do you download the smali 1.26.jar & baksmali 1.26 jar or just the baksmali & smali file in the link provided.

ellisz said:
Do you download the smali 1.26.jar & baksmali 1.26 jar or just the baksmali & smali file in the link provided.
Click to expand...
Click to collapse
You need the *.jar files. However, I tried making the edit and I still get the popup.

Related

Flashlight Preinstalled in Vodafone Froyo release

Hi,
Can anybody extract the APK for the LED Torch app preinstalled in Froyo?
I saw that the one include with Froyo on the Desire works with a Desire with Eclair. (But doesn't work with my Legend) So I would like to check if the one included in Froyo for the Legend will also work with the Legend on Eclair.
The package name is com.htc.flashlight
Thanks!
U don't have to wait....
Try this APP: Lamppu
But first u have to (Soft)root your Legend with (Universal Androot)
After that, install superuser APP. Now start Lamppu and allow superuser rights...
Now u can use your LED as torch.
Tried it self on my legend v.2.1
Sure about the name?
The only thing I found in the Modaco ROM was Flashlight.apk
Then again...I have no clue what I am doing
above file is not working
Yeah it doesn't install
Ok gentlemen, one more try.
Extracted, re-zipped and signed the apk using apk-manager.
Removed the system app from my phone using TitaniumBackup and installed the signed apk through Root Explorer.
Works for me. No guarantee that it does for any other ROM or Android version though.
Sorry for the video but I just found out how to do screencasts and love it
Its German but you should be able to understand it.
Notice that it is now uninstallable and listed as downloaded app.
denisman said:
Ok gentlemen, one more try.
Extracted, re-zipped and signed the apk using apk-manager.
Removed the system app from my phone using TitaniumBackup and installed the signed apk through Root Explorer.
Works for me. No guarantee that it does for any other ROM or Android version though.
Click to expand...
Click to collapse
Installed and ran for me in stock 2.1 but it didn't do anything with the flash when playing with it
Thanks for trying!
This one is installing correctly, and also loading correctly, but it doesn't light up the LED.
So it isn't working
Are you phones rooted?
First of all, you have to have deodexed apk and second, you need to set right permissions in sysfs.
Sent from my HTC Legend
BlaY0 said:
First of all, you have to have deodexed apk and second, you need to set right permissions in sysfs.
Sent from my HTC Legend
Click to expand...
Click to collapse
The apk is deodexed. As for the permissions. No clue how to set them right
Had to read up an hour last night just to learn enough to extract it. Big newbie here hehe. Guess I'll check some threads about sysfs permissions and try it again later.
Sysfs is everything under /sys directory. File /sys/class/leds/flashlight/brightnes should have read-write permission set for everyone.
Sent from my HTC Legend
BlaY0 said:
Sysfs is everything under /sys directory. File /sys/class/leds/flashlight/brightnes should have read-write permission set for everyone.
Sent from my HTC Legend
Click to expand...
Click to collapse
Ahhh thanks! I guess I understand now.
Ok I just flashed whitetigerdk's rev03 ROM which is a rooted 2.03 ROM.
Than I did the following in adb shell:
Code:
chmod 777 /sys/class/leds/flashlight/brightness
checked permissions with:
Code:
cd /sys/class/leds/flashlight
ls -l
and it has rw permission for everyone now.
Code:
-rwxrwxrwx root root 4096 2010-12-01 16:29 brightness
Problem is, that booting the phone resets the permissions.
EDIT:
I just repeated the procedure while the phone was booted in normal mode.
Permissions successfully changed AND flashlight is working correctly, including all three different light settings!
Still, a reboot resets the permissions.
Guess I have to find a way to make this change permanent now and all is done
Hah so cool. Never used chmod or any other linux command until today. Had to google everything while I was testing. Nice how much one can learn here.
Another EDIT:
Found something else that is interesting.
http://developer.android.com/reference/android/Manifest.permission.html#FLASHLIGHT
Would adding this to the AndroidManifest.xml help aswell? I'd do it myself but I have to work soon. Just tried it decoding the xml with AXMLPrinter and adding it. Unfortunatly I don't know how to save the xml in the right format again and just saving it corrupts the apk. If noone else wants to give it a try I'll check back after work.
denisman said:
Still, a reboot resets the permissions.
Click to expand...
Click to collapse
Yeah... this is done via init.rc which is inside initrd image. So you have two options... tweak init.rc (you would need to unpack boot.img image and extract initrd image, edit init.rc, make new initrd image and construct back boot.img... this can all be done in one swoop with dsixda's kitchen) or make a script that is run every boot (we are doing it via run-parts which also requires editing of init.rc... once again dsixda's kitchen can add this functionality in a single swoop)...
As for "android.permission.FLASHLIGHT" I'm not sure about it as I can see that HTC is doing it avoiding it (setting permissions to 666 by default in FroYo)...
If you want decoding/encoding xmls use ApkManager. It's a nice CLI tool that can decompile and compile apks back...
You are quite a fast learner, congrats.
Back home Got pretty late.
I don't actually need this since I am running a rooted Froyo ROM anyways but thought it would be an interesting task to get this working for others to easily use it and for me to learn more about Android. The first option sounds like it would require a bit too much end-user activity and would be limited to a certain set of ROMs if I understand it correctly.
Leaving the second and third option as the most user-friendly ones I guess.
I will read up more on init.rc and ways to script for it tomorrow. Sounds like a very powerful "tool" to know.
For now I will concentrate on the XML. Might be the most comfortable and ROM-independent way if I get it to work.
BlaY0 said:
As for "android.permission.FLASHLIGHT" I'm not sure about it as I can see that HTC is doing it avoiding it (setting permissions to 666 by default in FroYo)...
If you want decoding/encoding xmls use ApkManager. It's a nice CLI tool that can decompile and compile apks back...
Click to expand...
Click to collapse
Used Apk Manager to extract, zip and sign the apk in the first place. Really nice tool. Just didn't find an option to convert the xml from binary to readable, that's why I used AXMLPrinter2.jar which can do the conversion one-way but not back to binary.
I'll find a way
Thanks again for the input! Helped me a lot!

[TUT]Revive your(original) framework-res.apk when boot looping caused by modding

Hi all,
i often noticed people(including me) who tried to modificate their framework-res.apk resulting in boot loops(e.g. looping at white/green quietly brilliant screen).
So i tried to find out a fast way to get back to my(original) framework-res.apk without usage of recovery console each time my framwork-res.apk did not work as expected.
How it could help you:
It's a fast way to:
check out your moddings when doing numerous modifications in different versions of your modded framework-res.apk on your way to get it to work.
if you want to get back to your original/working framework-res.apk, even when it boot loops!
Click to expand...
Click to collapse
When you do numerous modifications on framework-res.apk and your modded apk leads to a boot loop you will be able to replace the current apk through e.g. the original apk.
At this boot point(boot loop screen) Android nearly finished booting and you have access on ADB commands.
What do you need to do this:
Download and extract/install QtADB from the link below:
QtADB
to replace the erroneous(current) framework-res.apk by the original or a fixed one.
Click to expand...
Click to collapse
There's no need to describe how to get a copy of your untouched framework-res.apk from device, since there are numerous tutorials around here.
Please check this tutorials to get a copy of your apk.
Please note before beating your device:
this probably will work with the most visual moddings of framework-res.apk - but i can't guarantee it works 100%.
It probably will not work when you play around with hardware or connections setting, other apk's or other stuff in other folders, so i am not responsible if it does not work.
always backup your current ROM/settings/whatever and save a copy of your untouched framework-res.apk
There is a little catch in it in comparsion with using recovery:
After you did like described, you have to set your background image and your (google) accounts anew.
But this is just a little work and it's not necessary until your framework-res.apk is doing the modded stuff correctly - or if you want to set the original framework-res.apk back.
Click to expand...
Click to collapse
So let's start to revive your original framework-res.apk.
(Of course you can use this method to push a modded to your device, to check out if your modding works):
Boot your device and let it load until you're at boot loop
(Download, extract,) run QtADB
Navigate in left window(Computer) to your copy of original framework-res.apk(e.g. in root directory of SD card, but i recommend a folder on your computer)
Navigate in right window(Phone) to device folder /system/framework/
Use in left window(Computer) context menu on your original framework-res.apk and select copy or drag&drop it to right window to copy the original framework-res.apk to your device
(just ignore that your device is doing strange stuff then, since it cannot access your framework-res.apk correctly at this point)
Then enter shell of QtADB(at left toolbar of QtADB) and enter the following commands to set the apk's prermissions:su
cd /system/framework/
chmod 777 framework-res.apk​
Reboot your device( e.g. by using top menu->tools-ADB->reboot)
Set your background image and your (google/HtcSense) accounts anew.
Hope it helps you a bit on modding,
Greetings, brush2(Stephan)
error
hey man, Im getting an error on this. I changed my transitions effects ( folder anim on framework-res.apk) using the app metamorph. well, now every time I open an app the phone ( xt920) reboot. I ask my friend that have the same phone to send me his framework-res.apk. I try to replace using this method but dont got. I draged and droped the new apk and when I would type the shell's code the last code dont work because it said that the file is a "read-only system". What can I do to have my phone back? Please help.
Thanks.

[How-To] Re-Odex a Rom

Why this tutorial?
I made this tutorial for the galaxy 3, but then some user reported me that it worked on another phone, so I post this thread here again.
I wanted a good odexed rom, but there isn't any here. So I tried to make my own odexed rom, but it wasn't so good. So I read something about re-odexing and tried it out. I modified it a little bit and I don't know all about re-odexing, so if someone know something better, pls post it here in the thread for everyone. English is also not my mother language, but I hope you'll understand me
What is a odexed and a deodexed rom?
When you look at a stock rom in the folder /system/app, you will see files with the ending .odex and the apks doesn't contains classes.dex files. When you look at a deodexed rom, you'll see that there are no .odex files and the apks contains classes.dex files. Basically every apk contains a classes.dex files. Then the dalvik virtual machine generates a dalvik cache based of the classes.dex file. When you load a app, it will be loaded from the the dalvik cache, not from the apk. Samsung built the odexed rom using a tool called dexopt-wrapper. This tool generates .odex files based from the classes.dex, that means it does the same job like the dalvik vm. The .odex files were pushed in the /system. The files are the replacement for the dalvik cache. Like I wrote above, apps are loading from the dalvik cache, not from apk or classes.dex file, so classes.dex are not needed anymore, so they are deleted in odexed roms. Deodexing using xUltimate means regenerating a classes.dex based from the .odex file, merging it into the apk and deleting .odex.
What are the advantages and disadvantages from a deodexed rom?
Advantages:
-All needed things are in one apk, so modding/theming is (better) possible
-Needs less space on /system
Disavantages:
-Needs more space on /data
-Is not so stable than a odexed rom
-Slower on first boot(because a odexed rom has already execute ready .odex files, a deodexed rom needs to generate dalvik cache)
What do I need to re-odex?
-A rooted phone
-A full NANDroid Backup
-More than 30 mb free space on /system
-ADB drivers for Option 1
-Titanium Backup Pro for Option 2
How can I re-odex a Rom?
There are 2 Options to do it, but only the first does a full re-odex.
Before doing anything make sure that you have a full NANDroid Backup because you'll propably get into a bootloop and I cant guarantee that it works on your device/rom.
Option 1 using dexopt-wrapper:
I used first the script from puppet13th, but I got into a bootloop. So Ive done some changes and tried it until it worked
Some users told me that you can re-odex the rom without being in CWM, so you can may skip Step 2, but you could get into a bootloop without Step 2, but you can try it out, there is no risk with a NANDroid backup
Step 1: Configure the script for your device:
The attached script is made for the galaxy 3, so you have to configure the script for your device. If you done it, pls upload it and post it here for other users.
Download the zip(link below) for your system and unzip it. Then go to the folder "odex" and then open there the file/script "odex" with your favourite text editor(I suggest Notepad++).
You only have to replace the $BOOTCLASSPATH. You can find the valid $BOOTCLASSPATH in /init.rc. Enter your $BOOTCLASSPATH after "BOOTCLASSPATH=" for example so(beginning from Line 8):
Code:
BOOTCLASSPATH=replace_this_with_your_bootclasspath
cd /system/framework
for filename replace_this_with_your_bootclasspath
In the line
Code:
for filename replace_this_with_your_bootclasspath
you must replace the ":" character between framework files with a space.
Step 2(optional): Reboot your phone into cwm recovery and get adb access there
For best results you should re-odex in the recovery menu. Some users told me that it also works in a running system, so you can also try it in a running system, but you must mount /system rw before.
So if you want to re-odex in the recovery menu, reboot into recovery and make sure you have adb access.
Step 3: Ensure /system & /data is mounted, Connect your phone and run reodex script
Make sure that /system and /data is mounted in rw mode(in recovery: go to mount & storages, in a running system:use root explorer) and connect your phone with your computer.
You already downloaded the re-odex script in step 1. Your computer will push it over adb with the needed binaries to your phone. The script will create odex files, will delete classe.dex from the apk/jar, will rezipalign your apks and will delete the dalvik cache.
For windows users: double click on odex.cmd
For linux users: open a terminal and navigate to the folder which contains the unzipped attachment and run
Code:
chmod +x reodex.sh
./reodex.sh
After its finished, simply reboot and enjoy your fully re-odexed rom.
Step 4 (optional) convert /data:
I dont know if there is a better option, but after a re-odex with Option 1, my phone didnt showed the right free space on /data. So I converted /data to a other filesystem and back and then it showed the right free space.
So check your free space and if its wrong, convert your filesystem if you kernel support that.
Option 2 using Titanium Backup Pro:
You need to have Titanium Backup pro for re-odexing.
Step 1:
Select Menu -> More -> integrate sys dalvik into rom and wait until its finished. Then you should have more space on /data. I had when I tried it before 105 and after 135 mb free space on /data and 0kb free space after it on /system, so its not all.
You can also undo it. Its good when you want to try out a new theme, so you can undo and redo it using TB Pro.
Simply select Menu -> More -> Undo sys dalvik integration
and you're done.
Option 1 vs. Option 2
-Option 1 does a full re-odex, you have full free space on /data(Option 2 does only re-odex the apps in /system/app, not the framework(/system/framework)
-Option 1 deletes classes.dex from apks and jars(against Option 2), so you have more space free on /system
-You can undo Option 2 fast, so theming/modding is also possible by undo, theme and redo it, you can also undo Option 1, its called deodexing, but its not so fast
Download Links
XDA gaves me only 500 Errors when uploading was done, so I uploaded it to min.us
Re-Odex Script for Windows
Re-Odex Script for Linux(probably doesnt work, I cant reupload because I dont have the file anymore)
Working on...
There are only phones in the list, which were reported as working by users. It can aso work on a phone which isnt in the list.
Samsung Galaxy 3(working with default script)
HTC Amaze 4G(no script attached)
HTC Evo 4G(script here)
Samsung Galaxy S2(script here)
Motorola Atrix(script here)
Nexus S (4G)(script here)
XPeria Ray(script here)
SGS 1 maybe(working script for ICS aokp here and a working script for 2.3.6 (XWJW5) here)
Wildfire S(script here)
Nexus 7(script here)
TF700T & TF300T(script here)
Xperia Ray GB REPACK4PDA_V7(script here)
Acer A510 and Asus Transformer Prime TF201(script here)
Credits
puppet13th for making orginal script
If I helped you, you can press the thanks button under the post.
Thanks very much! I can confirm this works on the HTC EVO 4G. I have attached my odex file. I had to upload it as a ".txt" file, be sure to remove the ".txt" from the "odex.txt" before using
Thanks, I will have a look and try this on my xperia play
Sent from my R800i using xda premium
Thanks a lot. This works on the Atrix.
Odex file attached.
working on Galaxy S II
edited odex file in attachments
Yup mines work on the evo 4G too thanks. Now I have a odex rom. would post the file but swagstr beat me to it. same path as mine.
Nice to see that it's worked without problems on all devices, which tried by users. If I forgot to mention: a g3 rom developer asked me, if he is allowed to publish a rom which was reodexed with my script.
And yes all secs are allowed to publish rom's which are reodexed with my script. You must not add me to the credits, but it would be great if you do it.
Anyway to individually re-odex .apks with this mod?
swagstr said:
Anyway to individually re-odex .apks with this mod?
Click to expand...
Click to collapse
Yes, in my reodex package is a folder odex, theres a binary "dexopt-wrapper": copy this to your phone and give it executeable rights and then run over adb or term-emulator:
Code:
dexopt-wrapper <input.apk> <output.odex> <$BOOTCLASSPATH>
Working on Sony neo v so should work on Xperia 2011 range
Reserved
Sent from my SGH-T989 using xda premium
Works great!
I'll upload my odex file for the Nexus S 4G
Edit: Here's my odex file for the Nexus S 4G (probably the same for Nexus S)
jr_718 said:
Reserved
Sent from my SGH-T989 using xda premium
Click to expand...
Click to collapse
For what reserved?
Hey, is there any way to do this on a PC? Like, place /system/app and /system/framework/ in specified folders then run the odex script and it can odex the apk's and jar's on the desktop?
fergie716 said:
Hey, is there any way to do this on a PC? Like, place /system/app and /system/framework/ in specified folders then run the odex script and it can odex the apk's and jar's on the desktop?
Click to expand...
Click to collapse
You need the android phone to execute dexopt-wrapper binary. But you can do that over adb. You can reodex all over adb and then pull the reodexed files, but you can also do a nandroid backup, reodex your rom and make then
Adb pull /system/app/
Adb pull /system/framework/
After that you have the files on the pc and you can restore your nandroid backup.
TearsDontFalls said:
You need the android phone to execute dexopt-wrapper binary. But you can do that over adb. You can reodex all over adb and then pull the reodexed files, but you can also do a nandroid backup, reodex your rom and make then
Adb pull /system/app/
Adb pull /system/framework/
After that you have the files on the pc and you can restore your nandroid backup.
Click to expand...
Click to collapse
I see.. Yea that makes sense.
Thank you!
Hmm....but its not a good to go option for ROM developers with no device.
Can anyone make bat script to do this without andro phone?(I m not good windows dev )
I mean the same way dsixdas kitchen de-odexes
Sent from my Micromax_A70 using Tapatalk 2 Beta-4
varun.chitre15 said:
Hmm....but its not a good to go option for ROM developers with no device.
Can anyone make bat script to do this without andro phone?(I m not good windows dev )
I mean the same way dsixdas kitchen de-odexes
Sent from my Micromax_A70 using Tapatalk 2 Beta-4
Click to expand...
Click to collapse
Rom developers without device? Okay, it might be possible to do that under linux and im pretty sure that the binarys should work under linux, but windows isnt possible.
TearsDontFalls said:
Rom developers without device? Okay, it might be possible to do that under linux and im pretty sure that the binarys should work under linux, but windows isnt possible.
Click to expand...
Click to collapse
TommyTomatoes had something going on maybe you could borrow his script and improve on it or work together.
Sent from my powered Shooter E3D with Infection of AnthraX Jamz by wolf.
.Elite_The_King. said:
TommyTomatoes had something going on maybe you could borrow his script and improve on it or work together.
Sent from my powered Shooter E3D with Infection of AnthraX Jamz by wolf.
Click to expand...
Click to collapse
Sorry, i dont understood anything. Whats tommytomatoes script about?

[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?

[Guide][How to] Dynamic Nav Bar for Nougat

I don't understand why this isn't a feature of stock Android. They did it with the notification bar, but why not the navigation bar? The main reason for doing this is to prevent the navigation bar from being burned into your screen. There are Xposed modules for Lollipop/Marshmallow that do this exact same thing, making this mod unnecessary on those versions of Android. Since there's no Xposed for Nougat (or if you don't like using Xposed on Lollipop/Marshmallow), doing this mod will make your navigation bar dynamically change color to match your notification bar.
***Please Note***
This isn't perfect. In applications like Google Messenger the navigation bar doesn't change to match the color of the contact you're texting, but it's better than nothing.
Prerequisites:
- Nexus 6 with USB debugging enabled in developer settings
- TWRP
- ADB fully setup and functional
- Text editor (gedit (Linux), NotePad++ (Windows), or whatever you like to use)
- Archive Manager (Linux) or 7Zip (Windows)
- Apktool 2.2.2 (link at the bottom of this post)
- Apktool Windows wrapper script (Windows only)
Step 1: Boot into TWRP
Step 2: Select mount, then select system
Step 3: Connect your Nexus 6 to your computer and fire up a terminal (Linux) or command prompt (Windows)
Step 4: Navigate to the folder containing ADB (platform-tools).
Step 5: Type "adb pull system/framework/framework-res.apk".
Step 6: Type "apktool if framework-res.apk" This installs the framework
Step 7: Type "apktool d framework-res.apk" This decompiles the apk
Step 8: Navigate to res, values, and open styles.xml with your text editor of choice
Step 9: Search for "navigationBar". There will be three instances of it. You only have to change the last two. Change "@colorBlack" to "?colorPrimaryDark" and save your changes
Step 10: Open colors.xml and search for "input_method_navigation_guard". Change "ff000000" to "00000000" and save the file. If you don't change this, the navigation bar will turn black when you open the keyboard
Step 11: Go back to your terminal window/command prompt and type "apktool b framework-res". This recompiles the apk
IF YOU SKIP THE FOLLOWING STEP YOU WILL END UP IN A BOOTLOOP!!!!!!!!!!
Step 12: Delete META-INF and AndroidManifest.xml from the modified framework-res.apk and copy over the ones from your original framework-res.apk
Step 13: Push the modified framework-res.apk to your device with ADB or by boot into recovery, copy it to your phone, and use the TWRP file manager to move it to /system/framework. If you do the TWRP method, be sure to set the permissions to 0644 or your​ phone will not boot.
Step 14: Boot up your Nexus 6 and test it out!
Link to Apktool
Nice tutorial. However, the reasons you're having issues "reusing" an existing modified copy of framework-res.apk are twofold.
1. You're re-signing a system app. Unless things have changed in the four years since I last modified framework-res.apk, system apps are not signed.
2. The apk can also be moved into /system/framework using a file explorer on the device. It simply cannot be done in one shot as the permissions need to be changed prior to the final move into /system/framework.
The framework is Android version dependent, so an Android 5.x framework will not work in Android 6.x or 7.x. However, replacing the framework on multiple copies of the same version of Android is certainly possible. I have to head off to work, but when I have a spare moment upon getting home I'll generate a "reusable" framework, and a flashable zip as well.
Strephon Alkhalikoi said:
Nice tutorial. However, the reasons you're having issues "reusing" an existing modified copy of framework-res.apk are twofold.
1. You're re-signing a system app. Unless things have changed in the four years since I last modified framework-res.apk, system apps are not signed.
2. The apk can also be moved into /system/framework using a file explorer on the device. It simply cannot be done in one shot as the permissions need to be changed prior to the final move into /system/framework.
The framework is Android version dependent, so an Android 5.x framework will not work in Android 6.x or 7.x. However, replacing the framework on multiple copies of the same version of Android is certainly possible. I have to head off to work, but when I have a spare moment upon getting home I'll generate a "reusable" framework, and a flashable zip as well.
Click to expand...
Click to collapse
1. The first time I did this I didn't sign the app and ended up in a bootloop. After researching the issue I came across a post that said signing the app was necessary. Signing it fixed my problem, so I've signed it ever since out of habit. Next time I do this I'll skip signing it and see what happens. If I don't get a bootloop I'll remove it from the guide. It's possible I had a permissions error or something.
2. While moving it with a file explorer is possible, I just prefer ADB, so that's why I used it in my guide.
I realize that they're version dependant. I wasn't trying to use a modified framework-res from Marshmallow on Nougat or anything like that. For example, when I tried reusing one from the November factory image on the December security update, or one from the November image on Pure Nexus, I get a bootloops, so that's why I assumed it necessary to create a new one each time. It's not like this mod is hard or takes a large amount of time, so why not redo it each time just for fun?
Face_Plant said:
It's not like this mod is hard or takes a large amount of time, so why not redo it each time just for fun?
Click to expand...
Click to collapse
Not everyone likes playing around with app mods. When I last did it, it was to enable the network location service on a Coby tablet running Android 4.0.3. That was NOT fun as it involved smali editing. At least this is only an XML edit.
Strephon Alkhalikoi said:
Not everyone likes playing around with app mods. When I last did it, it was to enable the network location service on a Coby tablet running Android 4.0.3. That was NOT fun as it involved smali editing. At least this is only an XML edit.
Click to expand...
Click to collapse
I didn't mean for all mods, just this one. Like you said, it's only simple changes to two XML files.
After getting some practice by doing this a couple of times it only takes a few minutes to complete, depending on the speed of your computer. It takes me about 30 minutes since my Ubuntu machine is an old early 2000's PC that takes about 10 minutes to decompile the app, 10 minutes to sign it, and 10 more to recompile it... I'll be able to knock 10 minutes of that time if what you're saying is correct and signing it is unnecessary.
I'll try it again after class today and remove the signing bit if all goes well [emoji106]
Great write-up, worked well OP!
You can after recompile of the framework-res folder, you can delete the AndroidManifest.xml in the new APK, and copy the AndroidManifest.xml and META-INF folder from the original framework-res.apk into the newly built APK...hopefully that makes sense.
No need to sign. That's what I did and it worked just fine, eliminates a step. I use 7zip to do all of that BTW.
RMarkwald said:
No need to sign. That's what I did and it worked just fine, eliminates a step. I use 7zip to do all of that BTW.
Click to expand...
Click to collapse
Good to hear. Those steps have been removed from the guide.
I wonder why signing it fixed my problem when I did this on Marshmallow earlier this year... I guess I screwed up something else and the second time around when I signed it I didn't screw up whatever I did wrong the first time.
Face_Plant said:
Good to hear. Those steps have been removed from the guide.
I wonder why signing it fixed my problem when I did this on Marshmallow earlier this year... I guess I screwed up something else and the second time around when I signed it I didn't screw up whatever I did wrong the first time.
Click to expand...
Click to collapse
Could depend on the app maybe? Not too sure there. I started wanting to learn modding apks (mainly making color changes, etc) by guides similar to this, the whole "I wonder if I can do that?" thing. Hopefully this will encourage those looking to try something like this that isn't too difficult to do to give it a shot and try it, just remember to have a backup of framework-res.apk handy, always can be adb pushed back via recovery if something goes south.
Thanks again for this OP, so far working great!
Awesome write up!
Not trying to hijack the thread, but for those not comfy making mods, there is "an app for that" Navbar Apps
Simple app that will dynamically change your nav bar color as well as other goodies.
recompiling it fails. i get this error on Ubuntu 16.10 I even tried using sudo
I: Using Apktool 2.2.0-dirty
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathNotExist: apktool.yml
at brut.androlib.Androlib.readMetaFile(Androlib.java:258)
at brut.androlib.Androlib.build(Androlib.java:270)
at brut.androlib.Androlib.build(Androlib.java:263)
at brut.apktool.Main.cmdBuild(Main.java:224)
at brut.apktool.Main.main(Main.java:84)
Caused by: brut.directory.PathNotExist: apktool.yml
at brut.directory.AbstractDirectory.getFileInput(AbstractDirectory.java:105)
at brut.androlib.Androlib.readMetaFile(Androlib.java:254)
... 4 more
how do i deal with this?
i see the yml file right in the folder
kidhudi said:
recompiling it fails. i get this error on Ubuntu 16.10 I even tried using sudo
I: Using Apktool 2.2.0-dirty
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathNotExist: apktool.yml
at brut.androlib.Androlib.readMetaFile(Androlib.java:258)
at brut.androlib.Androlib.build(Androlib.java:270)
at brut.androlib.Androlib.build(Androlib.java:263)
at brut.apktool.Main.cmdBuild(Main.java:224)
at brut.apktool.Main.main(Main.java:84)
Caused by: brut.directory.PathNotExist: apktool.yml
at brut.directory.AbstractDirectory.getFileInput(AbstractDirectory.java:105)
at brut.androlib.Androlib.readMetaFile(Androlib.java:254)
... 4 more
how do i deal with this?
i see the yml file right in the folder
Click to expand...
Click to collapse
Is Apktool installed correctly? Have you tried using Apktool 2.2.1? Maybe 2.2.0 isn't compatible for some reason? These are obviously just guesses. I'm no master at reading error logs...
ok i figured that out..
will this technique work on nitrogen version 7.1.1 because the nav bar doesnt change but when i pull the framework-res.apk the xml files are in fact altered.
---------- Post added at 09:13 PM ---------- Previous post was at 08:24 PM ----------
Face_Plant said:
Is Apktool installed correctly? Have you tried using Apktool 2.2.1? Maybe 2.2.0 isn't compatible for some reason? These are obviously just guesses. I'm no master at reading error logs...
Click to expand...
Click to collapse
no the command in the tutorial didnt work. because i was compiling a folder named framework-res and not an apk all i did was remove the .apk from the command supplied and it worked finally
also i dont know if it is an error but the push command has an lsystem for the location to be pushed. that wasnt working either.
thanks for the reply bro
Thanks face_plant. It was working the whole time. I thought I would get the pixel icons lol. My bad
Great tut thanks
kidhudi said:
Thanks face_plant. It was working the while time. I thought I would get the pixel icons lol. My bad
Great tut thanks
Click to expand...
Click to collapse
Pixel buttons are from the Substratum theme I'm using. You can get those too by being on a Nougat ROM that supports Substratum and using Pixel UI theme from the Play Store.
Just a heads up, if you're on 7.1.1 the theme won't work. It needs to be updated to support 7.1.1. Haven't tried it on 7.1, so it may or may not work.

Categories

Resources