so after trying endless number of times including analyzing the smalis of a dozen guides for crt effect and the mysterious libsurfacelinger losing hwcomposer error in logcat which causes the phone to soft reboot after crt animation, i finally have gotten it to work, so let us begin
1st off we need to decompile services.jar and open up smali/com/android/server/PowerManagerService$ScreenBrightnessAnimator.smali
look for this line (code in LIME might look different in your smali)
Code:
.line 2716
.restart local[COLOR="Lime"] v1 [/COLOR] #turningOff:Z
:[COLOR="Lime"]cond_e[/COLOR]
add this after the code, note color in LIME might be different in your smali
Code:
iget-object v4, p0, Lcom/android/server/PowerManagerService$ScreenBrightnessAnimator;->this$0:Lcom/android/server/PowerManagerService;
const/16 v3, 0x10
#calls: Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V
invoke-static {v4, v3}, Lcom/android/server/PowerManagerService;->access$[COLOR="Lime"]7100[/COLOR](Lcom/android/server/PowerManagerService;I)V
to make sure what access$ yours is, open up PowerManagerService.smali and look for somethings that looks like this
Code:
.method static synthetic access[COLOR="Red"]$XXXX[/COLOR](Lcom/android/server/PowerManagerService;I)V
.registers 2
.parameter "x0"
.parameter "x1"
.prologue
.line 110
invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V
return-void
.end method
NOTE the $XXXX in RED as this is what you should put in your PowerManagerService$ScreenBrightnessAnimator.smali
Finally it should look like this afterwards( code in RED is what we added and color in LIME is your access$ which in my case was 7100)
Code:
.line 2716
.restart local v1 #turningOff:Z
:cond_e
[COLOR="Red"] iget-object v4, p0, Lcom/android/server/PowerManagerService$ScreenBrightnessAnimator;->this$0:Lcom/android/server/PowerManagerService;
const/16 v3, 0x10
#calls: Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V
invoke-static {v4, v3}, Lcom/android/server/PowerManagerService;->access$[COLOR="Lime"]7100[/COLOR](Lcom/android/server/PowerManagerService;I)V[/COLOR]
iget-object v2, p0, Lcom/android/server/PowerManagerService$ScreenBrightnessAnimator;->this$0:Lcom/android/server/PowerManagerService;
const/4 v3, 0x1
#setter for: Lcom/android/server/PowerManagerService;->mWaitKeyguardDraw:Z
invoke-static {v2, v3}, Lcom/android/server/PowerManagerService;->access$2002(Lcom/android/server/PowerManagerService;Z)Z
now recompile and put classes.dex back to android.policy.jar.
and lastly download the attached zip add your android.policy.jar and flash it, or extract and push manually the files to their corresponding folders
reboot, or just run
pkill zygote
from terminal as root and voila you should have crt effect working now,
alternative way is framework-res.apk method, just decompile it and open up /res/values/bools.xml
look for somehing like
config_animateScreenLights
Click to expand...
Click to collapse
and change its value from TRUE to FALSE
and flash the zip, although this method will not show crt effect if your window animations speed is 0.5 and below while smali method crt will work regardless if you set your animations or not in developer settings
CREDITS TO
sorg - for his help in tipping me on whats causing the errors in my logcats
sphinx02 - i based this on his guide
Click to expand...
Click to collapse
Reserved in case I need it for something
Okay so I really did need this for something...
Anyway here is where ill put the devices that didnt work with it
1. Thl w7
the general is, it might not work on mt6577 running android 4.1.2, already have two reports on 4,1,2 as not working
Thats it for now, just report if it didnt work on your device guys
Sent from my H100 using xda app-developers app
thirdzcee said:
so after trying endless number of times including analyzing the smalis of a dozen guides for crt effect and the mysterious libsurfacelinger losing hwcomposer error in logcat which causes the phone to soft reboot after crt animation, i finally have gotten it to work, so let us begin
1st off we need to decompile services.jar and open up smali/com/android/server/PowerManagerService$ScreenBrightnessAnimator.smali
look for this line (code in LIME might look different in your smali)
Code:
.line 2716
.restart local[COLOR="Lime"] v1 [/COLOR] #turningOff:Z
:[COLOR="Lime"]cond_e[/COLOR]
add this after the code, note color in LIME might be different in your smali
Code:
iget-object v4, p0, Lcom/android/server/PowerManagerService$ScreenBrightnessAnimator;->this$0:Lcom/android/server/PowerManagerService;
const/16 v3, 0x10
#calls: Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V
invoke-static {v4, v3}, Lcom/android/server/PowerManagerService;->access$[COLOR="Lime"]7100[/COLOR](Lcom/android/server/PowerManagerService;I)V
to make sure what access$ yours is, open up PowerManagerService.smali and look for somethings that looks like this
Code:
.method static synthetic access[COLOR="Red"]$XXXX[/COLOR](Lcom/android/server/PowerManagerService;I)V
.registers 2
.parameter "x0"
.parameter "x1"
.prologue
.line 110
invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V
return-void
.end method
NOTE the $XXXX in RED as this is what you should put in your PowerManagerService$ScreenBrightnessAnimator.smali
Finally it should look like this afterwards( code in RED is what we added and color in LIME is your access$ which in my case was 7100)
Code:
.line 2716
.restart local v1 #turningOff:Z
:cond_e
[COLOR="Red"] iget-object v4, p0, Lcom/android/server/PowerManagerService$ScreenBrightnessAnimator;->this$0:Lcom/android/server/PowerManagerService;
const/16 v3, 0x10
#calls: Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V
invoke-static {v4, v3}, Lcom/android/server/PowerManagerService;->access$[COLOR="Lime"]7100[/COLOR](Lcom/android/server/PowerManagerService;I)V[/COLOR]
iget-object v2, p0, Lcom/android/server/PowerManagerService$ScreenBrightnessAnimator;->this$0:Lcom/android/server/PowerManagerService;
const/4 v3, 0x1
#setter for: Lcom/android/server/PowerManagerService;->mWaitKeyguardDraw:Z
invoke-static {v2, v3}, Lcom/android/server/PowerManagerService;->access$2002(Lcom/android/server/PowerManagerService;Z)Z
now recompile and put classes.dex back to android.policy.jar.
and lastly download the attached zip add your android.policy.jar and flash it, or extract and push manually the files to their corresponding folders
reboot, or just run
pkill zygote
from terminal as root and voila you should have crt effect working now,
alternative way is framework-res.apk method, just decompile it and open up /res/values/bools.xml
look for somehing like
and change its value to TRUE
and flash the zip, although this method will not show crt effect if your window animations speed is 0.5 and below while smali method crt will work regardless if you set your animations or not in developer settings
Click to expand...
Click to collapse
goid one bro, i will try...
but for editing framework-res.apk
actually we have to change, true to false... afaik.... btw it doesn't work in my device.... (jb)...
Sent from my IRIS_501 using xda premium
akash akya said:
goid one bro, i will try...
but for editing framework-res.apk
actually we have to change, true to false... afaik.... btw it doesn't work in my device.... (jb)...
Sent from my IRIS_501 using xda premium
Click to expand...
Click to collapse
Oh I wasnt sure, will recheck again as I was just basing it on memory
But
It should work after flashing the zip which contains a more completely built hwcomposer, youll notice if you previously had hwcomposer issues in logcat before theyll go away after flashing the new one
Sent from my H100 using xda app-developers app
thirdzcee said:
Oh I wasnt sure, will recheck again as I was just basing it on memory
But
It should work after flashing the zip which contains a more completely built hwcomposer, youll notice if you previously had hwcomposer issues in logcat before theyll go away after flashing the new one
Sent from my H100 using xda app-developers app
Click to expand...
Click to collapse
working like a charm bro...
akash akya said:
working like a charm bro...
Click to expand...
Click to collapse
Great:thumbup::thumbup::thumbup:
Sent from my H100 using xda app-developers app
Thanks for guide...
Got working on my MMX A110........
thirdzcee said:
so after trying endless number of times including analyzing the smalis of a dozen guides for crt effect and the mysterious libsurfacelinger losing hwcomposer error in logcat which causes the phone to soft reboot after crt animation, i finally have gotten it to work, so let us begin
1st off we need to decompile services.jar and open up smali/com/android/server/PowerManagerService$ScreenBrightnessAnimator.smali
look for this line (code in LIME might look different in your smali)
Code:
.line 2716
.restart local[COLOR="Lime"] v1 [/COLOR] #turningOff:Z
:[COLOR="Lime"]cond_e[/COLOR]
add this after the code, note color in LIME might be different in your smali
Code:
iget-object v4, p0, Lcom/android/server/PowerManagerService$ScreenBrightnessAnimator;->this$0:Lcom/android/server/PowerManagerService;
const/16 v3, 0x10
#calls: Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V
invoke-static {v4, v3}, Lcom/android/server/PowerManagerService;->access$[COLOR="Lime"]7100[/COLOR](Lcom/android/server/PowerManagerService;I)V
to make sure what access$ yours is, open up PowerManagerService.smali and look for somethings that looks like this
Code:
.method static synthetic access[COLOR="Red"]$XXXX[/COLOR](Lcom/android/server/PowerManagerService;I)V
.registers 2
.parameter "x0"
.parameter "x1"
.prologue
.line 110
invoke-direct {p0, p1}, Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V
return-void
.end method
NOTE the $XXXX in RED as this is what you should put in your PowerManagerService$ScreenBrightnessAnimator.smali
Finally it should look like this afterwards( code in RED is what we added and color in LIME is your access$ which in my case was 7100)
Code:
.line 2716
.restart local v1 #turningOff:Z
:cond_e
[COLOR="Red"] iget-object v4, p0, Lcom/android/server/PowerManagerService$ScreenBrightnessAnimator;->this$0:Lcom/android/server/PowerManagerService;
const/16 v3, 0x10
#calls: Lcom/android/server/PowerManagerService;->nativeStartSurfaceFlingerAnimation(I)V
invoke-static {v4, v3}, Lcom/android/server/PowerManagerService;->access$[COLOR="Lime"]7100[/COLOR](Lcom/android/server/PowerManagerService;I)V[/COLOR]
iget-object v2, p0, Lcom/android/server/PowerManagerService$ScreenBrightnessAnimator;->this$0:Lcom/android/server/PowerManagerService;
const/4 v3, 0x1
#setter for: Lcom/android/server/PowerManagerService;->mWaitKeyguardDraw:Z
invoke-static {v2, v3}, Lcom/android/server/PowerManagerService;->access$2002(Lcom/android/server/PowerManagerService;Z)Z
now recompile and put classes.dex back to android.policy.jar.
and lastly download the attached zip add your android.policy.jar and flash it, or extract and push manually the files to their corresponding folders
reboot, or just run
pkill zygote
from terminal as root and voila you should have crt effect working now,
alternative way is framework-res.apk method, just decompile it and open up /res/values/bools.xml
look for somehing like
and change its value from TRUE to FALSE
and flash the zip, although this method will not show crt effect if your window animations speed is 0.5 and below while smali method crt will work regardless if you set your animations or not in developer settings
Click to expand...
Click to collapse
THANKS A TON!!!!!!!!!!!!!!!!:good::good::good::good::good::good::highfive:
WORKS LIKE A CHARM !!!!!!!!!!!!! AWESOME!..............
Screen Lights On
I tried and working good.
Thanks a lot.
But getting lil bug.
If I screen off in locked screen, it give crt effect screen of den again its light on.
even in any msg light got on even i turned of notification lights.
can you tell me how to fix?
Thank a lot for this mod.
jigarmpattani said:
I tried and working good.
Thanks a lot.
But getting lil bug.
If I screen off in locked screen, it give crt effect screen of den again its light on.
even in any msg light got on even i turned of notification lights.
can you tell me how to fix?
Thank a lot for this mod.
Click to expand...
Click to collapse
Yes it is the only bug as of now , unfortunately I still have not found the proper line where to add the codes in smali due to difference in Samsung framework from ours, but if you leave screen alone screen timeout will just turn screen off without screen turning on again
Sent from my Nexus 7 using XDA Premium HD app
akash akya said:
working like a charm bro...
Click to expand...
Click to collapse
@akash akya buddy can u please make crt effect flash zip for stock 4.1.1 v1.11 jb ... canvas2 .. it would be wonderfull
Thanks
Awesomely Working! Just That When Lock Button Is Pressed After The CRT Again The LockScreen Appears! This Is Surely Gonna Be In My Next Release! Keep Up the Good Work Bro!
ankurbata said:
Awesomely Working! Just That When Lock Button Is Pressed After The CRT Again The LockScreen Appears! This Is Surely Gonna Be In My Next Release! Keep Up the Good Work Bro!
Click to expand...
Click to collapse
Yes but not pressing power and leaving screen alone to timeout will turn screen off without turning on again, will update this when I get the fix for it working
Sent from my H100 using xda app-developers app
One more goodie I have got as temporary solution....
Of there is a button on statusbar for power with keycode value=26 then its not turning the screen.
Like I did in my ui in the screenshot....
"""Hitting Thanks Don't Cost You Anything So Why Don't You Try Hitting It......."""
Sent From Mind Blowing Canvas Using SUVI-Heart Rom.....<3<3<3
BOND1987 said:
One more goodie I have got as temporary solution....
Of there is a button on statusbar for power with keycode value=26 then its not turning the screen.
Like I did in my ui in the screenshot....
"""Hitting Thanks Don't Cost You Anything So Why Don't You Try Hitting It......."""
Sent From Mind Blowing Canvas Using SUVI-Heart Rom.....<3<3<3
Click to expand...
Click to collapse
You can actually use the lidroid toggles lock now toggle instead of adding keycode
Sent from my H100 using xda app-developers app
But then again it would be much easier to put the keycode if you dint have lidroid toggles,,, thanks for the tip bond
Sent from my H100 using xda app-developers app
Guys , instead of editing services.jar .... only edit framework-Res.apk I.e in values / bools --> change config_animatescreenlights = false "
And then compile and flash it the zip containing hwcomposer.mt6577.so given by thirdzcee
Sent from my Micromax A110 using XDA Premium HD app
Akhilendra1711 said:
Guys , instead of editing services.jar .... only edit framework-Res.apk I.e in values / bools --> change config_animatescreenlights = false "
And then compile and flash it the zip containing hwcomposer.mt6577.so given by thirdzcee
Sent from my Micromax A110 using XDA Premium HD app
Click to expand...
Click to collapse
that is already posted in op as the alternate method but be advised if you set your animations speed to x.5 or off crt effect wont show
thirdzcee said:
that is already posted in op as the alternate method but be advised if you set your animations speed to x.5 or off crt effect wont show
Click to expand...
Click to collapse
Actually sir I'm just giving my opinion if someone did not try by framework-res method . And yep by this method as u said setting animation speed off or x.5 then animation won't be shown .
Sent from my Micromax A110 using XDA Premium HD app
so sad..it can't work on JB 4.1.2...can anyone share their hwcomposer of 4.1.2 which already have been edited for crt effect..
Btw, thanks thirdzee for your reply....
Related
IF YOU LIKE MY GUIDE PLEASE CLICK "THANKS" BUTTON
Principle:
First,there are two system files which are controling our vivo's backlights.They are
/sys/class/leds/button-backlight-portrait/brightness
sys/class/leds/button-backlight-landscape/brightness(when the phone is rotating)
If the backlights are not lighting up that means the value of these two system files are 0.
So that we can setup a system file which included the correct value and put it into systemui.apk , your vivo will get the light after you reboot it.
How to do that:
I have made the buttonlight.smali file for you guys.
What you should do is using VTS(Virtuous Ten Studio) to decompile systemui.apk and put this file in /smali/com/android/systemui/statusbar.
Then go to smali/com/android/systemui
use Notepad++ open SystemUIService.smali
search onCreate
add these code below after .line71
Code:
new-instance v0, Lcom/android/systemui/statusbar/ButtonLight;
invoke-direct {v0}, Lcom/android/systemui/statusbar/ButtonLight;-><init>()V
.local v0, bl:Lcom/android/systemui/statusbar/ButtonLight;
new-instance v1, Landroid/content/IntentFilter;
invoke-direct {v1}, Landroid/content/IntentFilter;-><init>()V
.local v1, intentfilter:Landroid/content/IntentFilter;
const-string v2, "android.intent.action.SCREEN_OFF"
invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
const-string v2, "android.intent.action.SCREEN_ON"
invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
const-string v2, "android.intent.action.CONFIGURATION_CHANGED"
invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
invoke-virtual {p0, v0, v1}, Lcom/android/systemui/SystemUIService;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
After that save it ,compile it,put it in to your system folder,set permission,DONE!
It should work on every rom in Incredible S in theory
Thanks for Deepak Srivastav providing the temp backlight fix,I inspired from there.
VTS download link is here(Thanks Virtuous Rom team): http://www.virtuousrom.com/p/ten-studio.html
Notepad++ download link is here:http://notepad-plus-plus.org/download/v6.1.3.html
Sorry for my poor English,hope you know what I mean
cycber said:
IF YOU LIKE MY GUIDE PLEASE CLICK "THANKS" BUTTON
Principle:
First,there are two system files which are controling our vivo's backlights.They are
/sys/class/leds/button-backlight-portrait/brightness
sys/class/leds/button-backlight-landscape/brightness(when the phone is rotating)
If the backlights are not lighting up that means the value of these two system files are 0.
So that we can setup a system file which included the correct value and put it into systemui.apk , your vivo will get the light after you reboot it.
How to do that:
I have made the buttonlight.smali file for you guys.
What you should do is using VTS(Virtuous Ten Studio) to decompile systemui.apk and put this file in /smali/com/android/systemui/statusbar.
Then go to smali/com/android/systemui
use Notepad++ open SystemUIService.smali
search onCreate
add these code below after .line71
Code:
new-instance v0, Lcom/android/systemui/statusbar/ButtonLight;
invoke-direct {v0}, Lcom/android/systemui/statusbar/ButtonLight;-><init>()V
.local v0, bl:Lcom/android/systemui/statusbar/ButtonLight;
new-instance v1, Landroid/content/IntentFilter;
invoke-direct {v1}, Landroid/content/IntentFilter;-><init>()V
.local v1, intentfilter:Landroid/content/IntentFilter;
const-string v2, "android.intent.action.SCREEN_OFF"
invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
const-string v2, "android.intent.action.SCREEN_ON"
invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
const-string v2, "android.intent.action.CONFIGURATION_CHANGED"
invoke-virtual {v1, v2}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
invoke-virtual {p0, v0, v1}, Lcom/android/systemui/SystemUIService;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
After that save it ,compile it,put it in to your system folder,set permission,DONE!
It should work on every rom in Incredible S in theory
VTS download link is here(Thanks Virtuous Rom team): http://www.virtuousrom.com/p/ten-studio.html
Notepad++ download link is here:http://notepad-plus-plus.org/download/v6.1.3.html
Sorry for my poor English,hope you know what I mean
Click to expand...
Click to collapse
Thanks for the guide please mention thanks to Deepak Srivastav who made this mod in an apk form
nikhil007mmus said:
Thanks for the guide please mention thanks to Deepak Srivastav who made this mod in an apk form
Click to expand...
Click to collapse
Added it,thanks for the remind
Thanks for sharing it.
Thanks sooo much but can you remove Smileys from the code
Sent from my Incredible S using Tapatalk 2
sharawy1 said:
Thanks sooo much but can you remove Smileys from the code
Sent from my Incredible S using Tapatalk 2
Click to expand...
Click to collapse
Use computer see it should be fine !
Sent from my HTC Incredible S using xda premium
Nope im using PC and wont work as smileys are enabled in the code
htc-phones said:
Nope im using PC and wont work as smileys are enabled in the code
Click to expand...
Click to collapse
+1
Sent from my HTC Incredible S using Tapatalk 2
sharawy1 said:
+1
Sent from my HTC Incredible S using Tapatalk 2
Click to expand...
Click to collapse
Ok,I will post a txt download link for you
Attached Files updated!
感谢分享
thank you for translating my guide into English and posting it here!
recently,i have modded it better, let the keylight adjust the screen brightness. and do you know when the keylight rotate as landscape,you lock the screen ,the keylight will turn on?
Sent from my HTC Incredible S using xda premium
"After that save it ,compile it,put it in to your system folder,set permission,DONE"
Can I ask what permissions you are supposed to give the script, and how/what I'm supposed to use to set them?
thank you.
CyanideJack said:
"After that save it ,compile it,put it in to your system folder,set permission,DONE"
Can I ask what permissions you are supposed to give the script, and how/what I'm supposed to use to set them?
Click to expand...
Click to collapse
644
I have the lights working only in Landscape mode. Any solution? Do i have to try this?
Hi all I have re-written the .method final updateclock()V in clock.smali so it can be adjusted to suit everyones needs.It has been taken from XXELLA.
To use just decompile SystemUI.apk and replace clock.smali with the one attached.
How to configure:
In the new method you will see this code at the top change the code to the code in red to suit your needs:
Code:
[CENTER] .line 45
.local v3,
hr:Z
const/4 v8, 0x1
[COLOR=red]Change to 0x0 for no clock[/COLOR][/CENTER]
[CENTER] .line 46
.local v8,
show_clock:Z
const/4 v9, 0x1
[COLOR=red]Change to 0x0 for no day in statusbar[/COLOR][/CENTER]
[CENTER] .line 47
.local v9,
show_date:Z
const/4 v7, 0x1
[COLOR=red]Change to 0x0 for no am/pm[/COLOR][/CENTER]
[CENTER] .line 48
.local v7,
show_ampm:Z
const/high16 v1, 0x3f00
[COLOR=#ff0000]This one chages size of am/pm[/COLOR][/CENTER]
[CENTER][COLOR=red]1.0 = Same as clock size change to 0x3F80[/COLOR]
[COLOR=#ff0000]0.75 = 3/4 of clock size change to 0x3F40[/COLOR]
[COLOR=#ff0000]0.50 Half clock size (default) change to 0x[/COLOR][COLOR=red]3F00 [/COLOR][/CENTER]
[CENTER][COLOR=#ff0000]Go [URL="http://babbage.cs.qc.cuny.edu/IEEE-754.old/Decimal.html"]here[/URL] for other sizes.[/COLOR][/CENTER]
Download
To make it so it says Mon instead of MON decompile and look for:
Code:
invoke-virtual {v6, v11}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v0
.line 57
.local v0,
am:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;
move-result-object v11
invoke-virtual {v5, v11}, Landroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
in clock.smali and change the line:
Code:
invoke-virtual {v5, v11}, Landroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
To:
Code:
invoke-virtual {v5, v0}, Landroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
Then recompile and your done.
super stuff mate but some how ZSEMA1 SystemUI gives fc when applied ,
will be waiting for a fix ... thanks again mate
vegeta1 said:
super stuff mate but some how ZSEMA1 SystemUI gives fc when applied ,
will be waiting for a fix ... thanks again mate
Click to expand...
Click to collapse
I am running on ZSEMA1 now mate. What does logcat say?
Sent from my GT-I9300 using xda premium
gharrington said:
I am running on ZSEMA1 now mate. What does logcat say?
Sent from my GT-I9300 using xda premium
Click to expand...
Click to collapse
i have never used log cat , but if you can look here's my logcat
vegeta1 said:
i have never used log cat , but if you can look here's my logcat
Click to expand...
Click to collapse
hey mate found the error in my clock smali find line 964 it says:
invoke-virtual {p0, v5}, Lcom/android/systemui/statusbar/policy/SimpleDateView;->setText(Ljava/lang/CharSequenceV
change it to:
invoke-virtual {p0, v5}, Lcom/android/systemui/statusbar/policy/Clock;->setText(Ljava/lang/CharSequenceV
now it will work
I have also updated the clock.smali to show changes on post #1 just in case you want to re-download
gharrington said:
hey mate found the error in my clock smali find line 964 it says:
invoke-virtual {p0, v5}, Lcom/android/systemui/statusbar/policy/SimpleDateView;->setText(Ljava/lang/CharSequenceV
change it to:
invoke-virtual {p0, v5}, Lcom/android/systemui/statusbar/policy/Clock;->setText(Ljava/lang/CharSequenceV
now it will work
Click to expand...
Click to collapse
absolutely ravishing , thanks alot my friend
i never thought logcat can be that handy i never tried it and know nothing related
vegeta1 said:
absolutely ravishing , thanks alot my friend
i never thought logcat can be that handy i never tried it and know nothing related
Click to expand...
Click to collapse
Logcat is a developers best friend lol. Any time mate.
Sent from my GT-I9300 using xda premium
Hi,
I'm using ROM FoxHound v1.8 (ZSMA1) and I want to have the day on my statusbar. I checked the clock.smali and I found this:
.line 45
.local v3, hr:Z
const/4 v8, 0x1
.line 46
.local v8, show_clock:Z
const/4 v9, 0x1
.line 47
.local v9, show_date:Z
const/4 v7, 0x1
.line 48
.local v7, show_ampm:Z
const/high16 v1, 0x3f00
My problem is that even I see that "const/4 v9, 0x1" I still don't have the date on my statusbar.
Can you please tell me what is wrong?
Thank you.
starbucks2010 said:
Hi,
I'm using ROM FoxHound v1.8 (ZSMA1) and I want to have the day on my statusbar. I checked the clock.smali and I found this:
.line 45
.local v3, hr:Z
const/4 v8, 0x1
.line 46
.local v8, show_clock:Z
const/4 v9, 0x1
.line 47
.local v9, show_date:Z
const/4 v7, 0x1
.line 48
.local v7, show_ampm:Z
const/high16 v1, 0x3f00
My problem is that even I see that "const/4 v9, 0x1" I still don't have the date on my statusbar.
Can you please tell me what is wrong?
Thank you.
Click to expand...
Click to collapse
Does SystemUI fc?
Sent from my GT-I9300 using xda premium
and how do we change clock colour?
Sent from my GT-I9300 using xda premium
gharrington said:
Does SystemUI fc?
Sent from my GT-I9300 using xda premium
Click to expand...
Click to collapse
I just decompiled SystemUI.apk and checked the clock.smali file on my PC. I didn't modify anything on the file or on the phone. No FC.
starbucks2010 said:
I just decompiled SystemUI.apk and checked the clock.smali file on my PC. I didn't modify anything on the file or on the phone. No FC.
Click to expand...
Click to collapse
You have to decompile your SystemUI then delete clock smali. Then replace with downloaded one. Then recompile and flash.
Sent from my GT-I9300 using xda premium
Sorry for mistake: I was looking in your clock.smali not mine. Actualy mine it looks very different than yours. Can you check it please and tell me if it will work if I replace it with your clock.smali.
Thank you for your time and patience.
starbucks2010 said:
Sorry for mistake: I was looking in your clock.smali not mine. Actualy mine it looks very different than yours. Can you check it please and tell me if it will work if I replace it with your clock.smali.
Thank you for your time and patience.
Click to expand...
Click to collapse
This is compatable with firmware MA1 so yes just swap them and Recompile.
Sent from my GT-I9300 using xda premium
I tried and is not working: no more statusbar and no more wallpaper. If is not too much asking, could you please modify my clock.smali to include the short day in the statusbar?
Thank you again and sorry for bother.
starbucks2010 said:
I tried and is not working: no more statusbar and no more wallpaper. If is not too much asking, could you please modify my clock.smali to include the short day in the statusbar?
Thank you again and sorry for bother.
Click to expand...
Click to collapse
Mate don't mean to be rude but this is a very simple thing to do you just have to swap the smali file. Maybe you should read how to decompile and recompile a apk properly then re attempt. If I was to modify for you it would look the same as the downloaded one!
Sent from my GT-I9300 using xda premium
I decompiled the file with 3 different sw. All are giving me the same file which is very different than yours. I don't understand why. I can send you my SystemUI to try to decompile it and the results. From which firmware you took this clock.smali?
Thank you.
starbucks2010 said:
I decompiled the file with 3 different sw. All are giving me the same file which is very different than yours. I don't understand why. I can send you my SystemUI to try to decompile it and the results. From which firmware you took this clock.smali?
Thank you.
Click to expand...
Click to collapse
The files will be different from mine. Mine as been modified! Yours are stock. You need to use my clock.smali instead of the one that's already there. Delete original and replace with mine and recompile that's it.
Sent from my GT-I9300 using xda premium
{TUTORIAL}[How To] 4-Way Reboot + Theminig MediaTeK Devices - MTK & Low End Device
Hello Everyone,
First Of All and Everything, Let me Thank Some People First To made it possible what I am posting Today.
Credits@iBotPeaches - Without Him Decompiling and Recompiling any apk is a dream. So we must thank him for this (ApkTool).
@Ticklefish - For His Wonderful Tool TMA. Just loving to work with that at ease,
@Adi Aisiteru Reborn - A Wonderful Person, Very Helpful and have so many nice guides to go through and learn.
@majdinj- A wonderful Guide to get 4-way reboot method.
@bombaybadboy - A nice person and a really a nice contributor to this community.
@joehanh88 - A Good Guide to follow and will help you in everything you do.
@akash akya- A good friend who helped me in doing some nice thing for MediaTek Device and So many guides are also by him to follow with.
@ XDA Forum - Can't Say anything, As Its my school and being a student I will never like to hear anything wrong related to it.
@ To All Other Dev Who Made It possible or If I am including anything from yours so please PM to mention your name in Credits. Please....
Now Let's Star With this Guide :-
-: Transparent Status bar & Notification Full Down:-
The Most Common thing to get first but then also a difficult thing to figure it out.
Decompile your SystemUI.apk and go to SystemUI/res/values--
So the First thing is Changing the "Drawables.xml" -
Find this
Code:
<item type="drawable" name="status_bar_background">#[COLOR=Red]3f000000[/COLOR]</item>
Change this RED Values with anything that you want to as accordingly with the HEX Color values.
Wait we are not done with that.
Now Copy these lines at the end of drawable before this line "</resources>"
Code:
<item type="drawable" name="notification_header_bg">#[COLOR=Red]88000000[/COLOR]</item>
<item type="drawable" name="notification_panel_bg">#[COLOR=Red]88000000[/COLOR]</item>
<item type="drawable" name="status_bar_bg_tile">#[COLOR=Red]00000000[/COLOR]</item>
Again Same Change RED values with what your need is.
Now Open "Colors.xml"
and change this line -
Code:
<color name="notification_panel_solid_background">#[COLOR=Red]3f000000[/COLOR]</color>
The Transparency Values are like :-
Code:
#00000000 - black with 100% transparency
#3F000000 - black with 75% transparency
#7F000000 - black with 50% transparency
#BF000000 - black with 25% transparency
Now You need to find some ".9.png" and delete it.
So Go to - SystemUI/res/drwable-hdpi (as per the resolution of your devices).
Notification_panel_bg.9.png
Status_bar_bg_tile.9.png
Notification_header_bg.9.png
Delete this image where ever you find it in your SystemUI.apk
"Notification_panel_bg.9.png"
Deleting this will give you your notification panel transparency.
Now Lets Move To Editing Smali. So now go to SystemUI/smali/com/android/systemui/statusbar/phone/
And Open "PhoneStatusBar$FastColorDrawable.smali"
Find this
Code:
.parameter "canvas"
And in that method change this line
Code:
iget v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$FastColorDrawable;->mColor:I
To This
Code:
const v0, 0x[COLOR=Red]00000000[/COLOR]
. Again change RED to the transparency level to suit your need.
Now Decompile your "android.policy.jar"
And go to android.poliy.jar.out/smali/com/android/internal/policy/impl/---
Open "PhoneWindowManager.smali"
There do like mentioned below.
Delete RED Lines
Code:
.line 2627 ------*******
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I
iput v0, p1, Landroid/graphics/Rect;->bottom:I ------ Find This line.
[COLOR=Red]
.line 3061
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_1b
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
move-result v0
.line 3063
:goto_1a
return v0
.line 3062
:cond_1b
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_26
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
move-result v0
goto :goto_1a
[/COLOR]
.line 3063 ------- *****This line number can be different in yours .
:cond_26
const/4 v0, 0x0
[COLOR=Blue]goto :goto_1a[/COLOR] -------- Change this to "[COLOR=Blue]return v0[/COLOR]"
.end method
Make Sure that the line marked with "******" will have a difference of 3.
So After Doing this it will look like this
Code:
.line 2627
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I
iput v0, p1, Landroid/graphics/Rect;->bottom:I
.line 2630
:cond_1
const/4 v0, 0x0
return v0
.end method
Now Recompile your SystemUI.apk & android.policy.jar and flash it.
4-Way Reboot Menu - Thanks to majdinj sir
Decompile Your "android.policy.jar"
Go To android.poliy.jar.out/smali/com/android/internal/policy/impl/
Open GlobalActions$3.smali and find this-***
Code:
invoke-interface {v0, v1}, Landroid/view/WindowManagerPolicy$WindowManagerFuncs;->reboot(Z)V
If its there then proceed and if not then find above line in all files with name "GlobalActions$#.smali" where "#" will be number.
Ok you find that so lets proceed.
Now in the same folder open "GlobalActions.smali"
And Change the lines (There will be two lines only) -
Code:
Lcom/android/internal/policy/impl/GlobalActions$3
Please Note :- You have to find the number same as in which you find the above *** mentioned lines.
So please make sure for this.
Now Change the "3" or "#" to "99" where "#" is the number in which you find the *** lines.
Done That.
Now Open - "GlobalActions$SinglePressAction.smali"
And Do like given -
Add the BLUE lines in that like its given below
Code:
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/internal/policy/impl/GlobalActions;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x40a
name = "SinglePressAction"
.end annotation
[COLOR=Blue][COLOR=Black] -----------------------Make Sure the gap will be of 2(two) lines[/COLOR]
# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;[/COLOR]
[COLOR=Blue][COLOR=Black] -----------------------Make Sure the gap will be of 2(two) lines[/COLOR][/COLOR]
# instance fields
.field private final mIcon:Landroid/graphics/drawable/Drawable;
Now Find "#direct methods"
and paste these lines just after this and whithout any gap between "#direct methods" and the lines you pasted.
Code:
.method static constructor <clinit>()V
.registers 3
const/4 v0, 0x4
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "Normal Reboot"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "Soft Reboot"
aput-object v2, v0, v1
const/4 v1, 0x2
const-string v2, "Hard Reboot"
aput-object v2, v0, v1
const/4 v1, 0x3
const-string v2, "Recovery"
aput-object v2, v0, v1
sput-object v0, Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;
return-void
.end method
Now Download the given zip file and extract it. Copy all the files of the zip to -
"android.poliy.jar.out/smali/com/android/internal/policy/impl/ here" (here=files downloaded from this guide).
Done That. Now Recompile it and Flash it. Make sure to make a backup before you flash any MOD.
You Successfully Modded these things then Don't Forget To Hit "THANKS" Button for all the persons mentioned in the "CREDITS" section and to Me Also p) and Rate This Thread 5 star.
If you Got in Trouble then post it here. I will be there to help you out. I work as machine but very Unfortunate to say that I am also a human being and I too have Office work, personal life, friends, families, etc. So please have patience. The Time I will see your post, I promise, I will try my best to help you out.
Need More Guides- Find those in post #3.
Want To See My Contributions [ SuperDroid-BOND ]
Though I know, I haven't contributed much to the Community, but here are few of my Works:-
Older Ones (Till 2015)
External Apps Modded :-
SlimKat Camera for CM11 & CM12 ROMs
ROM :-
TURBO-Zet™ ROM for Micromax A110
SLT-Nexus-TSUNAMI for Micromax A110
SLT-HYBRID-Rainbow for Micromax A110
RECOVERY :-
Carliv Touch Recovery & CWM Recovery 6.0.4.0 for Micromax A110 | Cynus T2 | Wiko Cing King
Cannibal Open Touch [COT] Recovery for Micromax A110 | Cynus T2 | Wiko Cing King
MODS :-
1) Sony Xperia Small App For 4.2.2
2) Sony Small Apps For 4.1.1
3) The Hybrid-UI MOD
4) The Transparency MOD
5) The Lockscreen MOD
GUIDES :-
1) The Power Menu + Screenshot GUIDE
2) The 4-Way Reboot Menu Guide
3) The Extra Theme to Device and Moving Toggles to Bottom
#@# My Dev-Host Account
Newer Ones [Since 2017]
MODs :-
1) Sultan SnapCam
ROMs :-
1) Vanir AOSP for OnePlus 3/T Unified
2) ColtOS for OnePlus 3/T Unified
Usefull Links - For MediaTek Buddies & Other Low End Devices
1) MTK Referrence Thread By @akash akya
2) Moving Toggles To the Bottom of Pull Down Menu By BOND1987.
More Will be Added After wards. Just Have Patience......:victory::victory::victory:
BOND1987 said:
1) MTK Referrence Thread By @akash akya
2) Moving Toggles To the Bottom of Pull Down Menu By BOND1987.
More Will be Added After wards. Just Have Patience......:victory::victory::victory:
Click to expand...
Click to collapse
good one... :good:
small tip, also make sure in dimensions (res/values/dimen.xml) :
Code:
<item type="dimen" name="status_bar_icon_drawing_alpha">100.0%</item>
else transparency look bit odd...
Nice work m8 and a well put together guide, here is your first 5☆ :thumbup:
Sent from my GT-I9100 using xda premium
bombaybadboy said:
Nice work m8 and a well put together guide, here is your first 5☆ :thumbup:
Sent from my GT-I9100 using xda premium
Click to expand...
Click to collapse
All of your works sir but with MTK modification.
akash akya said:
good one... :good:
small tip, also make sure in dimensions (res/values/dimen.xml) :
Code:
<item type="dimen" name="status_bar_icon_drawing_alpha">100.0%</item>
else transparency look bit odd...
Click to expand...
Click to collapse
Will add that also brother. I know it's auto dimming feature by "daxgirl".
""Hitting Thanks Don't Cost You Anything, then, Why You All Are Getting Bothered in Doing So. Hitting Thanks Increases My Motivation to Work for this Community....""
Hi Bond, Very nice guide.. Now i'll also give it a try.. :good:
Implementing Auto-Close SystemUI feature
@ Devs @BOND1987 , @akash akya ,
There is no need to edit any thing else but only systemuiservice.smali.....
I have taken these resources from Suvi v12 rom by bsuhas. So actual credits to bsuhas
Just Replace your entire OnClick Method by the below method:-
Code:
[B][COLOR="black"].method public [COLOR="red"]SettingsButton[/COLOR](Landroid/view/View;)V
.locals 3
.parameter "v"
.prologue
.line 2431
new-instance v0, Landroid/content/Intent;
invoke-direct {v0}, Landroid/content/Intent;-><init>()V
.line 2432
const-string v1, "[COLOR="Red"]com.android.settings[/COLOR]"
const-string v2, "[COLOR="red"]com.android.settings.Settings[/COLOR]"
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
const/high16 v2, 0x1000
invoke-virtual {v0, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
move-result-object v0
.line 2433
invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
const-string v1, "statusbar"
invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/StatusBarManager;
[COLOR="red"]invoke-virtual {v0}, Landroid/app/StatusBarManager;->collapse()V[/COLOR]
.line 1720
return-void
.end method[/COLOR][/B]
and then make the following changes
* replace red ones with the following -
in the 1st line, give any name to the button u want to define . eg:- .method public ProfileButton(Landroid/view/ViewV
in const-string v1, " * put target class name here*
in const - string v2, " * put the target class name as well as an activity to call it *
for eg:-
in const - string v1 ----- target class is to call the complete app ---------> com.android.contacts
and in const - string v2 ----- add package name + an activity to call it --------> com.android.contacts.activities.PeopleActivity
Lets take an example for defining a method and calling it . i'll call Settings here
Code:
.method public [COLOR="red"]settingsButton[/COLOR](Landroid/view/View;)V
.locals 3
.parameter "v"
.prologue
.line 2431
new-instance v0, Landroid/content/Intent;
invoke-direct {v0}, Landroid/content/Intent;-><init>()V
.line 2432
const-string v1, "[COLOR="red"]com.android.settings[/COLOR]"
const-string v2, "[COLOR="red"]com.android.settings.Settings[/COLOR]"
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
const/high16 v2, 0x1000
invoke-virtual {v0, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
move-result-object v0
.line 2433
invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
const-string v1, "statusbar"
invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/StatusBarManager;
invoke-virtual {v0}, Landroid/app/StatusBarManager;->collapse()V
.line 1720
return-void
.end method
after this we have to call it on clicking a tile . so lets define it in the quickpanel_quick_settings_space.xml
Add this wherever you want the tile to appear .
Code:
<RelativeLayout android:id="@id/settings_button" android:background="@drawable/tile_toggle" android:layout_width="125.0px" android:layout_height="150.0px" android:layout_weight="1.0">
<Button android:layout_gravity="center_horizontal" android:background="@drawable/set" android:layout_width="wrap_content" android:layout_height="wrap_content" [COLOR="Red"][SIZE="4"]android:onClick="settingsButton"[/SIZE][/COLOR] />
<TextView android:textSize="14.0dip" android:textColor="#ffffffff" android:gravity="center" android:background="#00000000" android:layout_width="240.0px" android:layout_height="wrap_content" android:layout_marginBottom="3.0px" android:text="Settings" android:singleLine="true" android:layout_alignParentBottom="true" />
</RelativeLayout>
Video to Confirm it working. :highfive:
Sorry if the above explaination is too long :fingers-crossed::fingers-crossed:
easy & nice tut...
@BOND1987
-: Transparent Status bar & Notification Full Down:-
Click to expand...
Click to collapse
4-Way Reboot Menu - Thanks to majdinj sir
Click to expand...
Click to collapse
I've successfully made my own transparent statusbar & 4 way rebooter according to ur guide & works very charm on my stock deodex rom.
thanks alot bro... :good::good:
1 question: how to increase statusbar height?
sir
recovery reboot doesn't work please help
Hi, I tried the 4-way reboot menu and it just replaced the shutdown function on the dialog box. It says reboot, but when I tap it, phone shutsdown. I'm on MT6575 running GB 2.3.6 which doesn't have reboot/restart function.
iZLeeP said:
Hi, I tried the 4-way reboot menu and it just replaced the shutdown function on the dialog box. It says reboot, but when I tap it, phone shutsdown. I'm on MT6575 running GB 2.3.6 which doesn't have reboot/restart function.
Click to expand...
Click to collapse
OK brother,
Upload you android policy. Jar and I'll try to solve this in my free time.
WinchyHanepp said:
recovery reboot doesn't work please help
Click to expand...
Click to collapse
Brother,
Regarding your problem, I asked my ""MAGIC BOWL"" that what's the problem, but....
Come on Guys,
I'm not a astrologer to judge what's gone wrong. I need logs and apps for checking what's the problem.
Sent from my A110 using Tapatalk
SuperDroid-BOND said:
OK brother,
Upload you android policy. Jar and I'll try to solve this in my free time.
Attached file as requested. Thanks mate.
Click to expand...
Click to collapse
Hey @SuperDroid-BOND sir... I tried for transparency but when i recompile the apk then gets this error.. Please can you help me.. Hope you will help me..
See error here :::-
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Abhinav_Rocks said:
Hey @SuperDroid-BOND sir... I tried for transparency but when i recompile the apk then gets this error.. Please can you help me.. Hope you will help me..
See error here :::-
Click to expand...
Click to collapse
Brother,
You have mentioned notification_header_bg two times in your drawable.xml inside the values folder.
Try deleting it. It will recompile easily.
Sent from my A110 using Tapatalk
SuperDroid-BOND said:
Brother,
You have mentioned notification_header_bg two times in your drawable.xml inside the values folder.
Try deleting it. It will recompile easily.
Sent from my A110 using Tapatalk
Click to expand...
Click to collapse
No sir.. Its only one time, See ::
Abhinav_Rocks said:
No sir.. Its only one time, See ::
Click to expand...
Click to collapse
If it's not there then how apktool is giving it's entries 2 times at line number 3 and 14.
If it's not there then get to compile it and if error occurs then give screenshot of the full error.
Sent from my A110 using Tapatalk
SuperDroid-BOND said:
If it's not there then how apktool is giving it's entries 2 times at line number 3 and 14.
If it's not there then get to compile it and if error occurs then give screenshot of the full error.
Sent from my A110 using Tapatalk
Click to expand...
Click to collapse
Sorry sir i m doing mistake.. really sorry.. mistake is that you say.. sorry again.. and now SystemUI.apk is recompiling done..
But in jar file recompiling this error, please help me out ::-
Here is my android.policy.jar file ::- Download
---------- Post added at 01:46 AM ---------- Previous post was at 12:54 AM ----------
Now trying once again.. working awesome.. Thanks a lot bro.. I m beginner and you are GURU of mine and i m CHELA.. I have learn so much from you.. Thanks again sir for this awesome thread with simple steps..
---------- Post added at 02:41 AM ---------- Previous post was at 01:46 AM ----------
Sir.. Can you please tell me whats the work of these lines.. please sir.. and check screen that i m right or wrong..?? If i m wrong then please guide me.. Thanks in advance sir..
Sir please reply.. its only take 2 mint.. Please..
SuperDroid /QUOTE said:
..\Decompiled_jar\android.policy\com\android\internal\policy\impl\GlobalActions$99$1.smali[27,4] Error for input '.parameter': Invalid directive
..\Decompiled_jar\android.policy\com\android\internal\policy\impl\GlobalActions$99$1.smali[42,4] Error for input '.parameter': Invalid directive
..\Decompiled_jar\android.policy\com\android\internal\policy\impl\GlobalActions$99$1.smali[43,4] Error for input '.parameter': Invalid directive
..\Decompiled_jar\android.policy\com\android\internal\policy\impl\GlobalActions$99$1.smali[42,15] mismatched input '"dialog"' expecting END_METHOD_DIRECTIVE
..\Decompiled_jar\android.policy\com\android\internal\policy\impl\GlobalActions$99.smali[78,4] Invalid literal value: 260. Low 16 bits must be zeroed out.
hmmm any advice?
Click to expand...
Click to collapse
Hey dudes!
Ace-I Team is back with a new guide. One of the most advanced ICS Features now comes on Gingerbread! Admit it, Everyone has been attracted by this feature! That's why : THIS IS THE MOST WANTED GUIDE FOR GINGERBREAD DEVICES EVER!!
Wifi and bluetooth ON/OFF Switches on Settings!
Requirements :
-APK Multi Tool
-Notepad++
-Sources on the attachments
-High Smali & xml knowledge
-Brain
-Patience
Click to expand...
Click to collapse
Let's go!
PART I
1. Decompile Settings.apk
2. Extract the sources. Copy switch_holo_dark.xml from sources and paste it on drawable folder.
3. Copy the PNGs from the sources and paste them on drawable-mdpi folder.
4. Copy icon_checkbox_preference.xml from the sources and paste it on layout folder.
5. Go to res/values/styles.xml.
Paste this text on the end of the file before
Code:
<style name="Switch">
<item name="android:checkboxStyle">@style/Widget.CompoundButton.CheckBox.Holo.Dark</item>
</style>
<style name="Widget.CompoundButton.CheckBox.Holo.Dark" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/switch_holo_dark</item>
</style>
6. Go to res/values/public.xml
Paste this text on the end of he file before
Code:
<public type="layout" name="icon_checkbox_preference" id="0x7f03005a" />
</resources>
7. Go to xml/Settings.xml
Replace this :
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
With this :
Code:
<com.android.settings.IconCheckBoxPreference android:title="WIFI" android:key="toggle_wifi" settings:icon="@drawable/ic_settings_wireless" />
<com.android.settings.IconCheckBoxPreference android:title="Bluetooth" android:key="toggle_bluetooth" settings:icon="@drawable/ic_settings_bluetooth2" />
After editing it will look like this :
8. Recompile Settings.
Click to expand...
Click to collapse
PART II
1. Decompile Settings.apk again
2. Go to smali/com/android/settings
3. Copy icon_checkbox_preference.smali from the source on the that folder.
4. Open R$Styleable
- Find :
Code:
# static fields
.field public static final BatteryHistoryChart:[I
Below that paste :
Code:
.field public static final IconPreference:[I
.field public static final IconPreference_icon:I
Click to expand...
Click to collapse
- Find :
Code:
const v1, 0x7f010001
aput v1, v0, v2
Below that paste :
Code:
sput-object v0, Lcom/android/settings/R$styleable;->IconPreference:[I
.line 6450
new-array v0, v3, [I
const v1, 0x7f010001
aput v1, v0, v2
After the edit it will look like this :
Code:
const v1, 0x7f010001
aput v1, v0, v2
sput-object v0, Lcom/android/settings/R$styleable;->IconPreference:[I
.line 6450
new-array v0, v3, [I
const v1, 0x7f010001
aput v1, v0, v2
sput-object v0, Lcom/android/settings/R$styleable;->IconPreferenceScreen:[I
Click to expand...
Click to collapse
5. Open Settings.smali
Below # instance fields paste this text :
Code:
.field private mBtEnabler:Lcom/android/settings/bluetooth/BluetoothEnabler;
.field private mWifiEnabler:Lcom/android/settings/wifi/WifiEnabler;
2 Lines Above # instance fields paste this text :
Code:
# static fields
.field private static final KEY_TOGGLE_BLUETOOTH:Ljava/lang/String; = "toggle_bluetooth"
.field private static final KEY_TOGGLE_WIFI:Ljava/lang/String; = "toggle_wifi"
After edition it will look like this :
Code:
# static fields
.field private static final KEY_TOGGLE_BLUETOOTH:Ljava/lang/String; = "toggle_bluetooth"
.field private static final KEY_TOGGLE_WIFI:Ljava/lang/String; = "toggle_wifi"
# instance fields
.field private mBtEnabler:Lcom/android/settings/bluetooth/BluetoothEnabler;
.field private mWifiEnabler:Lcom/android/settings/wifi/WifiEnabler;
.field private mIntentReceiver:Landroid/content/BroadcastReceiver
;
Click to expand...
Click to collapse
- Find :
Code:
invoke-virtual {p0, v4}, Lcom/android/settings/Settings;->addPreferencesFromResource(I)V
- Below that paste this text :
Code:
const-string v0, "toggle_wifi"
invoke-virtual {p0, v0}, Lcom/android/settings/Settings;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v0
check-cast v0, Landroid/preference/CheckBoxPreference;
new-instance v1, Lcom/android/settings/wifi/WifiEnabler;
invoke-direct {v1, p0, v0}, Lcom/android/settings/wifi/WifiEnabler;->(Landroid/content/Context;Landroid/preference/CheckBoxPreference;)V
iput-object v1, p0, Lcom/android/settings/Settings;->mWifiEnabler:Lcom/android/settings/wifi/WifiEnabler;
const-string v0, "toggle_bluetooth"
invoke-virtual {p0, v0}, Lcom/android/settings/Settings;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v0
check-cast v0, Landroid/preference/CheckBoxPreference;
new-instance v1, Lcom/android/settings/bluetooth/BluetoothEnabler;
invoke-direct {v1, p0, v0}, Lcom/android/settings/bluetooth/BluetoothEnabler;->(Landroid/content/Context;Landroid/preference/CheckBoxPreference;)V
iput-object v1, p0, Lcom/android/settings/Settings;->mBtEnabler:Lcom/android/settings/bluetooth/BluetoothEnabler;
- Find :
Code:
.method protected onPause()V
- Replace the whole method with this method :
Code:
.method protected onPause()V
.locals 1
invoke-super {p0}, Landroid/preference/PreferenceActivity;->onPause()V
iget-object v0, p0, Lcom/android/settings/Settings;->mWifiEnabler:Lcom/android/settings/wifi/WifiEnabler;
invoke-virtual {v0}, Lcom/android/settings/wifi/WifiEnabler;->pause()V
iget-object v0, p0, Lcom/android/settings/Settings;->mBtEnabler:Lcom/android/settings/bluetooth/BluetoothEnabler;
invoke-virtual {v0}, Lcom/android/settings/bluetooth/BluetoothEnabler;->pause()V
iget-object v0, p0, Lcom/android/settings/Settings;->mIntentReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {p0, v0}, Lcom/android/settings/Settings;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
.line 78
return-void
.end method
- Find :
Code:
.line 65
invoke-super {p0}, Landroid/preference/PreferenceActivity;->onResume()V
- Below that paste this text :
Code:
iget-object v1, p0, Lcom/android/settings/Settings;->mWifiEnabler:Lcom/android/settings/wifi/WifiEnabler;
invoke-virtual {v1}, Lcom/android/settings/wifi/WifiEnabler;->resume()V
iget-object v1, p0, Lcom/android/settings/Settings;->mBtEnabler:Lcom/android/settings/bluetooth/BluetoothEnabler;
invoke-virtual {v1}, Lcom/android/settings/bluetooth/BluetoothEnabler;->resume()V
Click to expand...
Click to collapse
8. Follow Part III by iamareebjamal
Click to expand...
Click to collapse
Part III : Adding switched and disabling signature check
Adding Buttons in Settings.apk by custom style and Disabling Signature Verification
If you were successful in accomplishing the above procedure. Be happy, but not too much because the key part is left, and that is - Adding those custom ICS Buttons in Settings by overriding the default GB tickview. Or else, you will get checkboxes instead of Switches. You don't wanna do that? Do you?
Enough talking let's roll
Part III (a)
1. Open AndroidManifest.xml located in decompiled Settings.apk
2. Find this:
Code:
<activity android:label="@string/settings_label_launcher" android:name="Settings"
3. Modify it like this:
Code:
<activity android:theme="@style/Switch" android:label="@string/settings_label_launcher" android:name="Settings"
It means you have to add android:theme="@style/Switch" between <activity and android:label="@string/settings_label_launcher"
4. Save the file.
5. Now, as you have edited the AndroidManifest.xml . Android system won't accept your app and refuse to load it as its signature should be changed.
So, sign the recompile the apk and sign it
6. But again, there's one little problem. Android doesn't load system apps with modified signatures for stability of OS, so your app will disappear from app drawer and if you try to open it from any other source, it will say "App isn't installed"
So?
So, sign ALL system apps and framework apps with same key
...OR...
Follow the workaround in (b) part
Click to expand...
Click to collapse
You may have accomplished the above thing but still something needs to be done to complete the procedure. Believe me, it's the last thing
Android System doesn't accept the apks that are signed by default. So we, here, will render that option obsolete by editing some files.
Let's start
Part III (b)
1. Pull services.jar from /system/framework/
2. Extract it's classes.dex and decompile it via my ROM Tolls
3. Go to com/android/server/PackageManagerService.smali
4. Open it and search for
Code:
.method checkSignaturesLP([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
5. Look below it, you should see something like this
Code:
.prologue
.line 1936
if-nez p1, :cond_1
6. Add this below .line 1936
Code:
const/4 v6, 0x0
return v6
Finally, it should look like this:
Code:
.method checkSignaturesLP([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.locals 7
.parameter "s1"
.parameter "s2"
.prologue
.line 1936
const/4 v6, 0x0
return v6
if-nez p1, :cond_1
7. Save the file and recompile classes.dex and then add it to services.jar
8. Now push services.jar and Settings.apk in their respective places and reboot the phone so that signature check changes are affected
9. Enjoy
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Sources
The source : http://www.mediafire.com/download.php?bvcj2fa8r1lv0h7
PNG source only :
- SGS3 : Adding ASAP
-JellyBean/Holo : Adding ASAP
F.A.Q
Q: SGS3 Switches are small even if the image is large enough?
Solution :
1. Go to Res/layout/icon_check box_preference.xml
2. Find android:layout_width="68.0 px"
3. Change it to "85.0 px"
4. Find android:layout_height="20.0px"
5. Change it to "40.0 px"
Actually changing those pixels will not resize the switch pngs. It will make height's and width's available space larger, therefore switches can be strechted easily on their original size.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Q: On Part II, when editing .method onPause()V, should I delete only the title "method on pause()V" or from method on pause to .end method?
Solution :
You must replace whole method. Delete the on pause()V method then place the code I have written on the same place.
Click to expand...
Click to collapse
Screenshots:
SGS3
Jelly Bean
Credits:
Biggest biggest thanks and full credits to b16h22 for making this awesome mod and his open source heart to share it with us and guiding us through on how to accomplish it and giving us permissions to make this thread
loSconosciuto for Signature Verification Disabling Guide
Click to expand...
Click to collapse
Sniper Killer for starting this initiative
iamareebjamal for fixing the AndroidManifest to display the switches in Settings and applying idea of signature verification
Click to expand...
Click to collapse
Ace-i Team for bringing this to you
More UI Changes for Ace-i... Thanks @Sniper Killer :good:
.....
Give a screenshot of those Wifi & BT ON/OFF Switches on Settings in the OP... :fingers-crossed:
brijeshep said:
More UI Changes for Ace-i... Thanks @Sniper Killer :good:
.....
Give a screenshot of those Wifi & BT ON/OFF Switches on Settings in the OP... :fingers-crossed:
Click to expand...
Click to collapse
Y u only Thank him
Wait till the guide is complete
brijeshep said:
More UI Changes for Ace-i... Thanks @Sniper Killer :good:
.....
Give a screenshot of those Wifi & BT ON/OFF Switches on Settings in the OP... :fingers-crossed:
Click to expand...
Click to collapse
SS on the OP.
And btw, thank areeb too as he found the fix of the image. Follow the tut later. I will upload the sources when areeb will complete editing his post.
Cant wait
Sent from my GT-S5830i using xda premium
This is what i am talking about ...wooohoo
All the devs from ace-i section Rockz
Nice team work .
Thanks for the guide.
Sent from my GT-S5830i using xda app-developers app
brijeshep said:
More UI Changes for Ace-i... Thanks @Sniper Killer :good:
.....
Give a screenshot of those Wifi & BT ON/OFF Switches on Settings in the OP... :fingers-crossed:
Click to expand...
Click to collapse
Brijeshep, next version of Ace-i-Sure. Could you put this mod on your next version ROM? I'm got feeling excited!
Hohoho . Guys! Where is the sourses????
Sent from my GT-S5830i using xda premium
misha1996 said:
Hohoho . Guys! Where is the sourses????
Sent from my GT-S5830i using xda premium
Click to expand...
Click to collapse
**** my computer is broken I will fix it today and will upload sources
Sent from my GT-S5830i using Tapatalk 2
If we edit AndroidManifest.xml we must resign all apk of the rom.
If we not do it, app be work before first wipe. And it will work, if we install it from stokk app(settings for example) if we install it for clean system it will say "not installed"
Sent from my GT-S5830i using xda premium
misha1996 said:
If we edit AndroidManifest.xml we must resign all apk of the rom.
If we not do it, app be work before first wipe. And it will work, if we install it from stokk app(settings for example) if we install it for clean system it will say "not installed"
Sent from my GT-S5830i using xda premium
Click to expand...
Click to collapse
Read my post again.
PS - Part III (b) to be specific
Oh....im noob noob noobest in english:banghead:
And i understand only part A
Else....is it be work with stock settings.apk??
Sent from my GT-S5830i using xda premium
---------- Post added at 06:53 PM ---------- Previous post was at 06:50 PM ----------
Also....can try do update-script with textkey, which be resign all apk, what install
Sent from my GT-S5830i using xda premium
misha1996 said:
If we edit AndroidManifest.xml we must resign all apk of the rom.
If we not do it, app be work before first wipe. And it will work, if we install it from stokk app(settings for example) if we install it for clean system it will say "not installed"
Sent from my GT-S5830i using xda premium
Click to expand...
Click to collapse
As @iamareebjamal has already mentioned,
iamareebjamal said:
Android System doesn't accept the apks that are signed by default. So we, here, will render that option obsolete by editing some files.
Click to expand...
Click to collapse
I'd suggest you to read Part III (b) of the guide.
Hope you got your answers.
What about stock settings.apk?
Sent from my GT-S5830i using xda premium
misha1996 said:
What about stock settings.apk?
Sent from my GT-S5830i using xda premium
Click to expand...
Click to collapse
Not tested but you can give it a try.
Sent from my GT-S5830i using Tapatalk 2
hi guys,
anyone an idea to disable (hack, apk, ...) the wifi popup notification whenever wifi is connected.
This drives me crazy ...
This notification is absolutely senseless, when connection is on i see it in the notification bar ...
I found a description but only for S III Verizon.
JackoMJ
JackoMJ said:
hi guys,
anyone an idea to disable (hack, apk, ...) the wifi popup notification whenever wifi is connected.
This drives me crazy ...
This notification is absolutely senseless, when connection is on i see it in the notification bar ...
I found a description but only for S III Verizon.
JackoMJ
Click to expand...
Click to collapse
Hi! Try this:
- decompile secsettings.apk
- go to file "smali\com\android\settings\wifi\WifiStatusReceiver.smali"
- open in notepad++ and find this code:
Code:
.line 194
invoke-virtual {v3}, Landroid/widget/Toast;->getView()Landroid/view/View;
move-result-object v1
const v4, 0x102000b
invoke-virtual {v1, v4}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v1
check-cast v1, Landroid/widget/TextView;
.line 195
const/16 v4, 0x11
invoke-virtual {v1, v4}, Landroid/widget/TextView;->setGravity(I)V
.line 196
[COLOR="Red"]invoke-virtual {v3}, Landroid/widget/Toast;->show()V[/COLOR]
goto :goto_1a3
And change it to (just add # before it):
Code:
[COLOR="Red"]#invoke-virtual {v3}, Landroid/widget/Toast;->show()V[/COLOR]
Thats all - save, recompile, copy to phone, restart and hope
somin.n said:
Hi! Try this:
- decompile secsettings.apk
- go to file "smali\com\android\settings\wifi\WifiStatusReceiver.smali"
- open in notepad++ and find this code:
Code:
.line 194
invoke-virtual {v3}, Landroid/widget/Toast;->getView()Landroid/view/View;
move-result-object v1
const v4, 0x102000b
invoke-virtual {v1, v4}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v1
check-cast v1, Landroid/widget/TextView;
.line 195
const/16 v4, 0x11
invoke-virtual {v1, v4}, Landroid/widget/TextView;->setGravity(I)V
.line 196
[COLOR="Red"]invoke-virtual {v3}, Landroid/widget/Toast;->show()V[/COLOR]
goto :goto_1a3
And change it to (just add # before it):
Code:
[COLOR="Red"]#invoke-virtual {v3}, Landroid/widget/Toast;->show()V[/COLOR]
Thats all - save, recompile, copy to phone, restart and hope
Click to expand...
Click to collapse
Hi somin mf,
WHAT THE HELL IS GOING ON?
you are the best. Works perfect. No f****** popup any more.
How do you know or find this out because i think it´s not easy to make it.
JackoMJ
JackoMJ said:
How do you know or find this out because i think it´s not easy to make it.
Click to expand...
Click to collapse
Hehe, you are true, it is not so easy, maybe it was luck that I find it. How I find it?
- i was looking for wifi is connected to bla,bla,bla string in system apk's
- then I find its public id in public.xml file
- then I was looking for this id in *.smali files
- and then it was luck that I find proper line "invoke-virtual {XX}, Landroid/widget/Toast;->show()V", I just know that this line is making toast messages
There was some bad tests, but one of my try was working. And here is result
somin.n said:
Hehe, you are true, it is not so easy, maybe it was luck that I find it. How I find it?
- i was looking for wifi is connected to bla,bla,bla string in system apk's
- then I find its public id in public.xml file
- then I was looking for this id in *.smali files
- and then it was luck that I find proper line "invoke-virtual {XX}, Landroid/widget/Toast;->show()V", I just know that this line is making toast messages
There was some bad tests, but one of my try was working. And here is result
Click to expand...
Click to collapse
Thanks for your time and patience you spent on it.
Do you make every test like me (decompile, change, compile, copy to phone, reboot)?
Hope your Powerbutton won´t break
Or is there a program you can simulate it on your pc without using your phone really?
That´s a very interesting question i think....
JackoMJ
JackoMJ said:
Thanks for your time and patience you spent on it.
Do you make every test like me (decompile, change, compile, copy to phone, reboot)?
Hope your Powerbutton won´t break
Or is there a program you can simulate it on your pc without using your phone really?
That´s a very interesting question i think....
JackoMJ
Click to expand...
Click to collapse
Yes one change and whole process with de/compile,restart,... in round. Don't know about pc sw to simulate it, but yes it would be great. And don't worry about my power button, sometimes I have to pull out my battery because of bootloop :laugh::victory: