Attached is a mod I've spent the last week and a half working on for my friend and I. We were working out and found it a hassle to have to bring out our phones from our pocket in order to seek past tracks. This mod allows you to now seek from your pocket easily.
Those of you who've used CM6/7 are probably aware of a feature they have where you can seek music tracks with the screen off using the volume up (forward track) / volume down (previous track) buttons.
Essentially, I've ported this feature onto the Samsung Framework. Since the Samsung Framework is closed source, I had to reverse engineer a lot of their functions in the Android.Policy framework which took a while. Although the CM6/7 is open source, the code they provide is in Java which you can't really inline with dalvik assembler code so converting their relevant functions into .smali compatible code took more time.
Because of this, I'm only releasing this for Leomar75 (v. 2.6 XXKH3) Rom since it's the Rom I've settled on. I have not tested it on other roms, it may or may not work with others, I make no guarantees. However, I'm ~80% sure it will work with other KH3 based Samsung Firmwares. I don't have time, or the will, to port it to other roms so please don't ask.
Installation:
Make a Nandroid backup using Clockwork Recovery.
Wipe your Cache & Dalvik Cache.
Unzip the file.
ADB push the file to your phone:
Code:
adb push android.policy.jar /system/framework/
Make sure permissions are correct:
Code:
adb shell
busybox chmod -R 644 /system/framework/android.policy.jar
Reboot.
Usage:
When the screen is off, and music is playing, holding the volume up button for ~1 second will seek forward 1 track.
Holding the volume down button for ~1 second will seek back 1 track.
When you do either actions, the screen will not wake (battery life is conserved).
If the screen is ON, and music is playing, it will not seek forward/back if you hold the buttons.
Known bugs:
My friend told me this breaks JKAY AOSP Lockscreen mods. I don't use JKAY mods so that bug probably won't be fixed.
Caveats:
I don't want any donations, plz don't ask.
If you want to disassemble this using baksmali to try to see what I've changed, that's fine by me. I don't really care tbh.
If you have honest questions I will answer but if it's answerable with a Google search, I probably will not bother.
Credits:
Jon Boekenoogen (metalhead8816): First guy to submit the 'Long press volume buttons to skip songs' concept for CM6. Thanks for this simple, but great feature.
Obviously the CM6/7 team: I disassembled & used your code, thanks.
Leomar75: I use your rom, thanks.
JesusFreak: You made an awesome tool for disassembling and assembling .dex. Thanks.
You are my hero ! Thx for this. But sadly not working on Batista 3.7.6 so I have to change to Leo Rom
Sent from my GT-I9100 using xda premium
Could you please release the changes that were made in the android.policy.jar? Please post the code and what was changed so developers (and users) modify it themselves.
Thanks a lot.
Wow, nice work. I'll try this later.
Edit : works perfectly on leomars rom. Thank you very much!
Sent from my GT-I9100 using Tapatalk
Works on Cognition ROM 1.5.1 !
edit post . ( restore a nandroid backup .
Does not work with leo rom and root explorer have to try it later with adb but should not make any diiference
Edit: works fine even with explorer but tw 4.5 breaks it
Sent from my GT-I9100 using xda premium
I think fugutweaks breaks your mod do you have installed it ?
Sent from my GT-I9100 using xda premium
Sonic7 said:
Does not work with leo rom and root explorer have to try it later with adb but should not make any diiference
Sent from my GT-I9100 using xda premium
Click to expand...
Click to collapse
It works with rootexplorer. I did it this way. Maybe you forgot to set permissions?
Sent from my GT-I9100 using Tapatalk
Awesome feature. It works on Criskelo rom. Thanks a lot.
Sent from my GT-I9100 using XDA App
nexxus. said:
It works with rootexplorer. I did it this way. Maybe you forgot to set permissions?
Sent from my GT-I9100 using Tapatalk
Click to expand...
Click to collapse
I installed the touchwiz 4.5 and I think this breaks the mod. It works fine on a fresh instal
Sent from my GT-I9100 using xda premium
Sonic7 said:
I think fugutweaks breaks your mod do you have installed it ?
Sent from my GT-I9100 using xda premium
Click to expand...
Click to collapse
I don't have it installed. If it modifies the android.policy.jar it will probably interfere with this. You could try installing this first and then applying fugutweaks.
it's possible to flash with cwm?
Working fabulously with VR 2.4.2 /w EDT tweaks + Ninpo latest. Transfered into /system/app with TotalCom, sorted out permissions and voila.
Now I can uninstall JustShake, which was wonky in use anyways.
Thanks bud!
EDIT: Scratch that. It's conflicting with power menu. Sigh.
Hi aerobahn, first of all Thanks for your hard work in this excellent mod. I'm actually using jkay and of course this mod breaks jkay lockscreen options, because jkay also modifies android.policy. For this reason i'm trying to adapt your mod over jkay android.policy
I see your mod only modifies two files
GlobalActions.smali
PhoneWindowManager.smali
and add 5 files
GlobalActions$8. smali
GlobalActions$9. smali
GlobalActions$10. smali
PhoneWindowManager$12.smali
PhoneWindowManager$13.smali
The PhoneWindowManager is ready, I've pasted all the code into jkay PhoneWindowManager. My problem is with GlobalActions because jkay also uses files named 8, 9 and 10... until 20. I think it's possible change your files to the next numbers availables like this GlobalActions$21, 22 and 23 and modify the code to refer it with this new name.
Then, I need add this code to jkay's GlobalActions.smali and change the hex values for const, but don't know how can I do it... i'm newbie editing smali code...
Code:
aput-object v2, v0, v1
const/4 v1, 0x4
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$21;
const v3, 0x108045b
const v4, 0x1040505
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$21;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
const/4 v1, 0x5
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$22;
const v3, 0x108045c
const v4, 0x1040503
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$22;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
const/4 v1, 0x6
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$23;
const v3, 0x1080456
const v4, 0x1040504
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$23;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
¿Can you help me please? I added the files. For if you can take a look. Thanks in advance
Ps: I know... my english is horrible!! xD sorry for this
Can others please verify... I'd have added this feature to my Deluxe Themes but it seems to break radio volume control!
How to test: start radio instead music player and turn off screen. Now try and change volume using volume keys... on my phone nothing happens!!!
Sent from my GT-I9100 using xda premium
_JKay_ said:
Can others please verify... I'd have added this feature to my Deluxe Themes but it seems to break radio volume control!
How to test: start radio instead music player and turn off screen. Now try and change volume using volume keys... on my phone nothing happens!!!
Sent from my GT-I9100 using xda premium
Click to expand...
Click to collapse
On my phone works fine...
nitsuajd said:
On my phone works fine...
Click to expand...
Click to collapse
Hmm... ok I'll see if I can get the FM radio volume to work in my mod too... then I'll include this great feature into version 10 of JKay Deluxe.
Sent from my GT-I9100 using xda premium
_JKay_ said:
Hmm... ok I'll see if I can get the FM radio volume to work in my mod too... then I'll include this great feature into version 10 of JKay Deluxe.
Sent from my GT-I9100 using xda premium
Click to expand...
Click to collapse
This would make my day JKay ( wow that rhymes )
nitsuajd said:
Hi aerobahn, first of all Thanks for your hard work in this excellent mod. I'm actually using jkay and of course this mod breaks jkay lockscreen options, because jkay also modifies android.policy. For this reason i'm trying to adapt your mod over jkay android.policy
I see your mod only modifies two files
GlobalActions.smali
PhoneWindowManager.smali
and add 5 files
GlobalActions$8. smali
GlobalActions$9. smali
GlobalActions$10. smali
PhoneWindowManager$12.smali
PhoneWindowManager$13.smali
The PhoneWindowManager is ready, I've pasted all the code into jkay PhoneWindowManager. My problem is with GlobalActions because jkay also uses files named 8, 9 and 10... until 20. I think it's possible change your files to the next numbers availables like this GlobalActions$21, 22 and 23 and modify the code to refer it with this new name.
Then, I need add this code to jkay's GlobalActions.smali and change the hex values for const, but don't know how can I do it... i'm newbie editing smali code...
Code:
aput-object v2, v0, v1
const/4 v1, 0x4
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$21;
const v3, 0x108045b
const v4, 0x1040505
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$21;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
const/4 v1, 0x5
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$22;
const v3, 0x108045c
const v4, 0x1040503
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$22;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
const/4 v1, 0x6
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$23;
const v3, 0x1080456
const v4, 0x1040504
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$23;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
¿Can you help me please? I added the files. For if you can take a look. Thanks in advance
Ps: I know... my english is horrible!! xD sorry for this
Click to expand...
Click to collapse
I ported the mod to my XXKG2 rom and i never modifed anything except phonewindowmanager and added $12 and $13 files and its working fine
Maybe i did something wrong but it seems fine to me....
Hope that helps
Sent from my GT-I9100
Works Fine with Criskelo Rom!!!
Thanks
Related
I searched a solution to disable NR in the beginning of the call. I had an echo problem in my phone, and the only way to fix it was to disable the NR.
The problem - each time you place or answer a call we need to go to menu and disable it.
All the codes that posted here didn't disable the NR. they only disabled the menu.
After digging for a few days in the smali of the Phone.apk I found the solution -
You need to edit CallNotifier.smali -
Search for - turnOnNoiseSuppression and rem the line
In my case it looks like this.
Code:
.line 957
.local v3, noise_reduction:Z
iget-object v8, p0, Lcom/android/phone/CallNotifier;->mApplication:Lcom/android/phone/PhoneApp;
const/4 v9, 0x1
[COLOR="Red"]# [/COLOR]invoke-static {v8, v3, v9}, Lcom/android/phone/PhoneUtils;->turnOnNoiseSuppression(Landroid/content/Context;ZZ)V
And in PhoneApp$PhoneAppBroadcastReceiver.smali (not all APk's needs it)-
Code:
.line 1930
sget-object v1, Lcom/android/phone/PhoneUtils$AMRState;->WB:Lcom/android/phone/PhoneUtils$AMRState;
invoke-static {v1}, Lcom/android/phone/PhoneUtils;->setAMRCodec(Lcom/android/phone/PhoneUtils$AMRState;)V
.line 1940
:goto_9
iget-object v1, p0, Lcom/android/phone/PhoneApp$PhoneAppBroadcastReceiver;->this$0:Lcom/android/phone/PhoneApp;
invoke-virtual {v1}, Lcom/android/phone/PhoneApp;->getApplicationContext()Landroid/content/Context;
move-result-object v1
invoke-static {v1}, Lcom/android/phone/PhoneUtils;->isSupportedNoiseReductionInWBMode(Landroid/content/Context;)Z
move-result v1
if-nez v1, :cond_21
if-ne v0, v5, :cond_21
iget-object v0, p0, Lcom/android/phone/PhoneApp$PhoneAppBroadcastReceiver;->this$0:Lcom/android/phone/PhoneApp;
invoke-virtual {v0}, Lcom/android/phone/PhoneApp;->getApplicationContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/android/phone/PhoneUtils;->isNoiseSuppressionOn(Landroid/content/Context;)Z
move-result v0
if-ne v0, v5, :cond_21
.line 1943
iget-object v0, p0, Lcom/android/phone/PhoneApp$PhoneAppBroadcastReceiver;->this$0:Lcom/android/phone/PhoneApp;
invoke-virtual {v0}, Lcom/android/phone/PhoneApp;->getApplicationContext()Landroid/content/Context;
move-result-object v0
[COLOR="Red"]# [/COLOR]invoke-static {v0, v4, v4}, Lcom/android/phone/PhoneUtils;->turnOnNoiseSuppression(Landroid/content/Context;ZZ)V
Different apk's versions may have different line number and variables numbers.
This change will make the phone starts calls with NR off. (may not work in the first call after the phone boots up - looking for a fix)
you can still turn it on if you want, during the call
Enjoy!
This is driving me insane.
I cannot, for the life of me, get a smali folder when I decompile Phone.apk. I've tried using APKManager 4.9, and directly using APKTool.
Using APKManager, I set my project, decompile with dependencies, drag twframework-res.apk when asked.
Using APKTool, I type:
apktool d Phone.apk
Both methods, all I get are a res folder, AndroidManifest.xml, and apktool.yml.
Is there something I am missing?
ctomgee said:
This is driving me insane.
I cannot, for the life of me, get a smali folder when I decompile Phone.apk. I've tried using APKManager 4.9, and directly using APKTool.
Using APKManager, I set my project, decompile with dependencies, drag twframework-res.apk when asked.
Using APKTool, I type:
apktool d Phone.apk
Both methods, all I get are a res folder, AndroidManifest.xml, and apktool.yml.
Is there something I am missing?
Click to expand...
Click to collapse
Yeah, you're missing the fact that your ROM is probably odexed and not deodexed.
petsasj said:
Yeah, you're missing the fact that your ROM is probably odexed and not deodexed.
Click to expand...
Click to collapse
Such a simple answer... *sigh*
You are correct. So how can I edit the .smali file of an odexed Phone.apk?
EDIT: Nevermind... I supposed I can just find a deodexed Phone.apk to make the change on, yeah?
ctomgee said:
Such a simple answer... *sigh*
You are correct. So how can I edit the .smali file of an odexed Phone.apk?
EDIT: Nevermind... I supposed I can just find a deodexed Phone.apk to make the change on, yeah?
Click to expand...
Click to collapse
Finding a deodexed Phone.apk is probably easiest fo you. I don't think you're accustomed to smali/baksmali deodexing procedures? There's a nice How-To by sicopat, but still, get a deodexed Phone.apk
petsasj said:
Finding a deodexed Phone.apk is probably easiest fo you. I don't think you're accustomed to smali/baksmali deodexing procedures? There's a nice How-To by sicopat, but still, get a deodexed Phone.apk
Click to expand...
Click to collapse
Just started learning about deodexing, yeah. I think I've found a deodexed Phone.apk for my ROM version, thanks for your help.
thanks but what about MIUI and CM7 roms?
i have echo problem in these roms!
cheers,
SX
SignalX said:
thanks but what about MIUI and CM7 roms?
i have echo problem in these roms!
cheers,
SX
Click to expand...
Click to collapse
Have you looked to see if that same line is in the file?
Anyone can confirm it really works?
Thank you for the solution but can anyone post deodexed phone.apk with this solution here (xxki4 or xwkj3)?
yay1974 said:
Thank you for the solution but can anyone post deodexed phone.apk with this solution here (xxki4 or xwkj3)?
Click to expand...
Click to collapse
I can confirm that it DOES work. I was able to edit a deodexed Phone.apk from XXKI3, and now it defaults NR to being OFF during calls. (though, as drorsi states in the OP, it is still on for the first call after the phone boots). You still have the option of turning it on during the call if you wish.
You can find what you need to know on how to decompile/recompile .apk files at http://forum.xda-developers.com/showthread.php?t=695701.
i try to do this fix into the phone.apk from checkrom with call record but i didn´t find the CallNotifier.smali so i give up ;( maybe someone can help me please `
Greetz Marcel
knightnz said:
Have you looked to see if that same line is in the file?
Click to expand...
Click to collapse
no
you think its same?
can you please check mate?
cheers,
SX
maybe someone can help me please so i upload the phone.apk
http://www.megaupload.com/?d=GEEHBN37
thx in advice
v0dKa
Guys, could somebody be so kindly and share with us Phone.apk with NR off as default for last software KJ3 please?
ps
v0dKa, that the apk is it? from what version, why, could you explain please?
Sorry its the apk from the checkrom rom with call record
When someone have a patched apk without record but with non increasing ringtone for the kj3 please upload it
Sent from my GT-I9100 using Tapatalk
SignalX said:
thanks but what about MIUI and CM7 roms?
i have echo problem in these roms!
cheers,
SX
Click to expand...
Click to collapse
Same here on CM7, solution would be welcome! (BTW there is a disable noise reduction tweak in VillainROM's VRTweaks)
I've got the same problem with CM7 (and other ROM's btw).
Driving me insane as well.
Is there anyone kind enough to help me with this problem?
I tried the villain rom as well, with the villain tweak. But that doesnt seem to work either....
Help
A question:
i used apkmanager and followed 1st post instructions for .smali files but when i recompile apk it asks to delete modified files from "keep" folder, what must i do?
code72 said:
A question:
i used apkmanager and followed 1st post instructions for .smali files but when i recompile apk it asks to delete modified files from "keep" folder, what must i do?
Click to expand...
Click to collapse
When recompiling, there will be a "keep" folder at some point. (you will be prompted on this step) Delete any file you might have edited from this folder at this step. If you edited any xml files, you'll need to delete the resources.arsc file.
Sent from my GT-I9100 using XDA App
ctomgee said:
When recompiling, there will be a "keep" folder at some point. (you will be prompted on this step) Delete any file you might have edited from this folder at this step. If you edited any xml files, you'll need to delete the resources.arsc file.
Sent from my GT-I9100 using XDA App
Click to expand...
Click to collapse
Ok, but in "keep" folder there aren't .smali file so how can i delete them?
Does anyone know how to remove the stupid icon? I tried the smali edit for the htccdmastatusbar.smali file in the systemui.apk but it didn't do anything. Im using coredroid 1.0 with rcmix's blue energy systemui.apk (for the inverted notification panel).
Sent from my ADR6350 using Tapatalk
Meltdown03 said:
Does anyone know how to remove the stupid icon? I tried the smali edit for the htccdmastatusbar.smali file in the systemui.apk but it didn't do anything. Im using coredroid 1.0 with rcmix's blue energy systemui.apk (for the inverted notification panel).
Sent from my ADR6350 using Tapatalk
Click to expand...
Click to collapse
you have the right file
.method private updateGPSONEIcon()V
.locals 7
.prologue
const/4 v6, 0x3
const/4 v5, 0x1
is what ur looking for (might not look exactly like that depending on ruu, but method is same)
change
const/4 v5, 0x1
to
const/4 v5, 0x0
Awesome! It worked. I changed it under updateMTgpsone and that's why it didn't work before.
Thank you so much for the quick answer.
Sent from my ADR6350 using Tapatalk
All Credits belongs to Lidroid
Please refers to lidroid original thread below
http://forum.xda-developers.com/showthread.php?t=1289896
Notes:
1. need a Computer which is has JDK installed
2. apktool
3. notepad++ / other text editor
4. know how to compile/decompile apk (dont ask me.. just use the search bar.. there a bunch of tuts how to do that)
firstly download this file :
1. lidroid-res
http://forum.xda-developers.com/attachment.php?attachmentid=750399&d=1318661697
2. LidroidSystemUI
http://forum.xda-developers.com/attachment.php?attachmentid=750756&d=1318701014
3. QuickPanelSettings
http://forum.xda-developers.com/attachment.php?attachmentid=751238&d=1318747162
or u can visit lid thread above n download it from #1 post attachment
How to :
1. Download LidroidSystemUI.apk and decompile it with apktool, then you get LidroidSystemUI dir.
2. Pull and Decompile your SystemUI.apk, copy LidroidSystemUI/smali/* into SystemUI/smali.
3. Open SystemUI/smali/com/android/systemui/status/StatusBarService.smali. Find(Ctrl + F) QuickSettingsView, changes codes below
(this code i've got from mr. sileshnair. big thanks for him )
Code:
.local v3, qsv:Lcom/android/systemui/statusbar/quickpanel/QuickSettingsView;
const v7, 0x7f030002
invoke-static {p1, v7, v9}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
move-result-object v3
.end local v3 #qsv:Lcom/android/systemui/statusbar/quickpanel/QuickSettingsView;
check-cast v3, Lcom/android/systemui/statusbar/quickpanel/QuickSettingsView;
.line 352
.restart local v3 #qsv:Lcom/android/systemui/statusbar/quickpanel/QuickSettingsView;
with
Code:
const v7, 0x3030003
invoke-static {p1, v7, v9}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
move-result-object v3
check-cast v3, Lcom/lidroid/systemui/quickpanel/PowerWidget;
.line 352
.local v3, qsv:Lcom/lidroid/systemui/quickpanel/PowerWidget;
invoke-virtual {v3}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->setupWidget()V
4. Compile SystemUI with apktool,
5. open up your SystemUI.apk with winrar or 7zip
6. locate to SystemUI/build/apk/ and find classes.dex onto the winrar/7zip
7. Then Push it into /system/app/
5. push lidroid-res.apk in /system/framework/, push QuickPanelSettings.apk in /system/app, reboot.
More mod :
Originally Posted by [email protected]
To have 6 visible toggles : edit : SystemUI/smali/com/lidroid/systemui/quickpanel/PowerWidget.smali
change :
Code:
.field private static final LAYOUT_SCROLL_BUTTON_THRESHOLD_PORT:I = 0x5
to
.field private static final LAYOUT_SCROLL_BUTTON_THRESHOLD_PORT:I = 0x6
Code:
div-int/lit8 v2, v2, 0x5
to
div-int/lit8 v2, v2, 0x6
Note: i skip editing androidmanfest.xml (cuz when we do this... we should sign all of the apk in /system/app and /system/framework. ..but if u insist.. please see the original thread above how to do that...unless if u dont do editing androidmanifest.xml u'll got FC when pressing Flashlight button. anyway i dont need it.. so its not a big deal)
dont thanks me... please thanks too three man above for their great job
sharing is caring
Nice but its too tough for me to do it
Sent from my GT-S5360 using XDA App
Nice tutorial dude just made a nice bar but a bit complicated though.
Sent from my GT-S5360 using xda premium
u'll never know, unless u try
I will try this. Thanks for sharing dude!
was going to modify the PNG files of this apk,
decompiled all files, recompiled and resigned APK however when i force it into the system status bar gets force close,
deathnotice01 said:
was going to modify the PNG files of this apk,
decompiled all files, recompiled and resigned APK however when i force it into the system status bar gets force close,
Click to expand...
Click to collapse
dont resigned the system .apk unless u must resigned all off the apk file in /system/app and /system/framework
The SystemUI.apk is to be pulled from our SGY unit, right? You forgot to mention this on your tutorial.
bumslayer said:
The SystemUI.apk is to be pulled from our SGY unit, right? You forgot to mention this on your tutorial.
Click to expand...
Click to collapse
Ups .... em sorry ... my bad...
Sent from my GT-S5360 using Tapatalk
Here's my statusbar: I'm using Hybrid 2.1.
Thank you very much for your wonderful tutorial bro! I am one happy camper!
bumslayer said:
Here's my statusbar: I'm using Hybrid 2.1.
Thank you very much for your wonderful tutorial bro! I am one happy camper!
Click to expand...
Click to collapse
Well nice dude thanks to lidroid btw
:-D
rawk
ow this is a nice guide ...im planning to make a ICS status bar from this i wish its not impossible
bumslayer said:
Here's my statusbar: I'm using Hybrid 2.1.
Thank you very much for your wonderful tutorial bro! I am one happy camper!
Click to expand...
Click to collapse
Can you share this bro??
Just follow the tutorial kill3d graciously provided. Worked for me.
Sent from my GT-S5360 using xda premium
Hey OP, apparently this works for deodexed ROMS only, because the SystemUI.apk of the DXLB1 stock ROM does not have a smali folder.
bumslayer said:
Hey OP, apparently this works for deodexed ROMS only, because the SystemUI.apk of the DXLB1 stock ROM does not have a smali folder.
Click to expand...
Click to collapse
Indeed...
Cuz the smali came from came from the classes.dex.
rawk
im having a problem on making the notifcations work, i followed the tutorial, the notification works but the 14 toggles isnt working.. hmm. whats wrong
bumslayer said:
Here's my statusbar: I'm using Hybrid 2.1.
Thank you very much for your wonderful tutorial bro! I am one happy camper!
Click to expand...
Click to collapse
can you upload your SystemUI.apk
I dont understand the tutorial
kimbaduds said:
im having a problem on making the notifcations work, i followed the tutorial, the notification works but the 14 toggles isnt working.. hmm. whats wrong
Click to expand...
Click to collapse
Did u edit the smali code??
Did u miss point 6?
Did u push lidroid-res.apk . Quickpanelsettings.apk . ??
rawk
guys dont forget to change the permissions to the files you will push to the phone as well. just look at the permissions of the other files under /system/apps and /system/framework.
Sent from my GT-S5360 using xda premium
My company recently switched over to Verizon so I will not be able to post up (verify) zips for the sprint model GS3 any longer but I will definately be lurking. I still have the GS3 but its a Verizon carrier now so I will be bouncing between this forum and the Verizon one.
This will remove the keyboard notification icon in the status bar. For some (like me) its annoying.
Decompile: services.jar in framework.
Browse to: smali/com/android/server/InputMethodManagerService.smali
Scroll down to line (aprox) 8755 and look for the code:
Code:
iget-object v12, v0, Lcom/android/server/InputMethodManagerService;->mCurToken:Landroid/os/IBinder;
move-object/from16 v0, p1
[COLOR="Red"] if-eq v12, v0, :cond_1
[/COLOR]
.line 1369
:cond_0
const-string v12, "InputManagerService"
new-instance v13, Ljava/lang/StringBuilder;
Comment out or delete the line above in red. (Your code may show a jump to a different condition so your basically looking for the "if-eq v12, v0, :cond"). Then delete or comment out that entire line.
Recompile
Chmod 644 and push to /system/framework
Enjoy!
Can we get a flashable zip....i need this in my life
Didact74 said:
My company recently switched over to Verizon so I will not be able to post up (verify) zips for the sprint model GS3 any longer but I will definately be lurking. I still have the GS3 but its a Verizon carrier now so I will be bouncing between this forum and the Verizon one.
This will remove the keyboard notification icon in the status bar. For some (like me) its annoying.
Decompile: services.jar in framework.
Browse to: smali/com/android/server/InputMethodManagerService.smali
Scroll down to line (aprox) 8755 and look for the code:
Code:
iget-object v12, v0, Lcom/android/server/InputMethodManagerService;->mCurToken:Landroid/os/IBinder;
move-object/from16 v0, p1
[COLOR="Red"] if-eq v12, v0, :cond_1
[/COLOR]
.line 1369
:cond_0
const-string v12, "InputManagerService"
new-instance v13, Ljava/lang/StringBuilder;
Comment out or delete the line above in red. (Your code may show a jump to a different condition so your basically looking for the "if-eq v12, v0, :cond"). Then delete or comment out that entire line.
Recompile
Chmod 644 and push to /system/framework
Enjoy!
Click to expand...
Click to collapse
This is a flash able zip to add the notification back. Hopefully this helps. You just need to alter the zip http://d-h.st/2I7
Otherwise, pm clark44 or Freeza. They will help you out
Sent from my Jelly Bombed SGS3
mnhertz26 said:
This is a flash able zip to add the notification back. Hopefully this helps. You just need to alter the zip http://d-h.st/2I7
Otherwise, pm clark44 or Freeza. They will help you out
Sent from my Jelly Bombed SGS3
Click to expand...
Click to collapse
cant get this to work.
i pulled the services.jar file from the FreeGS3 mods for the no keyboard notication and i actually push the file to all touchwiz roms i've flashed since, if they don't already have the file in the rom. just copy the file to \system\framework and change permissions on the file to rw-r-r, then reboot. never had any problems doing this.
edit: try the one that's attached now, it might be the same one, but not sure if i uploaded the one that turns the notification ON before...
jwigley24 said:
i pulled the services.jar file from the FreeGS3 mods for the no keyboard notication and i actually push the file to all touchwiz roms i've flashed since, if they don't already have the file in the rom. just copy the file to \system\framework and change permissions on the file to rw-r-r, then reboot. never had any problems doing this.
Click to expand...
Click to collapse
downloaded the file, renamed the original file that was in the phone and placed this downloaded file in there. still get the icon.
stas333 said:
downloaded the file, renamed the original file that was in the phone and placed this downloaded file in there. still get the icon.
Click to expand...
Click to collapse
no go. i still get the notification. I have noticed that even i uncheck good voice typing from the language menu, restart the phone to see that its checked again. i uninstalled google search in TI backup and downloaded one from the market. The google voice now stays unchecked, but the phone freezes and acts stupid.
Hard reset the phone and now Google voice typing stays unchecked
4 dots are minimium to use for pattern lock. I want to reduce it to 3 or even 2. Not talking about 3x3 pattern grid but the number of dots used to unlock.
Sent from my Moto G using xda app-developers app
jatanshah said:
4 dots are minimium to use for pattern lock. I want to reduce it to 3 or even 2. Not talking about 3x3 pattern grid but the number of dots used to unlock.
Sent from my Moto G using xda app-developers app
Click to expand...
Click to collapse
interesting idea.
I'll look at it and hopefully will find a solution
a small how-to
Keyguard\smali\com\android\keyguard\KeyguardPatternView$UnlockPatternListener.smali
Code:
.line 279
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v8
const/4 v9, 0x4
if-lt v8, v9, :cond_3
move v5, v6
where const/4 v9 sets minimum number of dots.
So, I changed it to 2.
And the same thing with Settings\smali\com\android\settings\ChooseLockPattern$ChooseLockPatternFragment$1.smali
Code:
.line 165
:cond_4
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x4
if-ge v0, v1, :cond_5
Here is my modified Keyguard.apk and Settings.apk from 4.4.4 retail.en.US
Can u please give me for 4.4.2 as soon as possible
Thank u
G 2nd gen??
S0bes said:
a small how-to
Keyguard\smali\com\android\keyguard\KeyguardPatternView$UnlockPatternListener.smali
Code:
.line 279
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v8
const/4 v9, 0x4
if-lt v8, v9, :cond_3
move v5, v6
where const/4 v9 sets minimum number of dots.
So, I changed it to 2.
And the same thing with Settings\smali\com\android\settings\ChooseLockPattern$ChooseLockPatternFragment$1.smali
Code:
.line 165
:cond_4
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x4
if-ge v0, v1, :cond_5
Here is my modified Keyguard.apk and Settings.apk from 4.4.4 retail.en.US
Click to expand...
Click to collapse
@S0bes
will this same thing work on moto g 2nd gen xt 1068 running stock 4.4.4 retaildsdsallen?
TIA
Harsh.gundecha said:
@S0bes
will this same thing work on moto g 2nd gen xt 1068 running stock 4.4.4 retaildsdsallen?
TIA
Click to expand...
Click to collapse
only if you'll edit your files. btw no need for keyguard.apk. you should edit only settings.apk.
if you take my .apk file from moto G 1st gen 90% that you will see settings FC
S0bes said:
only if you'll edit your files. btw no need for keyguard.apk. you should edit only settings.apk.
if you take my .apk file from moto G 1st gen 90% that you will see settings FC
Click to expand...
Click to collapse
@S0bes
1) i also assumed that putting the apk would not work and that's why i didn't even tries that way of doing it.
so now i will have to do it manually (of course with YOUR help).
2) here by info. that i have what i mean by smali is that classes.dex file(correct me if i am wrong) and FYI let me tell you that there's no "Settings\smali\com\android" instead i have google folder in place of android folder.
i hope we will be still do it anyhow.
TIA
sorry as my 8 thanks of today are over will thank you later ☺
=============================================================================================================
EDIT:-
my bad, got till the code and also to the 165th line now just please help me to clearly understand what i exactly need to change? and also let me know that the code above is ORIGINAL or MODIFIED ??
TIA
below is code of settings apk in case you need a look ☺
Code:
.line 165
:cond_50
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x4
if-ge v0, v1, :cond_5f
Harsh.gundecha said:
@S0bes
1) i also assumed that putting the apk would not work and that's why i didn't even tries that way of doing it.
so now i will have to do it manually (of course with YOUR help).
2) here by info. that i have what i mean by smali is that classes.dex file(correct me if i am wrong) and FYI let me tell you that there's no "Settings\smali\com\android" instead i have google folder in place of android folder.
i hope we will be still do it anyhow.
TIA
sorry as my 8 thanks of today are over will thank you later ☺
=============================================================================================================
EDIT:-
my bad, got till the code and also to the 165th line now just please help me to clearly understand what i exactly need to change? and also let me know that the code above is ORIGINAL or MODIFIED ??
TIA
below is code of settings apk in case you need a look ☺
Code:
.line 165
:cond_50
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x4
if-ge v0, v1, :cond_5f
Click to expand...
Click to collapse
Change 0x4 to 0x1
S0bes said:
Change 0x4 to 0x1
Click to expand...
Click to collapse
@S0bes & @jatanshah
thanks man you made my day
gonna try it and will let you know later
Thanks once again to you and also to the one who asked this question
I have Galaxy S3 mini i8200N. How can i do this? What tools i need and that stuff? Thank You!
I have APK Studio but in my SecSettings.apk (theres no Settings.apk on my phone) i can't find smali. I tried Your Settings.apk and smali is there. How can i do it then? Thank You!
iMessa said:
I have APK Studio but in my SecSettings.apk (theres no Settings.apk on my phone) i can't find smali. I tried Your Settings.apk and smali is there. How can i do it then? Thank You!
Click to expand...
Click to collapse
smali - app is deodexed
no smali - there's an .odex file of .apk should be
to get smali folder inside apk you should deodex it. there're a lot of guides for different android versions available on xda
S0bes said:
smali - app is deodexed
no smali - there's an .odex file of .apk should be
to get smali folder inside apk you should deodex it. there're a lot of guides for different android versions available on xda
Click to expand...
Click to collapse
So i should deodex .apk, edit it and then install it?
Edit: When i try to deodex with Quick Deodex Tool it says "Framework not found" and framework is there i pasted it from phone.
When i use Universal Deodexer V5, everything is done but finished app is same like original (no smali) and log says:
Everything is Ok
1 file(s) copied.
DEODEXING COMPLETE!
================COMPLETED DEODEXING===============
===================DEODEXED 1 of 1===============
Done checking 100%
FAILED : SecSettings.apk
I did it with Ultimate Deodexer but i don't have line 165. I edited 187 coz it looks like yours but still asks for minimal 4 dots..What should i do? I need this very bad.
S0bes said:
smali - app is deodexed
no smali - there's an .odex file of .apk should be
to get smali folder inside apk you should deodex it. there're a lot of guides for different android versions available on xda
Click to expand...
Click to collapse
@S0bes
It still requires 4 dots to be joined any idea why?
do i have to clear cache or edit odex file?
TIA
Harsh.gundecha said:
@S0bes
It still requires 4 dots to be joined any idea why?
do i have to clear cache or edit odex file?
TIA
Click to expand...
Click to collapse
1)if your firmware is odexed then you have to replace odexed .apk with deodexed one and delete standalone .odex file from this folder (or even completely delete arm folder if you're on LL)
may be you should clear dalvik cache as well.
2)if you've completely deodexed your firmware and all apk and jar files on your phone have .dex file inside you should delete all standalone odex files from entire system. It means that you should delete .odex files from each folder inside /system/app and /system/priv-app/ and also delete boot.oat and boot.(forgot how to name it may be boot.art) from /system/framework or system/framework/arm because .oat file consist of .dex files.
if it still requires 4 dots, then pull out settings.apk from the phone and decompile it so you will see if the changes that you've made are still here cause may be you did smth wrong when you were building modified .apk file
S0bes said:
1)if your firmware is odexed then you have to replace odexed .apk with deodexed one and delete standalone .odex file from this folder (or even completely delete arm folder if you're on LL)
may be you should clear dalvik cache as well.
2)if you've completely deodexed your firmware and all apk and jar files on your phone have .dex file inside you should delete all standalone odex files from entire system. It means that you should delete .odex files from each folder inside /system/app and /system/priv-app/ and also delete boot.oat and boot.(forgot how to name it may be boot.art) from /system/framework or system/framework/arm because .oat file consist of .dex files.
if it still requires 4 dots, then pull out settings.apk from the phone and decompile it so you will see if the changes that you've made are still here cause may be you did smth wrong when you were building modified .apk file
Click to expand...
Click to collapse
@S0bes
i am on stock kk and as there also exists .odex files for all system apps so i guess its odexed (its moto g2 xt1068) stock ROM??(correct me if i am wrong)
so does it mean i will have to do all this deleting odex and some cleanup from system??
sorry if such noobish question irritates. xd
TIA
Harsh.gundecha said:
@S0bes
i am on stock kk and as there also exists .odex files for all system apps so i guess its odexed (its moto g2 xt1068) stock ROM??(correct me if i am wrong)
so does it mean i will have to do all this deleting odex and some cleanup from system??
sorry if such noobish question irritates. xd
TIA
Click to expand...
Click to collapse
yep, your rom is odexed and all you need is to delete settings.odex, replace settings.apk with modified !deodexed! one and may be clear dalvik cache (also set perm-s to the file after replacing).
if still system requires 4 dots then pull out your settings.apk, decompile it and share
Working
Can confirm that this still works on 5.1.1 Lollipop.
Tried this on Note 5 and it works.:good: