[Manual] Proper CRT-OFF for JB - Galaxy S III Themes and Apps

Here is manual, how to make CRT-OFF mod without glitches on JB.
Originally, it has been released in my UNIROM ROM in 4PDA.ru community.
Here is the guide. Instruction is based on I9300XXDLIB, but it's easy to adjust it to other ROMS.
To make CRT-OFF working, you need to decompile services.jar.
in file com\android\server\PowerManagerService$ScreenBrightnessAnimator.smali
find following code and modify it according to red colored part:
Code:
.line 2906
.end local v0 #delta:I
:cond_1
:goto_1
iget-object v7, p0, Lcom/android/server/PowerManagerService$ScreenBrightnessAnimator;->this$0:Lcom/android/server/PowerManagerService;
#getter for: Lcom/android/server/PowerManagerService;->mScreenBrightnessHandler:Landroid/os/Handler;
invoke-static {v7}, Lcom/android/server/PowerManagerService;->access$7300(Lcom/android/server/PowerManagerService;)Landroid/os/Handler;
move-result-object v7
[COLOR=Red] if-eqz p2, :cond_2xx
const/16 v9, 0xb
const/4 v10, 0x0
const v2, 0x10
invoke-virtual {v7, v9, v2, v10}, Landroid/os/Handler;->obtainMessage(III)Landroid/os/Message;
move-result-object v9
invoke-virtual {v9}, Landroid/os/Message;->sendToTarget()V
:cond_2xx
[/COLOR] const/16 v9, 0xa
invoke-virtual {v7, v9}, Landroid/os/Handler;->removeMessages(I)V
Black color is original code, you need to find.
Effect will start to work, but u will notice glitch: if you turn on screen by power button and then put it to sleep again by button without unlocking then phone will wake up just after CRT effect finishes.
Here is workaround part.
decompile android.policy.jar.
in file com\android\internal\policy\impl\PhoneWindowManager.smali
Find following parts (black is original code) and modify according to red text:
Code:
.class public Lcom/android/internal/policy/impl/PhoneWindowManager;
.super Ljava/lang/Object;
.source "PhoneWindowManager.java"
# interfaces
.implements Landroid/view/WindowManagerPolicy;
[COLOR=Red].implements Ljava/lang/Runnable;[/COLOR]
# annotations
Code:
.line 5411
.end local v9 #isAllowed:Z
.end local v16 #kioskMode:Landroid/app/enterprise/kioskmode/KioskMode;
:cond_1
:goto_2
[COLOR=Red] and-int/lit8 v0, v19, 0x4
if-eqz v0, :cond_2xx
and-int/lit8 v19, v19, -0x5
move-object/from16 v0, p0
invoke-virtual {v0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->sleepDelay()V
:cond_2xx
[/COLOR] return v19
at the end of file add following code:
Code:
[COLOR=Red].method public sleepDelay()V
.locals 10
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHandler:Landroid/os/Handler;
const-wide v2, 0x64
check-cast p0, Ljava/lang/Runnable;
invoke-virtual {v0, p0, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
return-void
.end method
.method public run()V
.locals 10
.prologue
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context;
const-string v1, "power"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/os/PowerManager;
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v2
const-wide/16 v6, 0x3e8
add-long/2addr v2, v6
invoke-virtual {v0, v2, v3}, Landroid/os/PowerManager;->goToSleep(J)V
return-void
.end method
[/COLOR]
That's all.
My method doesn't require patches for libsurfaceflinger.so library.
P.S.: I didn't put much effort to investigate of possibility for CRT-ON effect. I'm not sure if this effect is even compiled inside stock libsurfaceflinger.so. I'm happy that i could achieve fully working CRT-OFF without patching library. I remember how much time i've spent to patch libsurfaceflinger.so for I9100 ICS ROM against flicker, so it's real deal breaker for me to go through reversing and patching of .so file again.
I've attached mod for XXDLIB version.
Install in CWM recovery to DEODEXED ROM.
This is for stock deodexed I9300XXDLIB ROM. If you use any custom made ROM and there are some additional modifications in android.policy.jar or services.jar then you will loose all those mods.
I have neither time no ability to make flashable zips for other ROMs. I cannot download every ROM, integrate this mod and test. So, ask custom ROMs authors to integrate it into their ROMs by themself.

you may post the whole thing, already ready to be flashed? you'll be very grateful

I can post mod for XXDLIB version, but if you have other mods integrated in these framework files, you will loose them.

sorg said:
I can post mod for XXDLIB version, but if you have other mods integrated in these framework files, you will loose them.
Click to expand...
Click to collapse
would be good for me, I use the WanamLite XXDLIB V3.8.

How did you decompile services.jar? I'd be happy with a link too, but I'd also like to know how to decompile jars

Kryten2k35 said:
How did you decompile services.jar? I'd be happy with a link too, but I'd also like to know how to decompile jars
Click to expand...
Click to collapse
It's for experienced in modifications users. If you don't know how to do it, then you won't make it right. So, wait for ready to flash mod, made by some one.
I've attached mod for XXDLIB version to the OP.

sorg said:
It's for experienced in modifications users. If you don't know how to do it, then you won't make it right. So, wait for ready to flash mod, made by some one.
I've attached mod for XXDLIB version to the OP.
Click to expand...
Click to collapse
Anybody try?? Work without this issue??

Works perfect on Wanam 3.7!

please is possible have this for odex stock rom dlib?? thanks for reply

sorg said:
I've attached mod for XXDLIB version to the OP.
Click to expand...
Click to collapse
work perfect..always on Wanam 3.7..thank you :good:

Just put this into my rom...works perfect, thanks for the guide

Sorgen, dass could you please provide a zip version in first post with included 4-way-reboot? Just recognized that it's gone with your mod because of the changed files.
Thanks m8!
sent with Samsungs unleashed beast using Tapatalk 2

hi Sorg, sorry for double request, is possible have this for odex rom DILB root? thanks for reply

sorg said:
It's for experienced in modifications users. If you don't know how to do it, then you won't make it right. So, wait for ready to flash mod, made by some one.
I've attached mod for XXDLIB version to the OP.
Click to expand...
Click to collapse
I know what I'm doing, I just haven't found any reliable tools to decompile jar's

Kryten2k35 said:
I know what I'm doing, I just haven't found any reliable tools to decompile jar's
Click to expand...
Click to collapse
a) you can rename jar to apk and use your favorite tool
b) apktool works fine with jars as well
c) use baksmali/smali tools

