[SOLVED] How to successfully mod Sony Music app (9.1.7.A.1.0)? - Sony Cross-Device Development Themes and Apps

Hello guys,
I need some help from expert modders or themers, as I am just a n00b user.
My device is a Sony Ericsson WT19i running LegacyXperia CM13.0 and I'm using this Walkman port.
I'm trying to mod the latest Sony Music app (9.1.7.A.1.0) downloaded from APKMirror. This app works fine if I sign it with test keys and push it in system or install it as normal app.
I can do simple modifications (like changing the icons, the background picture, removing the red text and changing the name in AndroidManifest.xml). But, I want to change the name from "Music" to "Walkman", not only in launcher and drawer, but also, inside the app in the action bar. So, I assume that I have to edit two values in the res/values/strings.xml.
Code:
<string name="music_app_action_bar_title_txt">Music</string>
<string name="music_app_name_txt">Music</string>
I'm using apktool_2.1.0 for decompiling and recompiling. I have tried with framework-res.apk from my ROM and with framework-res.apk and SemcGenericUxpRes.apk extracted from stock MM Sony Z5 firmware (E6653_32.1.A.1.163_TH.ftf) and deoxeded.
From what I have read in several quides here in XDA, the obvious is to extract resources.arsc from the new compiled apk and add it in the orinigal apk (without compression, just store), replacing the orinigal file. In this case, when I push is system and reboot the app does not appearing in drawer (like it's not installed) and if I try to install it from the phone or ADB, I'm getting parse error (even if I resign it).
ADB shows:
adb install music.apk
Code:
4298 KB/s (13552346 bytes in 3.078s)
pkg: /data/local/tmp/music.apk
Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED]
and logcat shows:
Code:
04-05 21:34:50.198 971 1058 W PackageManager: Failed parse during installPackageLI
04-05 21:34:50.198 971 1058 W PackageManager: android.content.pm.PackageParser$PackageParserException: /data/app/vmdl1428133414.tmp/base.apk (at Binary XML file line #499): <provider> does not include authorities attribute
04-05 21:34:50.198 971 1058 W PackageManager: at android.content.pm.PackageParser.parseBaseApk(PackageParser.java:924)
04-05 21:34:50.198 971 1058 W PackageManager: at android.content.pm.PackageParser.parseClusterPackage(PackageParser.java:822)
04-05 21:34:50.198 971 1058 W PackageManager: at android.content.pm.PackageParser.parsePackage(PackageParser.java:786)
04-05 21:34:50.198 971 1058 W PackageManager: at com.android.server.pm.PackageManagerService.installPackageLI(PackageManagerService.java:12995)
04-05 21:34:50.198 971 1058 W PackageManager: at com.android.server.pm.PackageManagerService.-wrap26(PackageManagerService.java)
04-05 21:34:50.198 971 1058 W PackageManager: at com.android.server.pm.PackageManagerService$8.run(PackageManagerService.java:10907)
04-05 21:34:50.198 971 1058 W PackageManager: at android.os.Handler.handleCallback(Handler.java:739)
04-05 21:34:50.198 971 1058 W PackageManager: at android.os.Handler.dispatchMessage(Handler.java:95)
04-05 21:34:50.198 971 1058 W PackageManager: at android.os.Looper.loop(Looper.java:148)
04-05 21:34:50.198 971 1058 W PackageManager: at android.os.HandlerThread.run(HandlerThread.java:61)
04-05 21:34:50.198 971 1058 W PackageManager: at com.android.server.ServiceThread.run(ServiceThread.java:46)
So, I was pointed here, but this is an over 2-years old issue in apktool and probably is resolved.
If I sign the new compiled apk and push it to system or install it as normal app, then it's force closing.
Even, if I recompile the apk without any changes I'm getting the same results with both procedures.
I have tried and other ways and combinations, like compiling with original keys, or copying META-INF and AndroidManifest.xml from the original apk to the new one, but the results are always the same (parse error or FC).
I can't configure what I'm doing wrong. Do I need some specific framework-res.apk and SemcGenericUxpRes.apk? Is it indeed apktool's problem? Or anything...
So, I ask for help from the community.
Any ideas and advices are appreciated.
Thanks for reading.

@azakosath Have you tried it without replacing resources.arsc file?
I never replace this file after modding apps, and then too they work great....
Moreover are you using apktool by the command prompt? If this is the case try using advance apktool.
BTW can you please provide me those two framework files?

I have to replace resources.arsc, because I'm edititng strings.xml. I have tried several automated tools, but the outcome is the same.
Here are the files.

azakosath said:
I have to replace resources.arsc, because I'm edititng strings.xml. I have tried several automated tools, but the outcome is the same.
Here are the files.
Click to expand...
Click to collapse
Thanks for the files, and I will try that myself and see if I could get it to work:fingers-crossed:
And i just remembered, have you tried it with superuser mod?

did you resign the apk file that you build?
and your phone must have super user mode which disable signature verification,or it will not work on your phone
---------------------------------------------
i use framework files that you provide and download music from apkmirror
and i successfully edit the strings
>apktool_2.1.0
>Music 9.1.7.A.1.0
>Z3 on stock MM beta,signature verification disabled
{
"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"
}

Ok, guys, thanks a lot for your answers. I'll give Superuser Mod a try and report back. I thought that was only for stock Sony apps pulled from original firmware.

azakosath said:
Ok, guys, thanks a lot for your answers. I'll give Superuser Mod a try and report back. I thought that was only for stock Sony apps pulled from original firmware.
Click to expand...
Click to collapse
just give it a try
http://forum.xda-developers.com/chef-central/android/tut-disable-signature-verification-t3273657

So, I deodexed my services.jar, replaced the original plus services.odex and the phone booted. Then I followed the tutorial for disabling signature verification and ended with a bootloop. Now I'm flashing back my rom, cause unfortunately CM recovery doesn't support backup. I guess this mod doesn't work with CyanogenMod ROMs.

azakosath said:
So, I deodexed my services.jar, replaced the original plus services.odex and the phone booted. Then I followed the tutorial for disabling signature verification and ended with a bootloop. Now I'm flashing back my rom, cause unfortunately CM recovery doesn't support backup. I guess this mod doesn't work with CyanogenMod ROMs.
Click to expand...
Click to collapse
It works with cm but only for deodexed, I I had to request my rom developer to build a deodexed build just to have these perks.. .....

azakosath said:
So, I deodexed my services.jar, replaced the original plus services.odex and the phone booted. Then I followed the tutorial for disabling signature verification and ended with a bootloop. Now I'm flashing back my rom, cause unfortunately CM recovery doesn't support backup. I guess this mod doesn't work with CyanogenMod ROMs.
Click to expand...
Click to collapse
did you successfully recompile the services.jar?
or you can paste the file in attachment,i can try to help you

mayank22 said:
It works with cm but only for deodexed, I I had to request my rom developer to build a deodexed build just to have these perks.. .....
Click to expand...
Click to collapse
I gave it a try and with the whole rom deoxed, still the same...
slsamg7112 said:
did you successfully recompile the services.jar?
or you can paste the file in attachment,i can try to help you
Click to expand...
Click to collapse
I don't think that is a problem with recompilation, the only thing bothers me is that after the line
Code:
.method static compareSignatures
in PackageManagerService.Smali I have
Code:
.registers
instead of
Code:
.locals
which was in all the guides I found.
The original method started like this
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.registers 10
.param p0, "s1" # [Landroid/content/pm/Signature;
.param p1, "s2" # [Landroid/content/pm/Signature;
.prologue
const/4 v3, 0x1
const/4 v5, -0x3
const/4 v4, 0x0
.line 4115
if-nez p0, :cond_a
.line 4116
if-nez p1, :cond_8
:goto_7
return v3
.line 4118
:cond_8
const/4 v3, -0x1
goto :goto_7
And I edited to this
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.registers 10
const/4 v0, 0x0
return v0
.end method
Anyway, I really appreciate your help.

I tried with LP and MM framework-res from stock build and it decompile well but not recompiled well , it broke after recompile .... without editing any file ...
Whats the prob. ? I also signed file with platform cert. of CM... but didn't get any luck

azakosath said:
I gave it a try and with the whole rom deoxed, still the same...
I don't think that is a problem with recompilation, the only thing bothers me is that after the line
Code:
.method static compareSignatures
in PackageManagerService.Smali I have
Code:
.registers
instead of
Code:
.locals
which was in all the guides I found.
The original method started like this
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.registers 10
.param p0, "s1" # [Landroid/content/pm/Signature;
.param p1, "s2" # [Landroid/content/pm/Signature;
.prologue
const/4 v3, 0x1
const/4 v5, -0x3
const/4 v4, 0x0
.line 4115
if-nez p0, :cond_a
.line 4116
if-nez p1, :cond_8
:goto_7
return v3
.line 4118
:cond_8
const/4 v3, -0x1
goto :goto_7
And I edited to this
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.registers 10
const/4 v0, 0x0
return v0
.end method
Anyway, I really appreciate your help.
Click to expand...
Click to collapse
Have you deodexed it with some tool?
That never worked for me.....

I used Superr's kitchen to deoxed the whole Rom.

azakosath said:
I used Superr's kitchen to deoxed the whole Rom.
Click to expand...
Click to collapse
Well my rom didn't even boot after deodexing it with any tool......

azakosath said:
I gave it a try and with the whole rom deoxed, still the same...
I don't think that is a problem with recompilation, the only thing bothers me is that after the line
Code:
.method static compareSignatures
in PackageManagerService.Smali I have
Code:
.registers
instead of
Code:
.locals
which was in all the guides I found.
The original method started like this
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.registers 10
.param p0, "s1" # [Landroid/content/pm/Signature;
.param p1, "s2" # [Landroid/content/pm/Signature;
.prologue
const/4 v3, 0x1
const/4 v5, -0x3
const/4 v4, 0x0
.line 4115
if-nez p0, :cond_a
.line 4116
if-nez p1, :cond_8
:goto_7
return v3
.line 4118
:cond_8
const/4 v3, -0x1
goto :goto_7
And I edited to this
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.registers 10
const/4 v0, 0x0
return v0
.end method
Anyway, I really appreciate your help.
Click to expand...
Click to collapse
then,i really have no idea about it cus it works on sony stock android MM
maybe CM has something different on it

azakosath said:
I gave it a try and with the whole rom deoxed, still the same...
I don't think that is a problem with recompilation, the only thing bothers me is that after the line
Code:
.method static compareSignatures
in PackageManagerService.Smali I have
Code:
.registers
instead of
Code:
.locals
which was in all the guides I found.
The original method started like this
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.registers 10
.param p0, "s1" # [Landroid/content/pm/Signature;
.param p1, "s2" # [Landroid/content/pm/Signature;
.prologue
const/4 v3, 0x1
const/4 v5, -0x3
const/4 v4, 0x0
.line 4115
if-nez p0, :cond_a
.line 4116
if-nez p1, :cond_8
:goto_7
return v3
.line 4118
:cond_8
const/4 v3, -0x1
goto :goto_7
And I edited to this
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.registers 10
const/4 v0, 0x0
return v0
.end method
Anyway, I really appreciate your help.
Click to expand...
Click to collapse
Is't Work for you after you enter your editing?

awadh730 said:
Is't Work for you after you enter your editing?
Click to expand...
Click to collapse
Nope, Superuser Mod never worked for me in CM13.0, or any other signature verification disabling method, or Lucky Patcher.
Sent from my WT19i using XDA Labs

azakosath said:
...
But, I want to change the name from "Music" to "Walkman", not only in launcher and drawer, but also, inside the app in the action bar. So, I assume that I have to edit two values in the res/values/srings.xml.
Code:
<string name="music_app_action_bar_title_txt">Music</string>
<string name="music_app_name_txt">Music</string>
...
Click to expand...
Click to collapse
Are you still having trouble doing this mod? If so I'm happy to give it a try if you want. If you can share your two framework files and the APK you're trying to mod, I can see if I can do this mod for you.

Ticklefish said:
Are you still having trouble doing this mod? If so I'm happy to give it a try if you want. If you can share your two framework files and the APK you're trying to mod, I can see if I can do this mod for you.
Click to expand...
Click to collapse
Thnx mate, but I gave up trying...
You're welcome to try though, the files are in the attachment of the third post and you can find the latest Sony Music apk at APKMirror.
Now I'm running CM14.1, but I think the outcome would be the same. The modded app will not install and if I try Superuser Mod, I'll end up with bootloops after first boot.
Cheers...
Edit: I guess the modded app should be working fine in a Sony stock ROM with signature verification disabled, the problem is with signature verification in CyanogenMod ROMs.
Sent from my WT19i using XDA Labs

Related

[MOD] Disable Full/Low Battery Notification (no vibration)

Hi guys, i have noticed that most people here in order to disable battery Full/Low sound notification just delete these files:
-system/media/audio/ui/TW_Battery_caution.ogg
-system/media/audio/ui/TW_Low_Battery.ogg
Well this is not the right way to do it, because the vibration is still here to wake us up while sleeping
I decided to share this simple mod to avoid this inconvenience!
How to (for dev)
Decompile SystemUI.apk
Open with your favourite Text Editor this file: smali\com\android\systemui\statusbar\policy\StatusBarPolicy.smali
search for this method signature: .method private onBatteryLow(Landroid/content/IntentV
The following code will disable Dialog popup for low battery warning (if you don't want to disable it but just sound and vibration then leave this function as it is)
Change code from
Code:
.method private onBatteryLow(Landroid/content/Intent;)V
.locals 0
.parameter "intent"
.prologue
.line 985
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->showLowBatteryWarning()V
.line 990
return-void
.end method
to
Code:
.method private onBatteryLow(Landroid/content/Intent;)V
.locals 0
.parameter "intent"
.prologue
return-void
.line 985
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->showLowBatteryWarning()V
.line 990
return-void
.end method
Now to disable Sound and Vibration notification search for this method signature: .method private playTone(Landroid/net/UriV
Edit code from
Code:
.method private playTone(Landroid/net/Uri;)V
.locals 5
.parameter
.prologue
const-string v4, "StatusBarPolicy"
.line 1180
const-string v0, "StatusBarPolicy"
...
...
...
to
Code:
.method private playTone(Landroid/net/Uri;)V
.locals 5
.parameter
.prologue
return-void
const-string v4, "StatusBarPolicy"
.line 1180
const-string v0, "StatusBarPolicy"
...
...
...
That's it! Recompile apk and you can sleep deeply
In addition it is possible to leave it as an option! I got it working following the IDEA behind JKAY theme settings application! (big thanks to Jkay)
If you'd like to get sound back, you can create a folder "battery_SOUND_ON" in some places for this example i used this path: /sdcard/Revolution/battery_SOUND_ON (if you don't want sound just delete or rename this folder)
Now we can modify smali code as following:
Code:
.method private playTone(Landroid/net/Uri;)V
.locals 5
.parameter
.prologue
new-instance v0, Ljava/io/File;
const-string v1, "/sdcard/Revolution/battery_SOUND_ON"
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :goto_1
const-string v4, "StatusBarPolicy"
.line 1180
const-string v0, "StatusBarPolicy"
...
...
...
"goto_1" label if followed by return-void which means that if this folder does not exists this method will return straight away, if this folder exists then the normal code will be executed!
Note:
This mod will also display battery full charge icon on the status bar when the charge is completed!
so could any dev make a mod to enable to battery full notifacations and sounds and vibrations??
would be handy to have one in the kitchen for your rom leo so peeps can either have it or not have it etc
it is another way to customise the device as well which is always good
buxz777 said:
so could any dev make a mod to enable to battery full notifacations and sounds and vibrations??
would be handy to have one in the kitchen for your rom leo so peeps can either have it or not have it etc
it is another way to customise the device as well which is always good
Click to expand...
Click to collapse
Yes it is also possible to leave it as an option, i am testing it now and if it works i will update the OP!
\EDIT
It is working, OP has been updated!
Yeah, working great! Allways great thing when user can decide whether use it or not.
Thanks LeoMar!
fisrt off thanks alot about the grate MOD
but can i use it only with LOW battery?? and keep the notification when the battery is full
KinG_Ruin said:
fisrt off thanks alot about the grate MOD
but can i use it only with LOW battery?? and keep the notification when the battery is full
Click to expand...
Click to collapse
\EDIT
Yes it is possible of course!
1)Modify method "private onBatteryLow(Landroid/content/Intent; )V" as shown to the OP.
2)Don't change code (leave the original code) for this method ".method private playTone(Landroid/net/Uri; )V"
In this way you will only disable Low battery notification Dialod + Sound
thanks alot dude
it works fine, keep it up
edit:-
when i tried to edit another ROM i got this code
Code:
.method private onBatteryLow(Landroid/content/Intent;)V
[COLOR="Red"][B] .registers 2
.parameter "intent"[/B][/COLOR]
.prologue
.line 985
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->showLowBatteryWarning()V
.line 990
return-void
.end method
so is it save to replace it with
Code:
.method private onBatteryLow(Landroid/content/Intent;)V
[COLOR="Red"][B] .locals 0
.parameter "intent"[/B][/COLOR]
.prologue
return-void
.line 985
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->showLowBatteryWarning()V
.line 990
return-void
.end method
KinG_Ruin said:
thanks alot dude
it works fine, keep it up
edit:-
when i tried to edit another ROM i got this code
Code:
.method private onBatteryLow(Landroid/content/Intent;)V
[COLOR="Red"][B] .registers 2
.parameter "intent"[/B][/COLOR]
.prologue
.line 985
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->showLowBatteryWarning()V
.line 990
return-void
.end method
so is it save to replace it with
Code:
.method private onBatteryLow(Landroid/content/Intent;)V
[COLOR="Red"][B] .locals 0
.parameter "intent"[/B][/COLOR]
.prologue
return-void
.line 985
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->showLowBatteryWarning()V
.line 990
return-void
.end method
Click to expand...
Click to collapse
It's not safe, therefore just add "return-void" after .prologue don't change anithing else!
hi, thanks for sharing, works great.
one thing...
when i use this code:
.method private playTone(Landroid/net/UriV
.locals 5
.parameter
.prologue
new-instance v0, Ljava/io/File;
const-string v1, "/sdcard/Revolution/battery_SOUND_ON"
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/StringV
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :goto_1
const-string v4, "StatusBarPolicy"
.line 1180
const-string v0, "StatusBarPolicy"
compiling classes.dex gives me an error "goto_1" not specified.
i am on kh3, can you tell me where to go?
methux
LeoMar75 said:
It's not safe, therefore just add "return-void" after .prologue don't change anithing else!
Click to expand...
Click to collapse
I love u
thanks alot dude, it works fine
juberg said:
hi, thanks for sharing, works great.
one thing...
when i use this code:
.method private playTone(Landroid/net/UriV
.locals 5
.parameter
.prologue
new-instance v0, Ljava/io/File;
const-string v1, "/sdcard/Revolution/battery_SOUND_ON"
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/StringV
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :goto_1
const-string v4, "StatusBarPolicy"
.line 1180
const-string v0, "StatusBarPolicy"
compiling classes.dex gives me an error "goto_1" not specified.
i am on kh3, can you tell me where to go?
methux
Click to expand...
Click to collapse
You should find a label followed by return-void then modify
Code:
if-eqz v0, :goto_1
to the correct label!
Pls quote your complete function code if you need help!
there are many goto´s
which part of the code do you need for helping me out?
The whole StatusBarPolicy.smali or just the part from
.method private playTone(Landroid/net/UriV?
thanks
juberg said:
there are many goto´s
which part of the code do you need for helping me out?
The whole StatusBarPolicy.smali or just the part from
.method private playTone(Landroid/net/UriV?
thanks
Click to expand...
Click to collapse
Just that method.
Basicly you want to find goto or cond what will follow code "return-void"
For example in my .method private playTone it looks like this:
Code:
invoke-virtual {v0, v2, v1}, Landroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V
.line 1204
:cond_42
:goto_42
return-void
So in that case it would be that goto_42
that was fast.
ok, got it...
thanks
Could someone upload the systemUI.apk with this mod?
celiocalves said:
Could someone upload the systemUI.apk with this mod?
Click to expand...
Click to collapse
SystemUI.apk can be posted because it's not generic... SystemUI.apk is rensponsible for status bar, Quick toggle icons, edt tweaks support, jkay support...
There are plenty of version depending on the theme and the mod you are using!
LeoMar75 said:
SystemUI.apk can be posted because it's not generic... SystemUI.apk is rensponsible for status bar, Quick toggle icons, edt tweaks support, jkay support...
There are plenty of version depending on the theme and the mod you are using!
Click to expand...
Click to collapse
I didn't know that! :/
Thanks for the explanation!
thanks for the tutorial, i am having issue compiling this. i lose my status bar every time.
Leo,
Thank you for the tutorial. Here's how the method looks on the SGS2 Skyrocket for AT&T:
Code:
.method private playTone(Landroid/net/Uri;Z)V
.locals 5
.parameter
.parameter
.prologue
const-string v2, "playTone() - "
const-string v3, "audio"
const-string v4, "StatusBarPolicy"
.line 1212
const-string v0, "StatusBarPolicy"
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "playTone() - "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 1213
Not sure where I should add the "return-void" in this snippet, or if I need something else. Let me know!
How do I disable low and full battery sounds on Ics? thank you!

[MOD] 4-Way Reboot - How to (GB) (ICS) (JB)

Thanks to snq- for original 4-way reboot.
Got the idea from THIS thread.
This is just simple mod that adds 4 booting options behind power menus "power off" -button ( 1. reboot 2. hot boot 3. recovery 4. download ).
So, compared to advanced power menu, this has only one new button. But I made this because now there is no need for framework.jar/framework-res changes. This is much more friendly to update.
I only make this tutorial and attach needed files. Everyone can use it way they want to, but give credit to original maker.
Check THIS post for Samsung ICS roms
Check THIS post for Samsung JB roms
Problem? Check THESE for help.
What you need to do is:
-Decompile android.policy.jar of your rom
-Copy attached folder to yours
-Open GlobalActions.smali
-Search line "Lcom/android/internal/policy/impl/GlobalActions$4;" ( some roms might have different number on shutdown button. You find right one by for example tracing shutdown icon id )
-Change number 4 to 99 ( two of them )
Before
Code:
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$4;
const v3, 0x1080030
const v4, 0x1040150
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$4;->(Lcom/android/internal/policy/impl/GlobalActions;II)V
After
Code:
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$99;
const v3, 0x1080030
const v4, 0x1040150
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$99;->(Lcom/android/internal/policy/impl/GlobalActions;II)V
-Open GlobalActions$SinglePressAction.smali
-Before line "# instance fields"
paste following code
Code:
# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;
-Then after line "# direct methods"
paste following code
Code:
.method static constructor ()V
.registers 3
const/4 v0, 0x5
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "Reboot"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "Hot Boot"
aput-object v2, v0, v1
const/4 v1, 0x2
const-string v2, "Download"
aput-object v2, v0, v1
const/4 v1, 0x3
const-string v2, "Recovery"
aput-object v2, v0, v1
const/4 v1, 0x4
const-string v2, "Shutdown"
aput-object v2, v0, v1
sput-object v0, Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;
return-void
.end method
-So your file should look something like this after those changes
Code:
.class abstract Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
.super Ljava/lang/Object;
.source "GlobalActions.java"
# interfaces
.implements Lcom/android/internal/policy/impl/GlobalActions$Action;
# 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
# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;
# instance fields
.field private final mIconResId:I
.field private final mMessageResId:I
# direct methods
.method static constructor ()V
.registers 3
const/4 v0, 0x5
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "Reboot"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "Hot Boot"
aput-object v2, v0, v1
const/4 v1, 0x2
const-string v2, "Download"
aput-object v2, v0, v1
const/4 v1, 0x3
const-string v2, "Recovery"
aput-object v2, v0, v1
const/4 v1, 0x4
const-string v2, "Shutdown"
aput-object v2, v0, v1
sput-object v0, Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;
return-void
.end method
.method protected constructor (II)V
.registers 3
.parameter "iconResId"
.........
.........
-Compile .jar and your done.
{
"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"
}
Additional
If you don't want that "Shutdown Method" text on top of that menu then:
-Open GlobalActions$99.smali
-Remove following code
Code:
const-string v2, "Shutdown Method"
invoke-virtual {v1, v2}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;
move-result-object v1
Problem? Check following posts for help.
When pressing restart/shutdown button and you only see title and "ok" and "cancel" -buttons, then see THIS post.
Hot reboot does not work? See HERE.
Hi, i tried to do this mod but not work....the option menu disappears and system reboot...
I renamed the file and his path in GlobalActions$15.smali but I can not make it work...
barikke74 said:
Hi, i tried to do this mod but not work....the option menu disappears and system reboot...
I renamed the file and his path in GlobalActions$15.smali but I can not make it work...
Click to expand...
Click to collapse
Hi!
You have to change those three files names then. In your case like 15, 15$1, 15$2. Then you changed that path in globalactions from 4 to 15? Great so far. Now you need to change every name called globalactions$10 to that $15 inside those three files i attached. You might want to use notepad++ for this. There's addon that can do this easily.
Maybe i rename those files to something else, since people have so big numbers on globalactions.
EDIT. I uploaded new source files. Now It's named $99, so i bet that none have that already existing. Edited tutorial also, so you name 4 to 99 in GlobalActions.smali
Hi kahvitahra and thanks for the quick response
I did all that you said but it does not work
Now I try with the new source
Thanks again
barikke74 said:
Hi kahvitahra and thanks for the quick response
I did all that you said but it does not work
Now I try with the new source
Thanks again
Click to expand...
Click to collapse
If you still have problems, then please attach logcat, so i can see what causes it.
I do not work ...
I put the logcat, I hope will be helpful to
http://dl.dropbox.com/u/52103175/alogcat.2012-03-31-14-38-49+0200.txt
and this is the policy
http://dl.dropbox.com/u/52103175/android.policy.jar
barikke74 said:
I do not work ...
I put the logcat, I hope will be helpful to
http://dl.dropbox.com/u/52103175/alogcat.2012-03-31-14-38-49+0200.txt
and this is the policy
http://dl.dropbox.com/u/52103175/android.policy.jar
Click to expand...
Click to collapse
What rom is that? is it ICS?
My bad that i have not been using ICS yet. Atleast your rom have build that global.actions differently. Your power off button is number $5. So instead of changing that 4 to 99, you should change 5 to 99. There can be something else changed also, but you can try just that if you like. Or since you have restart button already(?) then if i was you i would replace that button ($6) and then remove that shutdown from my files.
I should flash ICS and test this on it.
Yes, my ROM is ICS based...
If you try on ICS i wait your notice
Thanks for your time
Will test this out now
Moved to themes and apps.
Btw, nice work
Samsung ICS roms
What you need to do is:
-Decompile android.policy.jar of your rom
-Copy attached ICS folder to yours (POST 1)
-In file "GlobalActions$99.smali" there is id 0x1110008, you might want to check that this id is same in you roms puplic.xml ( config_sf_slowBlur ). In gingerbread roms this did not change, but not I'm not sure about these ICS roms.
( check also that ids 0x104000a = "ok" -string and 0x104 = "cancel" -string matches in your framework. )
-Open GlobalActions.smali
-Search line "new-instance v0, Lcom/android/internal/policy/impl/GlobalActions$6;" ( some roms might have different number on reboot button. You find right one by for example tracking mRestart. See example below. )
-Change number 6 to 99 ( two of them )
Before
Code:
new-instance v0, Lcom/android/internal/policy/impl/GlobalActions$6;
const v1, 0x1080640
const v2, 0x1040165
invoke-direct {v0, p0, v1, v2}, Lcom/android/internal/policy/impl/GlobalActions$6;->(Lcom/android/internal/policy/impl/GlobalActions;II)V
iput-object v0, p0, Lcom/android/internal/policy/impl/GlobalActions;->mRestart:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
After
Code:
new-instance v0, Lcom/android/internal/policy/impl/GlobalActions$99;
const v1, 0x1080640
const v2, 0x1040165
invoke-direct {v0, p0, v1, v2}, Lcom/android/internal/policy/impl/GlobalActions$99;->(Lcom/android/internal/policy/impl/GlobalActions;II)V
iput-object v0, p0, Lcom/android/internal/policy/impl/GlobalActions;->mRestart:Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
-Open GlobalActions$SinglePressAction.smali
-Before line "# instance fields"
paste following code
Code:
# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;
-Then after line "# direct methods"
paste following code
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, "Reboot"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "Hot Boot"
aput-object v2, v0, v1
const/4 v1, 0x2
const-string v2, "Download"
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
-So your file should look something like this after those changes
Code:
.class abstract Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;
.super Ljava/lang/Object;
.source "GlobalActions.java"
# interfaces
.implements Lcom/android/internal/policy/impl/GlobalActions$Action;
# 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
# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;
# instance fields
.field private final mIconResId:I
.field private final mMessageResId:I
# direct methods
.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, "Reboot"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "Hot Boot"
aput-object v2, v0, v1
const/4 v1, 0x2
const-string v2, "Download"
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
.method protected constructor <init>(II)V
.registers 3
.parameter "iconResId"
.........
.........
-Compile .jar and your done.
I'm sorry but can not seem to make it work
I follow your instructions to the letter.....i don't understand
EDIT: ok ok.....finally I succeeded
Thanks 10000000
barikke74 said:
I'm sorry but can not seem to make it work
I follow your instructions to the letter.....i don't understand
EDIT: ok ok.....finally I succeeded
Thanks 10000000
Click to expand...
Click to collapse
It should work. Tested it on couple of ICS roms. Attach logcat with error, then maybe i could help you.
Edit. Great man.
I can't decompile android.policy.jar. It said it doesn't contain classes.dex. I opened it with winrar, it only has 1 folder META-INF. It's a SGS2 with ICS LP3
interpol2050 said:
I can't decompile android.policy.jar. It said it doesn't contain classes.dex. I opened it with winrar, it only has 1 folder META-INF. It's a SGS2 with ICS LP3
Click to expand...
Click to collapse
Your rom must be odexed then?
See THIS thread for how to decompile and odex those back.
I tried to deodex android.policy.jar but got this error. Could you help?
C:\Users\Q*****\Documents\Samsung\Deodex-Odex>java -Xmx1024m -jar baksmali.jar
-c :core.jar:core-junit.jar:bouncycastle.jar:ext.jar:framework.jar:framework2.j
ar:android.policy.jar:services.jar:apache-xml.jar:filterfw.jar -x android.policy
.odex
UNEXPECTED TOP-LEVEL EXCEPTION:
org.jf.dexlib.Util.ExceptionWithContext: Unknown opcode: f1
at org.jf.dexlib.Util.ExceptionWithContext.withContext(ExceptionWithCont
ext.java:54)
at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(Instructio
nIterator.java:87)
at org.jf.dexlib.CodeItem.readItem(CodeItem.java:157)
at org.jf.dexlib.Item.readFrom(Item.java:76)
at org.jf.dexlib.OffsettedSection.readItems(OffsettedSection.java:48)
at org.jf.dexlib.Section.readFrom(Section.java:143)
at org.jf.dexlib.DexFile.<init>(DexFile.java:431)
at org.jf.baksmali.main.main(main.java:250)
Caused by: java.lang.RuntimeException: Unknown opcode: f1
at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(InstructionIterator.java:51)
... 6 more
Error occured at code address 28
code_item @0x12c04
interpol2050 said:
I tried to deodex android.policy.jar but got this error. Could you help?
C:\Users\Q*****\Documents\Samsung\Deodex-Odex>java -Xmx1024m -jar baksmali.jar
-c :core.jar:core-junit.jar:bouncycastle.jar:ext.jar:framework.jar:framework2.j
ar:android.policy.jar:services.jar:apache-xml.jar:filterfw.jar -x android.policy
.odex
UNEXPECTED TOP-LEVEL EXCEPTION:
org.jf.dexlib.Util.ExceptionWithContext: Unknown opcode: f1
at org.jf.dexlib.Util.ExceptionWithContext.withContext(ExceptionWithCont
ext.java:54)
at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(Instructio
nIterator.java:87)
at org.jf.dexlib.CodeItem.readItem(CodeItem.java:157)
at org.jf.dexlib.Item.readFrom(Item.java:76)
at org.jf.dexlib.OffsettedSection.readItems(OffsettedSection.java:48)
at org.jf.dexlib.Section.readFrom(Section.java:143)
at org.jf.dexlib.DexFile.<init>(DexFile.java:431)
at org.jf.baksmali.main.main(main.java:250)
Caused by: java.lang.RuntimeException: Unknown opcode: f1
at org.jf.dexlib.Code.InstructionIterator.IterateInstructions(InstructionIterator.java:51)
... 6 more
Error occured at code address 28
code_item @0x12c04
Click to expand...
Click to collapse
DL latest baksmali/smali 1.3.2 and for ICS files you also need to use API Level: 15. So add "-a 15" command when baksmalin. See HERE.
I did this: Deodex -> decompile -> modify -> compile -> reodex -> copy signature. No error occured and all seem fine as expected. I placed original android.policy.jar and patched and signed android.policy.odex to /system/framework but my SG2 stuck at boot animation. Any idea? ( I restored my SG2 btw )

[MOD][GUIDES] SecMms.apk TouchWiz Mods! [5.26.2013]

Hello to all Developers and XDA members! I have come here to give you a couple of guides on how to enable a bunch of the Stock Messaging App "SecMms" Mods and other good stuff so here is how you can do it!
What Is Required...
★ First you need to have experience and know how to decompile/recompile apks with Apktools, apkmanager, smali, and baksmali
★ Have 7-zip installed onto your computer/laptop
★ Make sure you have Notepad++ also installed!
★HOW TO ENABLE THE SCREEN ON/OFF TOGGLE AND ADD THE VIBRATION, SIGNATURE OPTIONS★
WHAT DOES THIS MOD DO: This mod will let you enable the Screen on/off toggle, vibration, and signature options in the messaging app.
STEP 1
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools or apkmanager and then use the commands to decompile the SecMms.apk
★ Once you have decompiled the SecMms.apk, go to:
res/xml/mms_config.xml
Click to expand...
Click to collapse
Now open up "mms.config.xml" with Notepad++ then go and find:
Code:
<bool name="enable_screen_onoff_option">false</bool>
<bool name="enable_signature_settings">false</bool>
<bool name="enable_vibration_option">false</bool>
<bool name="enable_signature">false</bool>
Now what your going to do is where it says "false" your going to change it to "true" to enable it. Once done it will look something like this:
Code:
<bool name="enable_screen_onoff_option">true</bool>
<bool name="enable_signature_settings">true</bool>
<bool name="enable_vibration_option">true</bool>
<bool name="enable_signature">true</bool>
Now save this file with the new edits with Notepad++ and head to the next step!
STEP 2
Once your done enabling the bools, now you have to go into:
smali/com/android/mms/ui/MessagingPreferenceActivity.smali
Click to expand...
Click to collapse
Now open up "MessagingPreferenceActivity.smali" with your notepad++ for editing.
For this part of the guide what i have highlighted in "GREEN" text is what you have to find using Notepad++ which all should be almost towards the bottom of the file, So what you see in "RED" is the line you have to remove/delete completely which is the "invoke-direct" line which has "removePreference" in it:
FIND:
Code:
[COLOR="Green"]const-string v11, "pref_key_spam_settings"[/COLOR]
Here is what it should look like, Now remove what you see in RED:
Code:
.line 813
invoke-virtual {p0}, Lcom/android/mms/ui/MessagingPreferenceActivity;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
move-result-object v10
[COLOR="Green"]const-string v11, "pref_key_spam_settings"[/COLOR]
invoke-virtual {p0, v11}, Lcom/android/mms/ui/MessagingPreferenceActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v11
[COLOR="Red"]invoke-direct {p0, v10, v11}, Lcom/android/mms/ui/MessagingPreferenceActivity;->removePreference(Landroid/preference/PreferenceGroup;Landroid/preference/Preference;)V[/COLOR]
.line 824
:cond_10
:goto_5
invoke-static {}, Lcom/android/mms/MmsConfig;->getDisableConvertingEffectBetweenSMSMMS()Z
move-result v10
if-eqz v10, :cond_11
FIND:
Code:
[COLOR="Green"]const-string v10, "pref_notification_settings"[/COLOR]
Here is what it should look like, Now remove what you see in RED:
Code:
.line 825
[COLOR="Green"]const-string v10, "pref_notification_settings"[/COLOR]
invoke-virtual {p0, v10}, Lcom/android/mms/ui/MessagingPreferenceActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v1
check-cast v1, Landroid/preference/PreferenceCategory;
.line 826
.local v1, MmsCategory:Landroid/preference/PreferenceCategory;
const-string v10, "pref_key_mms_change_over_alarm"
invoke-virtual {p0, v10}, Lcom/android/mms/ui/MessagingPreferenceActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v10
[COLOR="Red"]invoke-direct {p0, v1, v10}, Lcom/android/mms/ui/MessagingPreferenceActivity;->removePreference(Landroid/preference/PreferenceGroup;Landroid/preference/Preference;)V[/COLOR]
FIND:
Code:
[COLOR="Green"]const-string v10, "pref_key_backlight"[/COLOR]
Here is what it should look like, Now remove what you see in RED:
Code:
.line 767
[COLOR="Green"]const-string v10, "pref_key_backlight"[/COLOR]
invoke-virtual {p0, v10}, Lcom/android/mms/ui/MessagingPreferenceActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v10
[COLOR="Red"]invoke-direct {p0, v2, v10}, Lcom/android/mms/ui/MessagingPreferenceActivity;->removePreference(Landroid/preference/PreferenceGroup;Landroid/preference/Preference;)V[/COLOR]
Now once your done with modifying the "MessagingPreferenceActivity.smali", Recompile your SecMms.apk using apktool or smali commands and your DONE! You should now see the Screen On/Off Toggle in the Messaging app Settings! Also if you didn't have the vibration or signature options in your Messaging app settings this guide will also enable it! Enjoy!
★HOW TO ENABLE THE TOUCHWIZ GROUP MESSAGING, SAVE / RESTORE, AND SCHEDULED MESSAGING FEATURES★
WHAT DOES THIS MOD DO: This mod will let you enable some features in the messaging app such as group messaging, save / restore, and also the scheduled messaging.
STEP 1
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools or apkmanager and then use the commands to decompile the SecMms.apk
★ Once you have decompiled the SecMms.apk, go to:
smali/com/android/mms/MmsConfig.smali
Click to expand...
Click to collapse
Now open up "MmsConfig.smali" with your notepad++ for editing.
Now for this part of this guide what i have highlighted in "GREEN" text is what you have to find using Notepad++, And what you see in "BLUE" is the line you have to make changes to:
TO ENABLE GROUP MESSAGING...
FIND:
Code:
[COLOR="Green"].method public static getEnableGroupMessage()Z[/COLOR]
.locals 1
.prologue
.line 766
const/4 v0, 0x0
return v0
.end method
NOW CHANGE TO:
Code:
[COLOR="Green"].method public static getEnableGroupMessage()Z[/COLOR]
.locals 1
.prologue
.line 766
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]
return v0
.end method
TO ENABLE THE SAVE / RESTORE FEATURE...
FIND:
Code:
[COLOR="Green"].method public static getEnableSaveRestoreSDCardMessage()Z[/COLOR]
.locals 1
.prologue
.line 774
const/4 v0, 0x0
return v0
.end method
NOW CHANGE TO:
Code:
[COLOR="Green"].method public static getEnableSaveRestoreSDCardMessage()Z[/COLOR]
.locals 1
.prologue
.line 774
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]
return v0
.end method
TO ENABLE SCHEDULED MESSAGING...
FIND:
Code:
[COLOR="Green"].method public static getEnableScheduledMessage()Z[/COLOR]
.locals 1
.prologue
.line 878
const/4 v0, 0x0
return v0
.end method
NOW CHANGE TO:
Code:
[COLOR="Green"].method public static getEnableScheduledMessage()Z[/COLOR]
.locals 1
.prologue
.line 878
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]
return v0
.end method
The only thing your doing is changing 0x0 to 0x1 which "0" means disabled and "1" means enabled. Once your done now recompile your SecMms.apk and that's it your DONE!
★SMS 1000/UNLIMITED RECIPIENT LIMIT★
WHAT DOES THIS MOD DO: This mod will let you send your message to more than 1000 people at the same time.
STEP 1
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools, apkmanager, or baksmali and then use the commands to decompile the SecMms.apk
★ Once you have decompiled the SecMms.apk, go to:
smali/com/android/mms/MmsConfig.smali
Click to expand...
Click to collapse
Now open up "MmsConfig.smali" with your notepad++ for editing.
Now for this part of this guide what i have highlighted in "GREEN" text is what you have to find using Notepad++, What you see in "RED" is the line you have to remove/delete completely, And also what you see in "BLUE" is the line you have to make changes to:
SEARCH FOR:
Code:
[COLOR="Green"].method public static getRecipientLimit()I[/COLOR]
NOW REMOVE:
Code:
[COLOR="Green"].method public static getRecipientLimit()I[/COLOR]
.locals 1
.prologue
.line 630
[COLOR="Red"]sget v0, Lcom/android/mms/MmsConfig;->mRecipientLimit:I[/COLOR]
return v0
.end method
AND CHANGE TO:
Code:
[COLOR="Green"].method public static getRecipientLimit()I[/COLOR]
.locals 1
.prologue
.line 630
[COLOR="Blue"]const/16 v0, 0x3e8[/COLOR]
return v0
.end method
Now save the changes, recompile your SecMms.apk and your DONE!
★HOW TO CHANGE THE MESSAGING TIME STAMPS TO ITS ORIGINAL TIME★
WHAT DOES THIS MOD DO: This mod will show the exact sent time of received messages, not the moment when you actually received it on your phone.
STEP 1
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools, apkmanager, or baksmali and then use the commands to decompile the SecMms.apk
★ Once you have decompiled the SecMms.apk, go to:
smali/com/android/mms/transactionSMSReceiverService.smali
Click to expand...
Click to collapse
Now open up "SMSReceiverService.smali" with your notepad++ for editing.
Now for this part of this guide what i have highlighted in "GREEN" text is what you have to find using Notepad++, What you see in "RED" is the line you have to remove/delete completely, And also what you see in "BLUE" is the line you have to make changes to:
LOOK FOR:
Code:
[COLOR="Green"]invoke-static {}, Ljava/lang/System;->currentTimeMillis()J[/COLOR]
THIS SAME LINE THAT YOU HAVE JUST LOOKED FOR, IS ALSO THE LINE YOUR GOING TO HAVE TO REMOVE WHICH SHOULD LOOK LIKE THIS:
Code:
.line 1395
:cond_7
const-string v3, "date"
[COLOR="Red"]invoke-static {}, Ljava/lang/System;->currentTimeMillis()J[/COLOR]
move-result-wide v4
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v4
invoke-virtual {v1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
goto/16 :goto_1
.end method
AND THEN CHANGE IT TO THIS:
Code:
.line 1395
:cond_7
const-string v3, "date"
[COLOR="Blue"]invoke-virtual {p1}, Landroid/telephony/SmsMessage;->getTimestampMillis()J[/COLOR]
move-result-wide v4
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v4
invoke-virtual {v1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
goto/16 :goto_1
.end method
Once finished... Save changes, recompile your SecMms.apk and that's it your DONE!
★HOW TO DISABLE THE SMS TO MMS AUTO-CONVERSION★
WHAT DOES THIS MOD DO: This mod will let you type very long text messages and it won't automatically convert it into MMS.
STEP 1
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools, apkmanager, or baksmali and then use the commands to decompile the SecMms.apk
★ Once you have decompiled the SecMms.apk, go to:
smali/com/android/mms/MmsConfig.smali
Click to expand...
Click to collapse
Now open up "MmsConfig.smali" with your notepad++ for editing.
Now for this part of this guide what i have highlighted in "GREEN" text is what you have to find using Notepad++, What you see in "RED" is the line you have to remove/delete completely, And also what you see in "BLUE" is the line you have to make changes to:
SEARCH FOR:
Code:
[COLOR="Green"]sput v0, Lcom/android/mms/MmsConfig;->mMaxImageWidthRestrictedMode:I[/COLOR]
NOW REMOVE:
Code:
[COLOR="Green"]sput v0, Lcom/android/mms/MmsConfig;->mMaxImageWidthRestrictedMode:I[/COLOR]
.line 149
[COLOR="Red"]sput v7, Lcom/android/mms/MmsConfig;->mRecipientLimit:I[/COLOR]
.line 150
[COLOR="Red"]const/16 v0, 0xc8[/COLOR]
sput v0, Lcom/android/mms/MmsConfig;->mDefaultSMSMessagesPerThread:I
AND CHANGE TO:
Code:
[COLOR="Green"]sput v0, Lcom/android/mms/MmsConfig;->mMaxImageWidthRestrictedMode:I[/COLOR]
.line 149
[COLOR="Blue"]const/16 v0, 0x3e8[/COLOR]
.line 150
[COLOR="Blue"]sput v0, Lcom/android/mms/MmsConfig;->mRecipientLimit:I[/COLOR]
sput v0, Lcom/android/mms/MmsConfig;->mDefaultSMSMessagesPerThread:I
SEARCH FOR:
Code:
[COLOR="Green"]sput-boolean v2, Lcom/android/mms/MmsConfig;->mAllowAttachAudio:Z[/COLOR]
NOW REMOVE:
Code:
.line 157
[COLOR="Green"]sput-boolean v2, Lcom/android/mms/MmsConfig;->mAllowAttachAudio:Z[/COLOR]
.line 160
[COLOR="Red"]const/4 v0, 0x4[/COLOR]
sput v0, Lcom/android/mms/MmsConfig;->mSmsToMmsTextThreshold:I
AND CHANGE TO:
Code:
.line 157
[COLOR="Green"]sput-boolean v2, Lcom/android/mms/MmsConfig;->mAllowAttachAudio:Z[/COLOR]
.line 160
[COLOR="Blue"]const/16 v0, 0x3e8[/COLOR]
sput v0, Lcom/android/mms/MmsConfig;->mSmsToMmsTextThreshold:I
SEARCH FOR:
Code:
[COLOR="Green"].method public static getMaxRecipientLength()I[/COLOR]
NOW REMOVE:
Code:
[COLOR="Green"].method public static getMaxRecipientLength()I[/COLOR]
.locals 1
.prologue
.line 2146
[COLOR="Red"]sget v0, Lcom/android/mms/MmsConfig;->mMaxRecipientLength:I[/COLOR]
return v0
.end method
AND CHANGE TO:
Code:
[COLOR="Green"].method public static getMaxRecipientLength()I[/COLOR]
.locals 1
.prologue
.line 2146
[COLOR="Blue"]const/16 v0, 0x3e8[/COLOR]
return v0
.end method
SEARCH FOR:
Code:
[COLOR="Green"].method public static getMmsMaxRecipient()I[/COLOR]
NOW REMOVE:
Code:
[COLOR="Green"].method public static getMmsMaxRecipient()I[/COLOR]
.locals 1
.prologue
.line 2379
[COLOR="Red"]sget v0, Lcom/android/mms/MmsConfig;->mMmsRecipientLimit:I[/COLOR]
return v0
.end method
AND CHANGE TO:
Code:
[COLOR="Green"].method public static getMmsMaxRecipient()I[/COLOR]
.locals 1
.prologue
.line 2379
[COLOR="Blue"]const/16 v0, 0x3e8[/COLOR]
return v0
.end method
SEARCH FOR:
Code:
[COLOR="Green"].method public static getSmsToMmsTextThreshold()I[/COLOR]
NOW REMOVE:
Code:
[COLOR="Green"].method public static getSmsToMmsTextThreshold()I[/COLOR]
.locals 1
.prologue
.line 559
[COLOR="Red"]sget v0, Lcom/android/mms/MmsConfig;->mSmsToMmsTextThreshold:I[/COLOR]
return v0
.end method
AND CHANGE TO:
Code:
[COLOR="Green"].method public static getSmsToMmsTextThreshold()I[/COLOR]
.locals 1
.prologue
.line 559
[COLOR="Blue"]const/16 v0, 0x3e8[/COLOR]
return v0
.end method
SEARCH FOR:
Code:
[COLOR="Green"]sput v9, Lcom/android/mms/MmsConfig;->mMaxRecipientLength:I[/COLOR]
ABOVE THIS SAME LINE YOU HAVE TO ADD A NEW LINE WHICH IS IN BLUE:
Code:
.line 1553
const-string v9, "CscFeature_Message_MaxRecipientLengthAs"
invoke-virtual {v1, v9}, Lcom/sec/android/app/CscFeature;->getInteger(Ljava/lang/String;)I
move-result v9
[COLOR="Blue"]const/16 v9, 0x3e8[/COLOR]
[COLOR="Green"]sput v9, Lcom/android/mms/MmsConfig;->mMaxRecipientLength:I[/COLOR]
.line 1554
sget v9, Lcom/android/mms/MmsConfig;->mMinRecipientLength:I
SEARCH FOR:
Code:
[COLOR="Green"]sput v1, Lcom/android/mms/MmsConfig;->mSmsToMmsTextThreshold:I[/COLOR]
ABOVE THIS SAME LINE YOU HAVE TO ADD A NEW LINE WHICH IS IN BLUE:
Code:
move-result v1
[COLOR="Blue"]const/16 v1, 0x3e8[/COLOR]
[COLOR="Green"]sput v1, Lcom/android/mms/MmsConfig;->mSmsToMmsTextThreshold:I[/COLOR]
.line 1729
const-string v1, "Mms/MmsConfig"
SEARCH FOR:
Code:
[COLOR="Green"]sput v1, Lcom/android/mms/MmsConfig;->mRecipientLimit:I[/COLOR]
ABOVE THIS SAME LINE YOU HAVE TO ADD A NEW LINE WHICH IS IN BLUE:
Code:
.line 1733
const-string v1, "pref_key_max_recipient"
invoke-interface {v0, v1, v4}, Landroid/content/SharedPreferences;->getInt(Ljava/lang/String;I)I
move-result v1
[COLOR="Blue"]const/16 v1, 0x3e8[/COLOR]
[COLOR="Green"]sput v1, Lcom/android/mms/MmsConfig;->mRecipientLimit:I[/COLOR]
.line 1734
const-string v1, "Mms/MmsConfig"
Now save changes, Recompile your SecMms.apk and that's it you are now DONE!!!
★INCREASE THE SMS LIMIT PER HOUR★
WHAT DOES THIS MOD DO: This mod will increase the SMS hour limit to 1000.
STEP 1
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools, apkmanager, or baksmali and then use the commands to decompile the SecMms.apk
★ Once you have decompiled the SecMms.apk, go to:
smali/com/android/mms/util/RateController.smali
Click to expand...
Click to collapse
Now open up "RateController.smali" with your notepad++ for editing.
Now for this guide what i have highlighted in "GREEN" text is what you have to find using Notepad++, What you see in "RED" is the line you have to remove/delete completely, And also what you see in "BLUE" is the line you have to make changes to:
LOOK FOR:
Code:
[COLOR="Green"].field private static final RATE_LIMIT:I = 0x64[/COLOR]
IN THIS SAME EXACT LINE REMOVE:
Code:
[COLOR="Green"].field private static final RATE_LIMIT:I =[/COLOR] [COLOR="Red"]0x64[/COLOR]
AND CHANGE IT TO:
Code:
[COLOR="Green"].field private static final RATE_LIMIT:I =[/COLOR] [COLOR="Blue"]0x3e8[/COLOR]
The value that you see is in hexadecimal format, so 0x64 = "100". So we changed it to 0x3e8 which in hexadecimal format means "1000". Now save your changes, recompile the SecMms.apk and you are now FINISHED!!!
★HOW TO ENABLE SPLIT-VIEW MODE ON/OFF TOGGLE★
WHAT DOES THIS MOD DO: This mod will let you enable split view on landscape screen so you can see the contacts lists of the people who messaged you while looking at your text at the same time.
STEP 1
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools, apkmanager, or baksmali and then use the commands to decompile the SecMms.apk
★ Once you have decompiled the SecMms.apk, go to:
smali/com/android/mms/ui/MessagingPreferenceActivity.smali
Click to expand...
Click to collapse
Now open up "MessagingPreferenceActivity.smali" with your notepad++ for editing.
For this part of the guide what i have highlighted in "GREEN" text is what you have to find using Notepad++, What you see in "RED" is the line you have to remove/delete completely which is the "invoke-direct" line which has "removePreference" in it:
SEARCH FOR:
Code:
[COLOR="Green"]const-string v10, "pref_key_split_view"[/COLOR]
Here is what it should look like, Now remove what you see in RED:
Code:
.line 733
[COLOR="Green"]const-string v10, "pref_key_split_view"[/COLOR]
invoke-virtual {p0, v10}, Lcom/android/mms/ui/MessagingPreferenceActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v10
[COLOR="Red"]invoke-direct {p0, v5, v10}, Lcom/android/mms/ui/MessagingPreferenceActivity;->removePreference(Landroid/preference/PreferenceGroup;Landroid/preference/Preference;)V[/COLOR]
.line 735
:cond_2
invoke-static {}, Lcom/android/mms/MmsConfig;->getEnableWapPush()Z
Once done save your changes, now go to:
smali/com/android/mms/MmsConfig.smali
Click to expand...
Click to collapse
Now open up "MmsConfig.smali" with your notepad++ for editing.
Now for this part of this guide what I have highlighted in "GREEN" text is what you have to find using Notepad++, What you see in "RED" is the line you have to remove/delete completely, And also what you see in "BLUE" is the line you have to make changes to:
SEARCH FOR:
Code:
[COLOR="Green"].method public static getEnableSplitMode()Z[/COLOR]
NOW REMOVE:
Code:
[COLOR="Green"].method public static getEnableSplitMode()Z[/COLOR]
.locals 1
.prologue
.line 903
invoke-static {}, Lcom/android/mms/MmsConfig;->hasLargerThan5inchScreen()Z
move-result v0
if-eqz v0, :cond_0
.line 904
const/4 v0, 0x1
.line 906
:goto_0
return v0
:cond_0
[COLOR="Red"]sget-boolean v0, Lcom/android/mms/MmsConfig;->mEnableSplitMode:Z[/COLOR]
goto :goto_0
.end method
AND CHANGE TO:
Code:
[COLOR="Green"].method public static getEnableSplitMode()Z[/COLOR]
.locals 1
.prologue
.line 903
invoke-static {}, Lcom/android/mms/MmsConfig;->hasLargerThan5inchScreen()Z
move-result v0
if-eqz v0, :cond_0
.line 904
const/4 v0, 0x1
.line 906
:goto_0
return v0
:cond_0
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]
goto :goto_0
.end method
Now save changes, Recompile your SecMms.apk and that's it you are now DONE! Now you should see the "Split View" Toggle In Your Messaging App Settings!
★HOW TO INCREASE MMS MAX SIZE + INCREASE MMS IMAGE SIZE★
WHAT DOES THIS MOD DO: This mod will increase the MMS Max size to 2048000 bytes and also increase the MMS Image size to 4096x2048 [8.4MP].
STEP 1
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools or apkmanager and then use the commands to decompile the SecMms.apk
★ Once you have decompiled the SecMms.apk, go to:
smali/com/android/mms/MmsConfig.smali
Click to expand...
Click to collapse
Now open up "MmsConfig.smali" with your notepad++ for editing.
Now for this part of this guide what I have highlighted in "GREEN" text is what you have to find using Notepad++, And what you see in "BLUE" is the line you have to make changes to:
INCREASE MMS MAX SIZE TO 2048000 BYTES...
FIND:
Code:
.line 137
[COLOR="Green"]sput-boolean v2, Lcom/android/mms/MmsConfig;->mMmsWidgetEnabled:Z[/COLOR]
.line 138
const v0, 0x4b000
sput v0, Lcom/android/mms/MmsConfig;->mMaxMessageSize:I
NOW CHANGE TO:
Code:
.line 137
[COLOR="Green"]sput-boolean v2, Lcom/android/mms/MmsConfig;->mMmsWidgetEnabled:Z[/COLOR]
.line 138
[COLOR="Blue"]const v0, 0x1f4000[/COLOR]
sput v0, Lcom/android/mms/MmsConfig;->mMaxMessageSize:I
INCREASE MMS IMAGE SIZE TO 4096x2048 [8.4MP]...
FIND:
Code:
.line 144
[COLOR="Green"]sput-object v4, Lcom/android/mms/MmsConfig;->mEmailGateway:Ljava/lang/String;[/COLOR]
.line 145
sget v0, Lcom/android/mms/MmsConfig;->MAX_IMAGE_HEIGHT:I
sput v0, Lcom/android/mms/MmsConfig;->mMaxImageHeight:I
.line 146
sget v0, Lcom/android/mms/MmsConfig;->MAX_IMAGE_WIDTH:I
sput v0, Lcom/android/mms/MmsConfig;->mMaxImageWidth:I
NOW CHANGE TO:
Code:
.line 144
[COLOR="Green"]sput-object v4, Lcom/android/mms/MmsConfig;->mEmailGateway:Ljava/lang/String;[/COLOR]
.line 145
[COLOR="Blue"]const/16 v0, 0x800[/COLOR]
sput v0, Lcom/android/mms/MmsConfig;->mMaxImageHeight:I
.line 146
[COLOR="Blue"]const/16 v0, 0x1000[/COLOR]
sput v0, Lcom/android/mms/MmsConfig;->mMaxImageWidth:I
Once your done. Now recompile your SecMms.apk and that's it your DONE!
another one just in case! :good:
Thanks for doing this bro, ill have to check it out!
Re: [MOD][GUIDES] SecMms.apk TouchWiz Mods!
sbreen94 said:
Thanks for doing this bro, ill have to check it out!
Click to expand...
Click to collapse
Your welcome bro hopefully i get to update it later on tonight with more mods.
Sent from my SGH-T999 using Tapatalk 2
Updated it with even more mods!
Re: [MOD][GUIDES] SecMms.apk TouchWiz Mods! [3.3.2013]
jovy23 said:
Updated it with even more mods!
Click to expand...
Click to collapse
Awww yeah
Sent from my SCH-I605 using xda premium
Excellent guide mate, :highfive: :good::good:
awesome! it send it but the replies do not come back in the same thread.the people respond in another individual thread...is there anyway to enable the responses to be all in one thread?
EDIT: also, after sending the first group message, i can't send another one. i think it is because the thread is now labeled: "Anonymous" and the app doesn't know who to send it to..
can you possibly post your SecMMS.apk? i've decompiled it and made some edits successfully, but one of the smali files i have is missing some lines from this guide...
also, group text doesnt work still i get the same bug as above. we must be missing something. anyone have the latest OTA update and are rooted? lets compare files!
Everything is OK, but when I choose to send message from contact list: Still 10 recipient limit. How to solve this?
Would this work for the Note 2? And could someone upload the APK? If you need my Note 2 version I can send it to you but I think its the same as the S3.
I successfully was able to make the sms to mms conversion change along with the recipient limit change. But whenever I make a change to the xml files it breaks the array in values where the <3 doesn't link to the heart properly it only shows the <3 in the text message. this happened after I tried to add the screen on/off change. I have read it is something to do with a compression error. Do you know a workaround for this? Hope so, or maybe someone has a fix for this
Second question is how to change the default order of the smilies when you insert from the menu?
Thanks in advance...
Is this thread still active and up?
Re: [MOD][GUIDES] SecMms.apk TouchWiz Mods! [3.3.2013]
mgbotoe said:
Is this thread still active and up?
Click to expand...
Click to collapse
It still works if that's what you're asking
Sent from my SGH-T889 using Tapatalk 2
jovy23 said:
Updated it with even more mods!
Click to expand...
Click to collapse
I would love to have these on my t-999 but I'm having trouble understanding all this development jargon. I've spent the entire day trying to create my own mod, but with no success. My eyes now hurt from staring at my pc since 7 am Do you have a mod for the t-999 stock rom I could flash?
Thanks so much for this great how to! Very clear and easy to follow!
My smali folder does not get extracted...tried so many things to get it fix. anyone else experiencing this....
mgbotoe said:
My smali folder does not get extracted...tried so many things to get it fix. anyone else experiencing this....
Click to expand...
Click to collapse
What do you mean?
Did you decompile the secmms.apk using apktool or apk manager?
Smali folder will be there if you successfully decompiled it.
Sent from my GT-I9100 using Tapatalk 2
engloa said:
What do you mean?
Did you decompile the secmms.apk using apktool or apk manager?
Smali folder will be there if you successfully decompiled it.
Sent from my GT-I9100 using Tapatalk 2
Click to expand...
Click to collapse
Yes ive even setup the apk manager again same thing

[Guide]How to add Lollipop Easter Egg in your Rom for updated to v2(For GingerBread

Hey Guys, I am back with another guide and this time i will show you how to add Lollipop Easter Egg in your ROM.
{
"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"
}
Disclaimer: I and XDA are not responsible for the damage of your phone. Take necessary backup if you are indoubt.
Requirements:
framework2.jar from your ROM (for kitkat roms)
framework.jar for gb+ Rom
Know how to decompile APK
Easter Egg app attached below
Let's start
1. Decompile framework2.jar
2. Go to smali/com/android/internal/app
and open PlatLogoActivity.smali
3. Select all and replace it with this code:
Code:
.class public Lcom/android/internal/app/PlatLogoActivity;
.super Landroid/app/Activity;
.source "PlatLogoActivity.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 12
invoke-direct {p0}, Landroid/app/Activity;-><init>()V
return-void
.end method
# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.registers 7
.parameter "savedInstanceState"
.prologue
.line 16
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 18
new-instance v1, Landroid/content/Intent;
const-string v2, "android.intent.action.MAIN"
invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 19
.local v1, intent:Landroid/content/Intent;
new-instance v2, Landroid/content/ComponentName;
const-string v3, "com.Droidbuster.droidbuster_LollipopEasterEgg"
const-string v4, "com.Droidbuster.droidbuster_LollipopEasterEgg.MainActivity"
invoke-direct {v2, v3, v4}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
.line 23
:try_start_16
invoke-virtual {p0, v1}, Lcom/android/internal/app/PlatLogoActivity;->startActivity(Landroid/content/Intent;)V
:try_end_19
.catch Landroid/content/ActivityNotFoundException; {:try_start_16 .. :try_end_19} :catch_1d
.line 39
:goto_19
invoke-virtual {p0}, Lcom/android/internal/app/PlatLogoActivity;->finish()V
.line 41
return-void
.line 31
:catch_1d
move-exception v0
.line 35
.local v0, e:Landroid/content/ActivityNotFoundException;
const-string v2, "First install that app Droidbuster told you to!"
const/4 v3, 0x0
invoke-static {p0, v2, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v2
invoke-virtual {v2}, Landroid/widget/Toast;->show()V
goto :goto_19
.end method
4. Recompile framework.jar
Push it into system/framework
Set correct permissions(rw-r--r--)
5. Install this app by me, it Contain important the Easter Egg code and that smali above redirects to it:
V1.2 Announced for GB
Change Log
Force close fixed while holding long on Platlogo:fingers-crossed:
size decreased
Some layout problem fixed
V2 Announced for GB
Change Log
Finally Fixed Color Issue fixed
Multiple Density Support no need to download Different apks For different density
More Crispy.
Size Decreased
​
Download For GingerBread Platform Device: Idpi , Mdpi , Hdpi , Xdpi​​Download For Ics+ Platform Device: Idpi , Mdpi , Hdpi , Xdpi
Download For GingerBread Platform Device V1.2: Idpi , Mdpi , Hdpi , Xdpi
Note = Random Color Change Feature not work on 2.3 platform But on ICs + device its working Like a charm
Download For GingerBread Platform Device V2 : Multiple Density Support
XDA:DevDB Information
Droidbuster lollipop Easter Egg, Theme for the All Devices
Download source code of Droidbuster_lollipop_platelogo_2.3+ :https://github.com/Droidbuster/Droidbuster_lollipop_Platelogo_2.3-Support
Download source code of Droidbuster_lollipop_Platelogo_3.0+ : https://github.com/Droidbuster/Droidbuster_lollipop_Platelogo_3.0-Support
Download source code of Droidbuster_lollipop_platelogo_2.3+ :https://github.com/Droidbuster/Droidbuster_lollipop_Platelogo_2.3-Support
Download source code of Droidbuster_lollipop_Platelogo_Finalversion 2.3+ : https://github.com/Droidbuster/Final-Version-Lollipop-Platelogo-GingerBread
Contributors
Droidbuster, m4rinko2, iamareebjamal, MuSaddiq
Version Information
Status: Stable
Current Stable Version: V2
Stable Release Date: 2015-05-16
Created 2015-01-25
Last Updated 2015-05-16
Wow! Thanks.
But as I and many don't know to decompile ROM, can you make this a flashable zip?
Decompile rom
surajdhanuki said:
Wow! Thanks.
But as I and many don't know to decompile ROM, can you make this a flashable zip?
Click to expand...
Click to collapse
Bro you want just empty flashable zip ?
or moded?
Thanks Bro @Droidbuster
I'll Surely Include Lollipop Easter Egg in The Next Edition of CrysTal ROM!
Droidbuster said:
Bro you want just empty flashable zip ?
or moded?
Click to expand...
Click to collapse
Hey bro I want the modded flashable zip so if I flash the file I'll get the easter egg.
surajdhanuki said:
Hey bro I want the modded flashable zip so if I flash the file I'll get the easter egg.
Click to expand...
Click to collapse
Bro tell me on which rom you because but i can only give only for single time rest you have to do by own
this does not seem to be rom dev related. plz move it in general or app section @zelendel
Droidbuster said:
Bro tell me on which rom you because but i can only give only for single time rest you have to do by own
Click to expand...
Click to collapse
Yeah..sure..Its only a matter of trying after all.
I'm at cm11 r16....with xcelerate kernel.
Success!
Droidbuster said:
Hey Guys, I am back with another guide and this time i will show you how to add Lollipop Easter Egg in your ROM.
Disclaimer: I and XDA are not responsible for the damage of your phone. Take necessary backup if you are indoubt.
Requirements:
framework.jar from your ROM
Know how to decompile APK
Easter Egg app attached below
Let's start
1. Decompile framework.jar
2. Go to smali/com/android/internal/app
and open PlatLogoActivity.smali
3. Select all and replace it with this code:
Code:
.class public Lcom/android/internal/app/PlatLogoActivity;
.super Landroid/app/Activity;
.source "PlatLogoActivity.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 12
invoke-direct {p0}, Landroid/app/Activity;-><init>()V
return-void
.end method
# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.registers 7
.parameter "savedInstanceState"
.prologue
.line 16
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 18
new-instance v1, Landroid/content/Intent;
const-string v2, "android.intent.action.MAIN"
invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 19
.local v1, intent:Landroid/content/Intent;
new-instance v2, Landroid/content/ComponentName;
const-string v3, "com.Droidbuster.droidbuster_LollipopEasterEgg"
const-string v4, "com.Droidbuster.droidbuster_LollipopEasterEgg.MainActivity"
invoke-direct {v2, v3, v4}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
.line 23
:try_start_16
invoke-virtual {p0, v1}, Lcom/android/internal/app/PlatLogoActivity;->startActivity(Landroid/content/Intent;)V
:try_end_19
.catch Landroid/content/ActivityNotFoundException; {:try_start_16 .. :try_end_19} :catch_1d
.line 39
:goto_19
invoke-virtual {p0}, Lcom/android/internal/app/PlatLogoActivity;->finish()V
.line 41
return-void
.line 31
:catch_1d
move-exception v0
.line 35
.local v0, e:Landroid/content/ActivityNotFoundException;
const-string v2, "First install that app Droidbuster told you to!"
const/4 v3, 0x0
invoke-static {p0, v2, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v2
invoke-virtual {v2}, Landroid/widget/Toast;->show()V
goto :goto_19
.end method
4. Recompile framework.jar
Push it into system/framework
Set correct permissions(rw-r--r--)
5. Install this app by me, it Contain important the Easter Egg code and that smali above redirects to it:
V1.2 Announced for GB
Change Log
Force close fixed while holding long on Platlogo:fingers-crossed:
size decreased
Some layout problem fixed
Download For GingerBread Platform Device: Idpi , Mdpi , Hdpi , Xdpi​​Download For Ics+ Platform Device: Idpi , Mdpi , Hdpi , Xdpi
Download For GingerBread Platform Device V1.2: Idpi , Mdpi , Hdpi , Xdpi
Note = Random Color Change Feature not work on 2.3 platform But on ICs + device its working Like a charm
XDA:DevDB Information
Droidbuster lollipop Easter Egg, Theme for the All Devices
Contributors
Droidbuster, m4rinko2, iamareebjamal, MuSaddiq
Version Information
Status: Stable
Current Stable Version: 1.0
Stable Release Date: 2015-01-25
Created 2015-01-25
Last Updated 2015-01-25
Click to expand...
Click to collapse
thanks bro
smali is not present inside framework.jar ? what can i do?
Rom : Cm11
[GUIDE][NOOBS] Adding Lollipop Easter Egg for 4.4+ ROM (CM11, PA, PAC-MAN, AOSP etc)
Hello all,
I rewrite this tutorial for Android 4.4+
Note you must have a deodexed ROM for this if you try on stock ROM.
I also have attached a flashable zip in the end that'll work for all users on any android version. GB, JB or KK
Let's begin
GUIDE
Tools we need for this are Notepad++, Jar editing tool (don't just use any apktool or you'll end up with smaling error) and your correct dpi resolution apk
Download the tool to decompile from here http://www.mediafire.com/download/h...l+-+baksmali+-+Signer+v3+Mixed+by+ibanez7.zip (thanks to @ibanez7) or this tool from here http://www.mediafire.com/download/yx8lswms7ocd4oh/Apk+Changer+forked+by+gamzekal+11.3.2014.exe (thanks to @gamzekal)
1) Pull out framework2.jar from your device. Make sure you have necessary adb files or minimal-sdk package (adb files). If you dont have then download from below adb.zip and extract them to C:/adb(Recommended for ease of use) or any folder.
Now connect your device with PC make sure USB Debugging is on and accept any RSA Fingerprint prompt on your device.
Now hold right Shift and press right click. From the menu choose "Open command window here" and copy or type the following code.
adb pull framework2.jar /system/framework
You'll see a file named framework2.jar in the adb folder. Congrats you got your file! Now moving on.
2) Decompile using any of the given tools, here I explain using ibanez7 tool. Download the tool and extract it to C:\Users\here don't keep spaces between any folder/file name. For more accurate tutorial how to setup the tool go to this thread here http://forum.xda-developers.com/showthread.php?t=2251719
- Copy framework2.jar file to apktool folder (make sure is the same folder).
- Open framework2.jar using Winrar or 7zip and extract classes.dex file (Recommended WinRAR)
- Drag & drop classes.dex to Quick-Baksmali.cmd (decompile process)
- Wait and you will see a folder with the name "classout"
- Now you can start editing smali file on classout folder (use Notepad++ only for editing it)
- Go to classout/smali/com/android/internal/app and search for PlatLogoActivity.smali, right click it and open it with Notepad++
- Easy just select all of the code and delete it and replace it with OP's code, Here
Code:
.class public Lcom/android/internal/app/PlatLogoActivity;
.super Landroid/app/Activity;
.source "PlatLogoActivity.java"
# direct methods
.method public constructor ()V
.registers 1
.prologue
.line 12
invoke-direct {p0}, Landroid/app/Activity;->()V
return-void
.end method
# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.registers 7
.parameter "savedInstanceState"
.prologue
.line 16
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 18
new-instance v1, Landroid/content/Intent;
const-string v2, "android.intent.action.MAIN"
invoke-direct {v1, v2}, Landroid/content/Intent;->(Ljava/lang/String;)V
.line 19
.local v1, intent:Landroid/content/Intent;
new-instance v2, Landroid/content/ComponentName;
const-string v3, "com.Droidbuster.droidbuster_LollipopEasterEgg"
const-string v4, "com.Droidbuster.droidbuster_LollipopEasterEgg.MainActivity"
invoke-direct {v2, v3, v4}, Landroid/content/ComponentName;->(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
.line 23
:try_start_16
invoke-virtual {p0, v1}, Lcom/android/internal/app/PlatLogoActivity;->startActivity(Landroid/content/Intent;)V
:try_end_19
.catch Landroid/content/ActivityNotFoundException; {:try_start_16 .. :try_end_19} :catch_1d
.line 39
:goto_19
invoke-virtual {p0}, Lcom/android/internal/app/PlatLogoActivity;->finish()V
.line 41
return-void
.line 31
:catch_1d
move-exception v0
.line 35
.local v0, e:Landroid/content/ActivityNotFoundException;
const-string v2, "First install that app Droidbuster told you to!"
const/4 v3, 0x0
invoke-static {p0, v2, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v2
invoke-virtual {v2}, Landroid/widget/Toast;->show()V
goto :goto_19
.end method
After pasting make sure that every line that begins with # Blabla has two lines gap before it and after the .end method line when next # Blabla line start it should have two line gap. For eg
Code:
# direct methods
.method public constructor ()V
- Code here
.end method
1st line gap
2nd line gap
# virtual methods
.method (rest code here)
-Code here
.end method
Hope you got my point. If you still dont get it the check the existing smali's in the folder for example.
-After editing the file save it and close Notepad++.
- After editing is complete, Drag & drop classout folder to Quick-Smali.cmd (recompile process)
- After recompile is complete, there will be a file with a name "new-classes.dex"
- Open framework2.jar using WinRAR or 7zip (Recommended WinRAR)
- Rename new-classes.dex to classes.dex, and Drag & drop to framework2.jar with normal compression and your done.
For noobs who have trouble with framework2.jar flashing I have attached flashable zip in the post below just make necessary changes and then open the flashable zip package attached below and add framework2.jar[For 4.4.x]/framework.jar[For 2.3-4.3] to framework folder with normal compression and flash the zip through custom recovery. Remember to make a nandroid backup before you flash anything and make sure to Wipe Cache and Dalvik cache before flashing
Next install the apk as suggested by OP and enjoy
All credits to @Droidbuster for this awesome guide and congrats to be on portal
Eggster an Exposed Module
Already did it!!
Khizar Ali said:
smali is not present inside framework.jar ? what can i do?
Rom : Cm11
Click to expand...
Click to collapse
Check my post
Sir please check the download link for GingerBread Platform Device V1.2: Idpi and Xdpi are the same download link (d-h.st/IOXs)
surajdhanuki said:
Hey bro I want the modded flashable zip so if I flash the file I'll get the easter egg.
Click to expand...
Click to collapse
This guide will not work for KK. Here check my post I explained all in details. Don't be a noob! BTW Guide is noob friendly that I wrote
Tried your tutorial. returns this error, while recompiling :
Code:
framework.jar.out\smali\com\android\internal\app\PlatLogoActivity.smali[21,4] Er
ror for input '.parameter': Invalid directive
framework.jar.out\smali\com\android\internal\app\PlatLogoActivity.smali[21,15] m
ismatched input '"savedInstanceState"' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file
: com/android/internal/app/PlatLogoActivity.smali
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:72)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:56)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:41)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:338)
at brut.androlib.Androlib.buildSources(Androlib.java:299)
at brut.androlib.Androlib.build(Androlib.java:285)
at brut.androlib.Androlib.build(Androlib.java:258)
at brut.apktool.Main.cmdBuild(Main.java:236)
at brut.apktool.Main.main(Main.java:88)
Also, ICS + ldpi version is unavailable.
Hope you look in this, I am not expert in compiling/decompiling. I may be making some silly mistakes, because I get same error in other cases too.
EDIT : I tried initially with smali 2.0.3, after debugging issue, I tried smali 1.4.2, still same. Hope you help.
EDIT2 : Its for JB 4.1.2. Should I attach my framework.jar for your perusal and if you have time?
EDIT3 : Done! Used older apktool and got it working. Thanks a lot.
Tech N You said:
Hello all,
I rewrite this tutorial for Android 4.4+
Note you must have a deodexed ROM for this if you try on stock ROM.
I also have attached a flashable zip in the end that'll work for all users on any android version. GB, JB or KK
Let's begin
GUIDE
Tools we need for this are Notepad++, Jar editing tool (don't just use any apktool or you'll end up with smaling error) and your correct dpi resolution apk
Download the tool to decompile from here http://www.mediafire.com/download/h...l+-+baksmali+-+Signer+v3+Mixed+by+ibanez7.zip (thanks to @ibanez7) or this tool from here http://www.mediafire.com/download/yx8lswms7ocd4oh/Apk+Changer+forked+by+gamzekal+11.3.2014.exe (thanks to @gamzekal)
1) Pull out framework2.jar from your device. Make sure you have necessary adb files or minimal-sdk package (adb files). If you dont have then download from below adb.zip and extract them to C:/adb(Recommended for ease of use) or any folder.
Now connect your device with PC make sure USB Debugging is on and accept any RSA Fingerprint prompt on your device.
Now hold right Shift and press right click. From the menu choose "Open command window here" and copy or type the following code.
adb pull framework2.jar /system/framework
You'll see a file named framework2.jar in the adb folder. Congrats you got your file! Now moving on.
2) Decompile using any of the given tools, here I explain using ibanez7 tool. Download the tool and extract it to C:\Users\here don't keep spaces between any folder/file name. For more accurate tutorial how to setup the tool go to this thread here http://forum.xda-developers.com/showthread.php?t=2251719
- Copy framework2.jar file to apktool folder (make sure is the same folder).
- Open framework2.jar using Winrar or 7zip and extract classes.dex file (Recommended WinRAR)
- Drag & drop classes.dex to Quick-Baksmali.cmd (decompile process)
- Wait and you will see a folder with the name "classout"
- Now you can start editing smali file on classout folder (use Notepad++ only for editing it)
- Go to classout/smali/com/android/internal/app and search for PlatLogoActivity.smali, right click it and open it with Notepad++
- Easy just select all of the code and delete it and replace it with OP's code, Here
Code:
.class public Lcom/android/internal/app/PlatLogoActivity;
.super Landroid/app/Activity;
.source "PlatLogoActivity.java"
# direct methods
.method public constructor ()V
.registers 1
.prologue
.line 12
invoke-direct {p0}, Landroid/app/Activity;->()V
return-void
.end method
# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.registers 7
.parameter "savedInstanceState"
.prologue
.line 16
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 18
new-instance v1, Landroid/content/Intent;
const-string v2, "android.intent.action.MAIN"
invoke-direct {v1, v2}, Landroid/content/Intent;->(Ljava/lang/String;)V
.line 19
.local v1, intent:Landroid/content/Intent;
new-instance v2, Landroid/content/ComponentName;
const-string v3, "com.Droidbuster.droidbuster_LollipopEasterEgg"
const-string v4, "com.Droidbuster.droidbuster_LollipopEasterEgg.MainActivity"
invoke-direct {v2, v3, v4}, Landroid/content/ComponentName;->(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
.line 23
:try_start_16
invoke-virtual {p0, v1}, Lcom/android/internal/app/PlatLogoActivity;->startActivity(Landroid/content/Intent;)V
:try_end_19
.catch Landroid/content/ActivityNotFoundException; {:try_start_16 .. :try_end_19} :catch_1d
.line 39
:goto_19
invoke-virtual {p0}, Lcom/android/internal/app/PlatLogoActivity;->finish()V
.line 41
return-void
.line 31
:catch_1d
move-exception v0
.line 35
.local v0, e:Landroid/content/ActivityNotFoundException;
const-string v2, "First install that app Droidbuster told you to!"
const/4 v3, 0x0
invoke-static {p0, v2, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v2
invoke-virtual {v2}, Landroid/widget/Toast;->show()V
goto :goto_19
.end method
After pasting make sure that every line that begins with # Blabla has two lines gap before it and after the .end method line when next # Blabla line start it should have two line gap. For eg
Code:
# direct methods
.method public constructor ()V
- Code here
.end method
1st line gap
2nd line gap
# virtual methods
.method (rest code here)
-Code here
.end method
Hope you got my point. If you still dont get it the check the existing smali's in the folder for example.
-After editing the file save it and close Notepad++.
- After editing is complete, Drag & drop classout folder to Quick-Smali.cmd (recompile process)
- After recompile is complete, there will be a file with a name "new-classes.dex"
- Open framework2.jar using WinRAR or 7zip (Recommended WinRAR)
- Rename new-classes.dex to classes.dex, and Drag & drop to framework2.jar with normal compression and your done.
For noobs who have trouble with framework2.jar flashing I have attached flashable zip in the post below just make necessary changes and then open the flashable zip package attached below and add framework2.jar[For 4.4.x]/framework.jar[For 2.3-4.3] to framework folder with normal compression and flash the zip through custom recovery. Remember to make a nandroid backup before you flash anything and make sure to Wipe Cache and Dalvik cache before flashing
Next install the apk as suggested by OP and enjoy
All credits to @Droidbuster for this awesome guide and congrats to be on portal
Click to expand...
Click to collapse
thanks bro .you made my work to easy . and thanks for wishes for xda portal post but i missed that portal post
Droidbuster said:
thanks bro .you made my work to easy . and thanks for wishes for xda portal post but i missed that portal post
Click to expand...
Click to collapse
Wow congrats bro :laugh:
now ur thread is on XDA portal
LuanTeles said:
Eggster an Exposed Module
Already did it!!
Click to expand...
Click to collapse
I know bro my platlogo based of xposed but i did not find any single guide to make it inbuilt in system and any working Lollipop easter egg for Gb too.
so i did
Dont for get press thanks button if you like my work​
missed portal
pritish sahoo said:
Wow congrats bro :laugh:
now ur thread is on XDA portal
Click to expand...
Click to collapse
thanks bro but i missed that portal news

[GUIDE][PORT] [cm11] Dinamic statusbar

what is Dinamic statusbar??
can you see here
or here my original facebook post​
i comparing from another rom include this feature to pure CM11 base
big thanks to
Allah swt
my family
CyanogenMod
@ocoot
@bamzzz
@qoejohn
prabu siliwangi
anggi muhammad
syaeful anwar
deddy kitul
you
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk and JAR file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else ( i use apktool 1.5.2 )
download file recources below
Settings.apk
Decompile Settings.apk
add string
Code:
<string name="dynamic_system_bars_title">Dynamic system bars</string>
<string name="dynamic_status_bar_title">Dynamic status bar</string>
<string name="dynamic_status_bar_summary">Automatically update the background of the status bar</string>
<string name="dynamic_navigation_bar_title">Dynamic navigation bar</string>
<string name="dynamic_navigation_bar_summary">Automatically update the background of the navigation bar</string>
<string name="dynamic_system_bars_gradient_title">System bar gradient</string>
<string name="dynamic_system_bars_gradient_summary">Overlay a gradient on the system bars</string>
<string name="dynamic_status_bar_filter_title">Darker status bar</string>
<string name="dynamic_status_bar_filter_summary">Overlay a darkening filter on the status bar</string>
open
res/xml/display_settings.xml
add wherever you want
Code:
<PreferenceScreen android:title="Dinamic Status Bar" android:fragment="com.android.settings.oplosandev.DSBSettings" />
place DSBSettings.smali into folder "smali" ,after recompile and decompile automatic place directories name smali
Recompile
Decompile
open
DSBSettings.smali
matched
const v0, 0x7f050071 #type="xml" name="dsb_settings"
Recompile
sign
push
SystemUI.apk
decompile SystemUI
open
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions.smali
find
Code:
# instance fields
add above
Code:
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$1;,
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$GradientObserver;,
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable;
}
.end annotation
findmethod
Code:
.method public constructor <init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;)V
replace with
Code:
.method public constructor <init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;)V
.locals 4
.parameter "view"
.prologue
const/4 v3, 0x1
.line 47
new-instance v1, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable;
invoke-virtual {p1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->getContext()Landroid/content/Context;
move-result-object v2
invoke-direct {v1, v2}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable;-><init>(Landroid/content/Context;)V
invoke-direct {p0, p1, v1}, Lcom/android/systemui/statusbar/phone/BarTransitions;-><init>(Landroid/view/View;Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;)V
.line 48
iput-object p1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions;->mView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
.line 49
iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions;->mView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
invoke-virtual {v1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
.line 50
.local v0, res:Landroid/content/res/Resources;
const v1, 0x7f0b002b [COLOR="Red"]#type="dimen" name="status_bar_icon_drawing_alpha"[/COLOR]
invoke-virtual {v0, v1, v3, v3}, Landroid/content/res/Resources;->getFraction(III)F
move-result v1
iput v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions;->mIconAlphaWhenOpaque:F
.line 51
return-void
.end method
skip this step if in your have it
add this
dimens.xml
Code:
<item type="dimen" name="status_bar_icon_drawing_alpha">75.0%</item>
colors.xml
Code:
<color name="status_bar_background_opaque">#ff000000</color>
<color name="status_bar_background_semi_transparent">#66000000</color>
intergers.xml
Code:
<integer name="dsb_transition_duration">500</integer>
push smali
recoompile
decompile
open public.xml
and matched all id
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable.smali
Code:
const v1, 0x7f07000a #type="color" name="status_bar_background_opaque"
const v3, 0x7f07000b #type="color" name="status_bar_background_semi_transparent"
const v4, 0x7f0201dd #type="drawable" name="status_background"
Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable.smali
Code:
const v1, 0x7f090015 #type="integer" name="dsb_transition_duration"
Navbar
open
Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;
find code
Code:
# instance fields
.field private final mBarService:Lcom/android/internal/statusbar/IStatusBarService;
add above
Code:
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$GradientObserver;,
Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$NavigationBarBackgroundDrawable;
}
.end annotation
find
Code:
.method public constructor
change like it
Code:
# direct methods
.method public constructor <init>(Lcom/android/systemui/statusbar/phone/NavigationBarView;)V
.locals 3
.parameter "view"
.prologue
.line 50
new-instance v0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$NavigationBarBackgroundDrawable;
invoke-virtual {p1}, Lcom/android/systemui/statusbar/phone/NavigationBarView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-direct {v0, v1}, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$NavigationBarBackgroundDrawable;-><init>(Landroid/content/Context;)V
invoke-direct {p0, p1, v0}, Lcom/android/systemui/statusbar/phone/BarTransitions;-><init>(Landroid/view/View;Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;)V
.line 242
new-instance v0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$2;
invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$2;-><init>(Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;)V
iput-object v0, p0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;->mLightsOutListener:Landroid/view/View$OnTouchListener;
.line 52
iput-object p1, p0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;->mView:Lcom/android/systemui/statusbar/phone/NavigationBarView;
.line 53
const-string v0, "statusbar"
invoke-static {v0}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
move-result-object v0
invoke-static {v0}, Lcom/android/internal/statusbar/IStatusBarService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/statusbar/IStatusBarService;
move-result-object v0
iput-object v0, p0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;->mBarService:Lcom/android/internal/statusbar/IStatusBarService;
.line 55
return-void
.end method
save
open
Lcom/android/systemui/statusbar/phone/NavigationBarView$StatusBarBlockerTransitions;
find
Code:
.method public constructor
change to
Code:
# direct methods
.method public constructor <init>(Landroid/view/View;)V
.locals 5
.parameter "statusBarBlocker"
.prologue
.line 1268
new-instance v0, Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;
invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
const v2, 0x7f07000a #type="color" name="status_bar_background_opaque"
const v3, 0x7f07000b #type="color" name="status_bar_background_semi_transparent"
const v4, 0x7f0201dd #type="drawable" name="status_background"
invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;-><init>(Landroid/content/Context;III)V
invoke-direct {p0, p1, v0}, Lcom/android/systemui/statusbar/phone/BarTransitions;-><init>(Landroid/view/View;Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;)V
.line 1273
return-void
.end method
and matched all id
Code:
const v2, 0x7f07000a #type="color" name="status_bar_background_opaque"
const v3, 0x7f07000b #type="color" name="status_bar_background_semi_transparent"
const v4, 0x7f0201dd #type="drawable" name="status_background"
do enabling navigation bar via build.prop
add this code at ADDITIONAL_BUILD_PROPERTIES
Code:
qemu.hw.mainkeys=0
push
Settings.apk /system/priv-app/here
SystemUI.apk /system/priv-app/here
systemui.so /system/lib/here
or other way, u can try methode flasahble.zip,adb,or other
Hi will it work in gingerbread phones? coz my systemui does not have phone folder under com/android/systemui/statusbar/
RESERVED !!!
nice share omm...
Jedz77 said:
Hi will it work in gingerbread phones? coz my systemui does not have phone folder under com/android/systemui/statusbar/
Click to expand...
Click to collapse
cm11 only.....
stock kk adjust
dugeriss said:
cm11 only.....
stock kk adjust
Click to expand...
Click to collapse
oh my bad. sorry. i really like it though. anyways thanks maan nice mod btw
dugeriss said:
what is Dinamic statusbar??
can you see here
or here my original facebook post​
i comparing from another rom include this feature to pure CM11 base
big thanks to
Allah swt
my family
CyanogenMod
@ocoot
@bamzzz
@qoejohn
prabu siliwangi
anggi muhammad
syaeful anwar
deddy kitul
you
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk and JAR file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else ( i use apktool 1.5.2 )
download file recources below
Click to expand...
Click to collapse
Hey Great Guide!!Thank you for the willingness!Please could you make a guide on how to port Hover to cm11 ?Please it's so important for me and I've searched so many times on web but I haven't found nothing and I don't know how to do it,Please
ah..... great work sir :good: :fingers-crossed:
kitul..!!
Nice :good:
Ahmm .. Sir... I tried This one on cm11 ... but it doesnt force closes .. rather it gets black screen? i tried your guide twice .. but the same thing happens.. Please Help... BTw this guide is good
Thanks...
my Stock Kitkat 4.4.2 :good:
Can someone help me to upload cm 11 r26 statusbar without sim number indicator ??, my pc Hard disk got broken , lost all data, thanks
Thank you sir ,,
Micky99 said:
Hey Great Guide!!Thank you for the willingness!Please could you make a guide on how to port Hover to cm11 ?Please it's so important for me and I've searched so many times on web but I haven't found nothing and I don't know how to do it,Please
Click to expand...
Click to collapse
Hover is not easy because it gas so many commits with many additions and a lot of files changed
srisurya95 said:
Hover is not easy because it gas so many commits with many additions and a lot of files changed
Click to expand...
Click to collapse
Should I see your answer as a "no I won't help you",or do you mean you want to help me but it won't be easy?What's the problem?Do you think the hover related commits are too much for only two persons?
Micky99 said:
Should I see your answer as a "no I won't help you",or do you mean you want to help me but it won't be easy?What's the problem?Do you think the hover related commits are too much for only two persons?
Click to expand...
Click to collapse
I say its not possible/not so easy
srisurya95 said:
I say its not possible/not so easy
Click to expand...
Click to collapse
Dont you absolutely know some of the hover related commits?

Categories

Resources