sorg said:
a) you can rename jar to apk and use your favorite tool
b) apktool works fine with jars as well
c) use baksmali/smali tools
Click to expand...
Click to collapse
Thanks. Last source I read suggested AndroidChef, which didn't work at all. I'll use apktool first and see how that goes.

uberto.costanzo said:
hi Sorg, sorry for double request, is possible have this for odex rom DILB root? thanks for reply
Click to expand...
Click to collapse
i can upload mods for ROMs i'm using. I'm using deodexed ROM. Since i often change something in ROM, deodexed version is the one suitable for me.
If you like to use mods, install stock deodexed ROM and you will have more freedom to install many different mods and hacks.

Here we go. CRT + Extended Pwer Menu.
Thanks Sorg, including this in my ROM

Kryten2k35 said:
Here we go. CRT + Extended Pwer Menu.
Thanks Sorg, including this in my ROM
Click to expand...
Click to collapse
Man, 10 mins faster than me
Great work as always!

sorg said:
It's for experienced in modifications users. If you don't know how to do it, then you won't make it right. So, wait for ready to flash mod, made by some one.
I've attached mod for XXDLIB version to the OP.
Click to expand...
Click to collapse
=-O Kryten is a matter chef
---------- Post added at 11:28 PM ---------- Previous post was at 11:26 PM ----------
Kryten2k35 said:
Here we go. CRT + Extended Pwer Menu.
Thanks Sorg, including this in my ROM
Click to expand...
Click to collapse
Just flash from recovery for Ultima 2.4?

Related

[MOD][ZSALED][SecPhone] Enable Call Recording

This is simple howto enable Call recording on the Galaxy S3 Firmewares.
You need to decompile SecPhone.apk, use my repacked Apk_Manager (it should work for any ICS file 4.0.3/4.0.4).
Open "SecPhone.apk\smali\com\android\phone\PhoneFeature.smali", and make the changes :
Code:
const-string v7, "voice_call_recording"
invoke-virtual {v8}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
if-nez v1, :cond_e
invoke-virtual/range {v19 .. v19}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
if-nez v1, :cond_e
invoke-virtual {v11}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
if-nez v1, :cond_e
invoke-virtual/range {v19 .. v19}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
if-eqz v1, :cond_40
:cond_e
[COLOR=SeaGreen] ++:goto_12[/COLOR]
const/4 v1, 0x1
[COLOR=Red] --:goto_12[/COLOR]
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
You may get different "goto" IDs, so make the changes depending on your IDs.
Tested on my stock and custom Deodexed ZSALED with no need to replace any lib (unlike sgs2).
GT-I9300_WanamLite.ZSALED.Enable.Call.Recording.zip ( + Disabled increasing ringtone), Backup before flashing!
Thank you for sharing my friend!
Works great
Thanks Wanam for sharing this, trying now
HELP!
I tried to install the zip through the CWM.
I didnt found "SecPhone.apk\smali\com\android\phone\PhoneFeature .smali"
Now my phone GET FC all the time! i cant answer ppls or call them!
Please help!
Awesome Bro! This will help a lot.
romaninja said:
HELP!
I tried to install the zip through the CWM.
I didnt found "SecPhone.apk\smali\com\android\phone\PhoneFeature .smali"
Now my phone GET FC all the time! i cant answer ppls or call them!
Please help!
Click to expand...
Click to collapse
What Rom? odexed or deodexed?
wanam said:
What Rom? odexed or deodexed?
Click to expand...
Click to collapse
Stock rom
(I think its IMM76D.i9300JKALE2)
Can you tell me how to make the record work from here or how to reverse settings? (prefer to rec)
romaninja said:
Stock rom
(I think its IMM76D.i9300JKALE2)
Can you tell me how to make the record work from here or how to reverse settings? (prefer to rec)
Click to expand...
Click to collapse
It was stated that it's for deodexed Roms!
Try to remove "/system/app/secPhone.odex".
This is awesome, thanks wanam. Anyone try it on XXALEF yet?
wanam said:
This is simple howto enable Call recording on the Galaxy S3 Firmewares.
You need to decompile SecPhone.apk, use my repacked Apk_Manager (it should work for any ICS file 4.0.3/4.0.4).
Open "SecPhone.apk\smali\com\android\phone\PhoneFeature.smali", and make the changes :
Code:
const-string v7, "voice_call_recording"
invoke-virtual {v8}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
if-nez v1, :cond_e
invoke-virtual/range {v19 .. v19}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
if-nez v1, :cond_e
invoke-virtual {v11}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
if-nez v1, :cond_e
invoke-virtual/range {v19 .. v19}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
if-eqz v1, :cond_40
:cond_e
[COLOR=SeaGreen] ++:goto_12[/COLOR]
const/4 v1, 0x1
[COLOR=Red] --:goto_12[/COLOR]
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
You may get different "goto" IDs, so make the changes depending on your IDs.
Tested on my stock and custom Deodexed ZSALED with no need to replace any lib (unlike sgs2).
GT-I9300_WanamLite.ZSALED.Enable.Call.Recording.zip ( + Disabled increasing ringtone), Backup before flashing!
Click to expand...
Click to collapse
hey wanam. glad to see u here too
My voice is to low, the other parts voice is perfect...
Thank you
jnannetti said:
My voice is to low, the other parts voice is perfect...
Thank you
Click to expand...
Click to collapse
Try disabling noise suppression while calling.
wanam said:
Try disabling noise suppression while calling.
Click to expand...
Click to collapse
stills low... thank you...
Sent from my GT-I9300 using Tapatalk 2
The recording works even on custom rom! Just install it through CWM and with root explorer delete secphone.odex in system app!
Sent from my GT-I9300 using XDA
Working nice! Although my voice is very low. Is it possible to fix this?
Another usefull option would be auto recording.
Thanks for your work!
p.s. Any idea why the record button is disabled when bluetooth headset is connected?
Strange Behaviour ...
Finally, it seems that I can record phone calls; however, there seems to be an odd glitch.
If I make a call or when a call comes in, if I then press the Record button, nothing happens. It usually takes at least 4-5 attempts at pressing the Record button before I finally see the red dot flashing, which would indicate that recording has begun. Any idea why it never works on my first attempt?
Also, is there a way of setting up the system to ALWAYS record all calls ... without the need for pressing a button?
Thanks,
Peter
---------- Post added at 08:05 AM ---------- Previous post was at 08:03 AM ----------
cmd512 said:
This is awesome, thanks wanam. Anyone try it on XXALEF yet?
Click to expand...
Click to collapse
I'm on XXALEF, and it seems to work, but if you read my earlier post above, it takes at least 4-5 attempts at pressing the Record button before it actually starts recording.
Peter
Quick question to confirm, is this call recording capability dependant on phone baseband?
I was trying to decompile the SecPhone.apk file with the magic Apk_Manager you posted,
But was getting Java heap problems. As my PC is far from low-end... I modified the Script.bat with Xmx2048m instead of some var there, and it worked!
Lol, I am totally noob at this.
After messing around a little more I noticed the tool specifies it's working @ 64MB heap size, and it's a standard option there to increase it.
If anyone has done this for LE8 i'd appreciate if you could upload. I've had a go but java is crapping out on me.
Still having problems decompiling/Recompiling.
1. Should I be using decompile with dependencies?
2. If so, How do I specify both of them with the drag and drop thingy?
3. Thanks.

[Mod/THEME][4.0.4][XWLPM] Lidroid 15 toggles, CallRecorder, BigPic & NoIncreasingRing

[Mod/THEME][4.0.4][XWLPM] Lidroid 15 toggles, CallRecorder, BigPic & NoIncreasingRing
For the lidroid 15 Status bar toggles for XWLPM, please refer to below thread,
http://forum.xda-developers.com/showthread.php?p=29207022#post29207022
About CallRecorder, BigPic & NoIncreasingRing, please install the attached package with CWM,
View attachment GT-I9100_XWLPM.CallRec.Phone_.BigPic_NoIncreasingRing.zip
And as there is some difference to implement Call Recorder Mod for 4.0.4 than 4.0.3, I'd like to share with you the details on how to implement it in 4.0.4 as below,
a) Decompile Phone.apk (apktool or whatever wrapper you prefer)
b) Edit the \smali\com\android\phone\PhoneFeature.smali file and search for ""voice_call_recording", you should find the single occurrence:
Code:
const-string v6, "voice_call_recording"
Change the line after that, such that instead of
Code:
invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
it becomes
Code:
invoke-static {[COLOR="Red"]v5[/COLOR]}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
c) Edit the \smali\com\android\phone\PhoneVoiceRecorder$RecorderThread.smali file and search for "Landroid/media/MediaRecorder;->prepare()V", you should find the single occurrence, inserted below code after that
Code:
.line 272
const-wide/16 v3, 0x96
invoke-static {v3, v4}, Ljava/lang/Thread;->sleep(J)V
after that, the code should like
Code:
invoke-virtual {v3}, Landroid/media/MediaRecorder;->prepare()V
[COLOR="Blue"] .line 272
const-wide/16 v3, 0x96
invoke-static {v3, v4}, Ljava/lang/Thread;->sleep(J)V[/COLOR]
.line 276
iget-object v3, p0, Lcom/android/phone/PhoneVoiceRecorder$RecorderThread;->this$0:Lcom/android/phone/PhoneVoiceRecorder;
const-wide/16 v4, 0x0
d) Follow the existing method to rebuild the apk.
e) We still have to replace those two audio.primary.exynos4.so & audio_policy.exynos4.so from the Chinese built to make the call rec work, you can extract them from the package I attached above.
woohoooo.. thanks.
Great i'm gone try it, thanks.
I post this info in russian 4pda forum: 05.07.2012, 19:44
And not need edit
\smali\com\android\phone\PhoneVoiceRecorder$RecorderThread.smali
simply activate the entries in the file
smali\com\android\phone\PhoneFeature.smali
>GT-I9100_XWLPM.CallRec.Phone_.BigPic_NoIncreasingRing.zip
Cannot open zip file, seems to be corrupted somehow !!
mythtrandyr said:
I post this info in russian 4pda forum: 05.07.2012, 19:44
And not need edit
\smali\com\android\phone\PhoneVoiceRecorder$RecorderThread.smali
simply activate the entries in the file
smali\com\android\phone\PhoneFeature.smali
Click to expand...
Click to collapse
Try ti explain what you talking about and maybe a little show and tell. The OP"s method works... but what is your method?
Would it be possible to make a "noise suppression off" mod?
method from first post work on XXLQB Deodexed
thx
Any LPT version ?
djdeeles said:
Any LPT version ?
Click to expand...
Click to collapse
is working fine in LPT
Great Info
Thanks a lot @OP
I modded Phone.apk of 4.0.4-XWLP8 with the help of your guide; and it worked like a charm. :victory:

[DEV] [MOD] [HOW-TO] Display 1X/3G correctly on LG8 Based Sprint ROMS [MOD]

Here's another one guys This time were going to make the status bar properly display 1X/3G.
First you're going to need to decompile SystemUI.apk
Navigate to the following smali file: com\android\systemui\statusbar\policy\NetworkController.smali
All we have to do is remove one line (Or comment it out, whichever you prefer):
Edit the following code:
Code:
goto/16 :goto_2a
:cond_126
:pswitch_126
iget-boolean v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mShowAtLeastThreeGees:Z
[COLOR="Red"][B]--[/B] if-nez v0, :cond_141[/COLOR]
sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->DATA_1X:[[I
iget v1, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mInetCondition:I
aget-object v0, v0, v1
Thats all Recompile and test your new MOD
Have fun!
I don't understand why Sprint/Samsung doesn't do this in the first place. Maybe they don't want you to know you're NOT in a 3G area? Thanks though, will definitely be looking into this mod.
wwjoshdew said:
I don't understand why Sprint/Samsung doesn't do this in the first place. Maybe they don't want you to know you're NOT in a 3G area? Thanks though, will definitely be looking into this mod.
Click to expand...
Click to collapse
Haha thats exactly what I was thinking. I guess they like providing false data. A LOT of false data.
Can we get a zip of this?
Sent from my SPH-L710 using xda premium
Haha "show at least three geez"
Sent from my SPH-L710 using xda app-developers app
Hey Clark, something seems off here. I have searched through this smali and the code does not seem to bematching up..
/smali/com/android/systemui/statusbar/policy/networkcontroller.smali
I cannot find any of the following that would allow me to pin point what to remove. Can you recheck and see if these are the corect lines? Maybe this is the code for a different carrier?
Code:
goto/16 :goto_2a
:cond_126
:pswitch_126
-- if-nez v0, :cond_141
Thanks,
I looked back through the smali and it seems likethis is the code that shoud be altered:
Code:
:cond_7
:pswitch_7
iget-boolean v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mShowAtLeastThreeGees:Z
[COLOR="Red"] -- if-nez v0, :cond_8[/COLOR] <----remove this line
sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->DATA_1X:[[I
iget v1, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mInetCondition:I
aget-object v0, v0, v1
You can double check me but I think thats the one.
It would be awesome if we could get this as a stock odexed zip and deodexed zip for the average user and those like me that live off their phone...
Sent from my SPH-L710 using Tapatalk 2
Didact74 said:
Hey Clark, something seems off here. I have searched through this smali and the code does not seem to bematching up..
/smali/com/android/systemui/statusbar/policy/networkcontroller.smali
I cannot find any of the following that would allow me to pin point what to remove. Can you recheck and see if these are the corect lines? Maybe this is the code for a different carrier?
Code:
goto/16 :goto_2a
:cond_126
:pswitch_126
-- if-nez v0, :cond_141
Thanks,
Click to expand...
Click to collapse
Try searching for .line 1265. The rest of the code should be right below that line. What Clark means by -- if-nez v0, :cond_141 is that you have to delete the line if-nez v0, :cond_141. Or you can simply place # in front of it, making the system ignore it: #if-nez v0, :cond_141.
6uPMAH said:
Try searching for .line 1265. The rest of the code should be right below that line. What Clark means by -- if-nez v0, :cond_141 is that you have to delete the line if-nez v0, :cond_141. Or you can simply place # in front of it, making the system ignore it: #if-nez v0, :cond_141.
Click to expand...
Click to collapse
I understand what he is saying, the problem is there is no line of code in the smali that reads if-nez v0, :cond_141
I could be misunderstanding what you are saying though. See if you can find that line in your smali.
Didact74 said:
I understand what he is saying, the problem is there is no line of code in the smali that reads if-nez v0, :cond_141
I could be misunderstanding what you are saying though. See if you can find that line in your smali.
Click to expand...
Click to collapse
I checked my file. The line if-nez v0, :cond_141 is absent, but that's because I've deleted it. But it definitely should be located under .line 1265. Search for that. If it's not there, then your ROM is already modded to correctly display 1X/3G.
You are running deodexed ROM, correct?
6uPMAH said:
I checked my file. The line if-nez v0, :cond_141 is absent, but that's because I've deleted it. But it definitely should be located under .line 1265. Search for that. If it's not there, then your ROM is already modded to correctly display 1X/3G.
You are running deodexed ROM, correct?
Click to expand...
Click to collapse
No, I am running a stock odexed rom with select mods I have installed.
Try looking for one of the preceeding lines he references, like
Code:
goto/16 :goto_2a
:cond_126
:pswitch_126
See if you have those. Like I said, I could not find any of them in my smali. The only line to remove or commentout would be the if-nez line, so the others should be there.
Let me know what you find.
I've got all that, except the if-nez. And, like I said, the closesed easy reference point is .line 1265. I am running a fairly stock LG8 deodex ROM.
This MOD is based on this thread:
http://forum.xda-developers.com/showthread.php?t=1682112
Check it out. It has more detailed instructions.
If your SMALI is missing these lines described in the OP, then you might have to find the correct if-nez line yourself.
What you can do, and that's what I have done when I got my hands on SGS-3, is to go through the SMALI file and search for:
Code:
iget-boolean v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mShowAtLeastThreeGees:Z
There should be multiple instances (over 10 for sure) of this line, followed by a if-nez. Disable each if-nez one at a time, recompile your SystemUI.apk and check if it results in 1X showing up when you enable CDMA only mode.
It's a tedious process, but if you're willing to put the time in, you'll find it. I am not sure whether the line numbers are different on the ODEX ROM vs deodex. On deodex, it's .line 1265.
I posted this almost 2 months ago:
http://forum.xda-developers.com/showthread.php?t=1758418
Good luck.
6uPMAH said:
I've got all that, except the if-nez. And, like I said, the closesed easy reference point is .line 1265. I am running a fairly stock LG8 deodex ROM.
This MOD is based on this thread:
http://forum.xda-developers.com/showthread.php?t=1682112
Check it out. It has more detailed instructions.
If your SMALI is missing these lines described in the OP, then you might have to find the correct if-nez line yourself.
What you can do, and that's what I have done when I got my hands on SGS-3, is to go through the SMALI file and search for:
Code:
iget-boolean v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mShowAtLeastThreeGees:Z
There should be multiple instances (over 10 for sure) of this line, followed by a if-nez. Disable each if-nez one at a time, recompile your SystemUI.apk and check if it results in 1X showing up when you enable CDMA only mode.
It's a tedious process, but if you're willing to put the time in, you'll find it. I am not sure whether the line numbers are different on the ODEX ROM vs deodex. On deodex, it's .line 1265.
I posted this almost 2 months ago:
http://forum.xda-developers.com/showthread.php?t=1758418
Good luck.
Click to expand...
Click to collapse
Thanks Man, will do.
Do you know if it's possible to have dual signal bars, one voice and one data like on miui or is that a miui only feature.
clark44 is the man
Thanks for sharing
dyehya said:
It would be awesome if we could get this as a stock odexed zip and deodexed zip for the average user and those like me that live off their phone...
Sent from my SPH-L710 using Tapatalk 2
Click to expand...
Click to collapse
This would be nice as a flashable zip.
Sent from my SPH-L710 using xda premium
how can i use this for a the jellybean leak, lj7?
clark44 said:
Here's another one guys This time were going to make the status bar properly display 1X/3G.
First you're going to need to decompile SystemUI.apk
Navigate to the following smali file: com\android\systemui\statusbar\policy\NetworkController.smali
All we have to do is remove one line (Or comment it out, whichever you prefer):
Edit the following code:
Code:
goto/16 :goto_2a
:cond_126
:pswitch_126
iget-boolean v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mShowAtLeastThreeGees:Z
[COLOR="Red"][B]--[/B] if-nez v0, :cond_141[/COLOR]
sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->DATA_1X:[[I
iget v1, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mInetCondition:I
aget-object v0, v0, v1
Thats all Recompile and test your new MOD
Have fun!
Click to expand...
Click to collapse
Any way you could make this an exposed module?
Sent from my SPH-L710 using Tapatalk 2

[MOD][GUIDE]Right-side status bar quick settings pulldown

This guide was written based on the Sprint Samsung Galaxy S3 ND8 KitKat stock ROM but with the proper modifications may work for other KitKat ROMs. Please don't ask me to modify this to work with ROM xyz or to compile this for you into a ROM. I won't do it.
Background Info
This guide is based on work orignally written by havocgb here. His code was written for the Sony Xperia Mini and had to be somewhat modified for use on our phones so make sure to drop a thank you over in that thread.
Requirements
apktool 2.0 beta 9 and the knowledge of how to use it. There are various guides on how to use apktool on XDA. Find one and read it. Make sure to read the information on the apktool site as well since some of the options in 2.0 may be different from the guides you find.
A text editor that supports Unix-style text files. I recommend Notepad++.
Files
You'll be working with SystemUI.apk
SystemUI.apk
Decompile SystemUI.apk using apktool.
Open smali\com\android\systemui\statusbar\phone\PhoneStatusBar.smali in your preferred text editor.
Find # instance fields and add .field private mTouchRight:Z on a new line somewhere before # direct methods.
Find # virtual methods and add the following methods ABOVE it:
Code:
.method private interceptOneFingerStatusBarRightTap(Landroid/view/MotionEvent;)V
.locals 4
.param p1, "event" # Landroid/view/MotionEvent;
.prologue
iget-boolean v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedVisible:Z
if-nez v1, :cond_1
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mDisplay:Landroid/view/Display;
invoke-virtual {v0}, Landroid/view/Display;->getRotation()I
move-result v1
const v0, 0x1
if-eq v0, v1, :cond_2
const v0, 0x3
if-eq v0, v1, :cond_2
const/high16 v1, 0x44070000
:goto_0
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v0
cmpl-float v0, v0, v1
if-ltz v0, :cond_0
const/4 v1, 0x1
iput-boolean v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mTouchRight:Z
goto :goto_1
:cond_0
const/4 v1, 0x0
iput-boolean v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mTouchRight:Z
:cond_1
:goto_1
return-void
:cond_2
const/high16 v1, 0x44480000
goto :goto_0
.end method
.method private oneFingerStatusBarRightTapFlipToQuickPanel()V
.locals 1
.prologue
iget-boolean v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mTouchRight:Z
if-eqz v0, :cond_0
invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->flipToSettings()V
:goto_0
return-void
:cond_0
invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->flipToNotifications()V
goto :goto_0
.end method
Take note that the line const/high16 v1, 0x44070000 is a floating-point hexadecimal value that controls the starting point of the quick pulldown zone in pixels when in portrait orientation (in this case, the start point is set at approximately 540 pixels from the left side of the status bar) while the line const/high16 v1, 0x44480000 controls the start point of the pulldown zone when in landscape orientation (this value is approximately 800 pixels from the left side of the status bar). For larger screens or to change the size of the drag zone, you'll want to re-calculate these using a floating-point to hexadecimal conversion.
Locate the portion of code that looks like the following:
Code:
.method public flipToNotifications()V
.locals 10
.prologue
const/high16 v9, 0x3f800000
const/4 v8, 0x0
const-wide/16 v6, 0xc8
const/4 v5, 0x1
const/4 v4, 0x0
On a new line under const/4 v4, 0x0, add iput-boolean v4, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mTouchRight:Z
Locate the portion of code that looks like the following:
Code:
.method public flipToSettings()V
.locals 11
.prologue
const-wide/16 v9, 0x15e
const/4 v8, 0x4
const/4 v7, 0x1
const/4 v6, 0x0
const/4 v5, 0x0
On a new line under const/4 v5, 0x0, add iput-boolean v7, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mTouchRight:Z
Locate the section of code that looks like the following:
Code:
.method public interceptTouchEvent(Landroid/view/MotionEvent;)Z
.locals 5
.param p1, "event" # Landroid/view/MotionEvent;
.prologue
const/4 v1, 0x0
const/4 v2, 0x1
.line 2973
iget v3, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindowState:I
if-nez v3, :cond_1
.line 2974
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
On a newline above ABOVE the line invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I, add invoke-direct {p0, p1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->interceptOneFingerStatusBarRightTap(Landroid/view/MotionEventV
Locate the method .method public updateExpandedViewPos(I)V and locate the line return-void inside of the method. On a new line above return-void, add invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->oneFingerStatusBarRightTapFlipToQuickPanel()V.
Save the file and recompile SystemUI using apktool. Don't forget to re-sign the APK (either use an APK signer if you have a ROM that has 3rd-party system app signatures enabled or copy the AndroidManifest.xml file and META-INF folder from the original to the new APK).
Install to your phone using your preferred method. You should already know this but I'll say it anyway, THIS CANNOT BE INSTALLED LIKE NORMAL SIDE-LOADED APKs. I prefer to reboot to recovery and use ADB to push the file to the system, but you can use whatever method is easiest for you (ie. Aroma file manager, flashable zip, etc.).
Thanks for this. I plan on adding this to Tribute in the near future.
I need help please. I'm having error " [5048,15] no viable alternative at input 'p1' " whenever I compile SystemUI.apk. I'm trying to apply this mod on my N8000. Thanks in advance!
filchi756 said:
I need help please. I'm having error " [5048,15] no viable alternative at input 'p1' " whenever I compile SystemUI.apk. I'm trying to apply this mod on my N8000. Thanks in advance!
Click to expand...
Click to collapse
Try using apktool 2.
Thank you for releasing this guide. Looking forward to adding this to my rom.
talkingmonkeys said:
Try using apktool 2.
Thank you for releasing this guide. Looking forward to adding this to my rom.
Click to expand...
Click to collapse
Ok thanks for the suggestion. I will try that.
Need help please .I manage to solve my problem about compiling but when I install it I'm having systemUI stop(foreclose) message. If you have time if possible please help me check my Phonestatusbar.smali ,in what part did I do wrong I've attach my PhoneStatusBar.smali below. Hope you can help me.Thanks in advance.
filchi756 said:
Need help please .I manage to solve my problem about compiling but when I install it I'm having systemUI stop(foreclose) message. If you have time if possible please help me check my Phonestatusbar.smali ,in what part did I do wrong I've attach my PhoneStatusBar.smali below. Hope you can help me.Thanks in advance.
Click to expand...
Click to collapse
Would need to see a logcat. If you don't know how to pull one and post it here, however, I'd say you're not ready to start implementing mods.
moonknightus said:
Would need to see a logcat. If you don't know how to pull one and post it here, however, I'd say you're not ready to start implementing mods.
Click to expand...
Click to collapse
Ok I will post a logcat when I have access to pc. Yeah I think I'm not ready yet for this kind of mods.But I have some little experience in implementing mods in Jellybean before though(by following others guide too), but having a hardtime with kitkat at the moment. By the way any chance you can share me your phonestatusbar.smali or even the SystemUI.apk with you mod included so I can compare it with mine? I think it not necessary to download the whole rom if I just need one apk and beside I don't have S3. And I have a crappy internet connection. Hope you understand.Thanks!
filchi756 said:
Ok I will post a logcat when I have access to pc. Yeah I think I'm not ready yet for this kind of mods.I have some experience in implementing mods in Jellybean before though(by following others guide too), but having a hardtime with kitkatat the moment. By the way any chance you can share me your phonestatusbar.smali or even the SystemUI.apk with you mod included so I can compare it with mine? I think it not necessary to download the whole rom if I just need one apk and beside I don't have S3. And I have a crappy internet connection. Hope you understand.Thanks!
Click to expand...
Click to collapse
Nope. My ROM has multiple mods so the smali and apk will not help you. Not to mention, my phone is a Galaxy S3.
moonknightus said:
Nope. My ROM has multiple mods so the smali and apk will not help you. Not to mention, my phone is a Galaxy S3.
Click to expand...
Click to collapse
Ok thanks.I'll wait for someone's else help, who implemented this mod of your's and with clear instruction I'm capable of understanding(like the guide of havocgb, it has before and after).Your mod is just new that's means just few people implemented it yet in their rom at the moment.When time come's there will surely be someone out there who will write a clear guide which we amateur's will understand. Thanks again for this guide anyway. Cheers mate!
P.S. I think even we have different gadget as long as they are the same brand(like Samsung) .I think there are a lot of similarities on their content. I successfully made mods for my tablet using guides from Note 2014 and Note pro before by the way .
filchi756 said:
Ok thanks.I'll wait for someone's else help, who implemented this mod of your's and with clear instruction I'm capable of understanding.Your mod is just new that's means just few people implemented it yet in their rom at the moment.When time come's there will surely be someone out there who will write a clear guide which we amateur's will understand. Thanks again for this guide anyway. Cheers mate!
P.S. I think even we have different gadget as long as they are the same brand(like Samsung) .I think there are a lot of similarities on their content. I successfully made mods for my tablet using guides from Note 2014 and Note pro before by the way .
Click to expand...
Click to collapse
There's nothing new about this mod. Was originally written for an Xperia phone by havocgb in March 2013. This is clearly stated in the op. If you are incapable of following instructions, modifying the code to fit your device, and debugging your own code, that is not my fault. FYI, others have already successfully implemented this mod. At least one was on a note device.
moonknightus said:
There's nothing new about this mod. Was originally written for an Xperia phone by havocgb in March 2013. This is clearly stated in the op. If you are incapable of following instructions, modifying the code to fit your device, and debugging your own code, that is not my fault. FYI, others have already successfully implemented this mod. At least one was on a note device.
Click to expand...
Click to collapse
Ok. I'll look for that who implemented it on note(If I get lucky).I'm just looking for a quick solution for this cause I really want to implement this to my gadgets. Thankfully you did not suggest "google is your friend" thing to find solution for your problem.I can't access google, its block in my location(China).Thanks again for the guide.Anyway Cool! peace mate!
filchi756 said:
Ok. I'll look for that who implemented it on note(If I get lucky).I'm just looking for a quick solution for this cause I really want to implement this to my gadgets. Thankfully you did not suggest "google is your friend" thing to find solution for your problem.I can't access google, its block in my location(China).Thanks again for the guide.Anyway Cool! peace mate!
Click to expand...
Click to collapse
There's always Baidu. If I run across the PM, I'll shoot the guy's name over to you. I may have deleted it
moonknightus said:
There's always Baidu. If I run across the PM, I'll shoot the guy's name over to you. I may have deleted it
Click to expand...
Click to collapse
Ok thanks mate .That will be great:good:! If I use baidu in China the results are only from China and in chinese(I don't understand Chinese). I tried it before in Hongkong the results are international and in English.Hope you understand what I meant mate.
P.S. I'm trying your other mod here: http://forum.xda-developers.com/gal...t/mod-enable-heads-notifications-nd8-t2873109 .Lets see if I can implement it successfully:fingers-crossed:.
bro. screenshots show the work of this tutorial..
Sorry for my bad english
please upload the screenshot

[Guide] full lockscreen/hide statusbar on lockscreen

Hai XDA. I just want share little guide and very simple
How to full lockscreen/ hide statusbar on lockscreen,
Lets go to guide
Requirement
Apktool
Notepad
android.policy.jar
Decompile your android.policy.jar
Go to : smali\com\android\internal\policy\impl\KeyguardViewManager.smali
find .method public declared-synchronized show()V
and scrool down, find line similiar like this
Code:
const/4 v5, 0x0
invoke-direct {v1, v2, v3, v5}, Lcom/android/internal/policy/impl/KeyguardViewManager$KeyguardViewHost;-><init>(Landroid/content/Context;Lcom/android/internal/policy/impl/KeyguardViewCallback;Lcom/android/internal/policy/impl/KeyguardViewManager$1;)V
iput-object v1, p0, Lcom/android/internal/policy/impl/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
.line 119
const/4 v9, -0x1
.line 120
.local v9, stretch:I
const v4, [COLOR="Red"]0x100800[/COLOR]
.line 125
.local v4, flags:I
iget-boolean v1, p0, Lcom/android/internal/policy/impl/KeyguardViewManager;->mNeedsInput:Z
if-nez v1, :cond_2
.line 126
const/high16 v1, 0x2
or-int/2addr v4, v1
see the code I marked in red : 0x100800 and change it to 0x10000504
Save, recompile your android.policy.jar and DONE!!
Happy Modding :highfive:
full lockscreen
you can be edited to me full lockscreen which is not hide statebar
Thanks for the guide its work for me.
kulphat said:
you can be edited to me full lockscreen which is not hide statebar
Click to expand...
Click to collapse
what do you mean full lockscreen which is not hide statebar?
amadeuszxd said:
Thanks for the guide its work for me.
Click to expand...
Click to collapse
You'r welcome
I lock the screen while listening to music with headphones , the music I was lag
I often listen to music and it makes me feel very uncomfortable ... you can not fix it
nice guide mastah
syaeful said:
Hai XDA. I just want share little guide and very simple
How to full lockscreen/ hide statusbar on lockscreen,
Lets go to guide
Requirement
Apktool
Notepad
android.policy.jar
Decompile your android.policy.jar
Go to : smali\com\android\internal\policy\impl\KeyguardViewManager.smali
find .method public declared-synchronized show()V
and scrool down, find line similiar like this
Code:
const/4 v5, 0x0
invoke-direct {v1, v2, v3, v5}, Lcom/android/internal/policy/impl/KeyguardViewManager$KeyguardViewHost;-><init>(Landroid/content/Context;Lcom/android/internal/policy/impl/KeyguardViewCallback;Lcom/android/internal/policy/impl/KeyguardViewManager$1;)V
iput-object v1, p0, Lcom/android/internal/policy/impl/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
.line 119
const/4 v9, -0x1
.line 120
.local v9, stretch:I
const v4, [COLOR="Red"]0x100800[/COLOR]
.line 125
.local v4, flags:I
iget-boolean v1, p0, Lcom/android/internal/policy/impl/KeyguardViewManager;->mNeedsInput:Z
if-nez v1, :cond_2
.line 126
const/high16 v1, 0x2
or-int/2addr v4, v1
see the code I marked in red : 0x100800 and change it to 0x10000504
Save, recompile your android.policy.jar and DONE!!
Happy Modding :highfive:
Click to expand...
Click to collapse
nice guide can you make a guide for4.0+ How to create lollipop lockscreen.??:good:
veneetsingh said:
nice guide can you make a guide for4.0+ How to create lollipop lockscreen.??:good:
Click to expand...
Click to collapse
Thanks sir. Maybe not diferent too much with this tut. Just find similiar line.
syaeful said:
Thanks sir. Maybe not diferent too much with this tut. Just find similiar line.
Click to expand...
Click to collapse
i know it is Easy but I am creating lollipop rom for my device and i need help All is done but need only lollipop lockscreen..?
can you help me.?:victory:
thanx sir, nice guide and work great to me :good:
Doctor Be said:
thanx sir, nice guide and work great to me :good:
Click to expand...
Click to collapse
You're welcome
veneetsingh said:
i know it is Easy but I am creating lollipop rom for my device and i need help All is done but need only lollipop lockscreen..?
can you help me.?:victory:
Click to expand...
Click to collapse
Sorry sir... i can't port it
maybe you can use this application,, or port
https://play.google.com/store/apps/details?id=com.hi.locker&hl=en
Nice Guide Dude!
Keep it up :thumbup:
SuperMan(Alex) said:
Nice Guide Dude!
Keep it up :thumbup:
Click to expand...
Click to collapse
Thanks :highfive:
inquiry
syaeful said:
Hai XDA. I just want share little guide and very simple
How to full lockscreen/ hide statusbar on lockscreen,
Lets go to guide
Requirement
Apktool
Notepad
android.policy.jar
Decompile your android.policy.jar
Go to : smali\com\android\internal\policy\impl\KeyguardViewManager.smali
find .method public declared-synchronized show()V
and scrool down, find line similiar like this
Code:
const/4 v5, 0x0
invoke-direct {v1, v2, v3, v5}, Lcom/android/internal/policy/impl/KeyguardViewManager$KeyguardViewHost;-><init>(Landroid/content/Context;Lcom/android/internal/policy/impl/KeyguardViewCallback;Lcom/android/internal/policy/impl/KeyguardViewManager$1;)V
iput-object v1, p0, Lcom/android/internal/policy/impl/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
.line 119
const/4 v9, -0x1
.line 120
.local v9, stretch:I
const v4, [COLOR="Red"]0x100800[/COLOR]
.line 125
.local v4, flags:I
iget-boolean v1, p0, Lcom/android/internal/policy/impl/KeyguardViewManager;->mNeedsInput:Z
if-nez v1, :cond_2
.line 126
const/high16 v1, 0x2
or-int/2addr v4, v1
see the code I marked in red : 0x100800 and change it to 0x10000504
Save, recompile your android.policy.jar and DONE!!
Happy Modding :highfive:
Click to expand...
Click to collapse
will this work on kitkat firmware?
boszjhiee22 said:
will this work on kitkat firmware?
Click to expand...
Click to collapse
not tested sir... maybe different
apktool
I would like to do it but i dont know how to install apktool i did step by step, but i dont kn0ow how to write the code in cmd
Is this guide for JB?
It works!
Thank you so much. Cheers
how to hide status bar in lollipop 5.1.1 lockscreen
Dear friend,
can u help me to edit android policy.jar to remove the status bar in lock screen?
thanks in advance

Categories

Resources