[Q] PhoneNumberUtils - General Questions and Answers

hi,
im using samsung galaxy premier gt-i9260
the problem is
my friend call me , it doesn't show the contact info which i had save in google account ex: 8765 4321
but if i call him ex: +65 8765 4321, only will show his info.
i have try to merge the google account reboot
clear the contact n contact storage in application manager and reboot
resyn google contact n reboot
the problem still there
i failed to get the classes.dex in framework.jar (may be because jelly bean had change to others location?)
i falied to Edit file PhoneNumberUtils.smali under classes\android\telephony and set MIN_MATCH variable from:
.local v7, minMatchLen:I
const/4 v7, 0xb
.local v0, minMatchLen:I
const/4 v0, 0xb
Change to:
.local v7, minMatchLen:I
const/4 v7, 0x7
.local v0, minMatchLen:I
const/4 v0, 0x7
so i hope i can get helps from expert here

Related

[GUIDE][HOW-TO][JB-MIUI]3-Way Reboot Option and custom naming

If you like it then dont forget THANKS Button
Things You Need
-smabakv1(attached)- its easier for n00bs
-notepad++
-7-zip
-android.policy.jar(MIUI ROM)
-modded smali's(Attached)
Lets Start
1)Download smabakv1 its attached in post, extract it some where you can easily access it.
2)Copy your android.policy.jar to the directory where you extracted smabakv1.
3)Now run "Run Me.bat" and press 1 to decompile. you will get a classout folder.
4)navigate to "classout\com\android\internal\policy\impl\"
5)open "MiuiGlobalActions$SinglePressAction.smali" in notepad++
6)you need to add the highlighted code exactly where it is shown
Code:
.end annotation
[COLOR="RoyalBlue"][B]# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;[/B][/COLOR]
# instance fields
.field private mIconResId:I
Code:
.field private mTextview:Landroid/widget/TextView;
# direct methods
[COLOR="RoyalBlue"][B].method static constructor <clinit>()V
.registers 3
const/4 v0, 0x3
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "Normal"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "Recovery"
aput-object v2, v0, v1
const/4 v1, 0x2
const-string v2, "Bootloader"
aput-object v2, v0, v1
sput-object v0, Lcom/android/internal/policy/impl/MiuiGlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;
return-void
.end method[/B][/COLOR]
.method protected constructor <init>(II)V
.registers 3
.parameter "iconResId"
.parameter "messageResId"
7)now open "MiuiGlobalActions.smali" with notepad++ located in the same place.
8)search for "MiuiGlobalActions$3" and replace it with "MiuiGlobalActions$222"
99% of time you need to replace MiuiGlobalActions$3,.... but for some devices MiuiGlobalActions$x where x is a number, is diffrent
to find out which is yours
Code:
findstr /n /i /c:"rebootSafeMode" *
you should get something similar to this
Code:
invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowManagerFuncs;->rebootSafeMode()V
now that is your MiuiGlobalActions$x
just replace your MiuiGlobalActions$x with MiuiGlobalActions$222 in MiuiGlobalActions.smali
Click to expand...
Click to collapse
these two places you should change in MiuiGlobalActions.smali
Code:
new-instance v1, Lcom/android/internal/policy/impl/[B]MiuiGlobalActions$3[/B];
Code:
invoke-direct {v1, p0, v2, v3}, Lcom/android/internal/policy/impl/[B]MiuiGlobalActions$3[/B];-><init>(Lcom/android/internal/policy/impl/MiuiGlobalActions;II)V
Note: you need to replace it only in two places
this is for fun,... open "MiuiGlobalActions$222" in notepad++
look for "Reboot phone" and change it to what ever you want
Click to expand...
Click to collapse
Code:
invoke-direct {v1, v2}, Landroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V
const-string v2, "Reboot phone" [B][COLOR="Blue"]<------ Change it to what ever you want[/COLOR][/B]
invoke-virtual {v1, v2}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;
move-result-object v1
9)download modded smali's and place them in the same directory
"classout\com\android\internal\policy\impl\"
10)again run "run me.bat" and select 2 to recompile, you will get "classes.dex"
11)open your "android.policy.jar" in 7-zip and add the "classes.dex" to it,... yes replace it,...
12)push it to your phone, make a rom or do what ever you want from here,...
13)hit THANKS if you like it and feel it was useful
--------------------------------------------------------------------------------------------------------------------------------------
thanks to
Code:
kong, miui, android, kahvitahra, snq- and any1 whom ive forgotten please remind me
thank you sir!!
can you make something like this but to change the autobrightness ? like to default or to other values ?
thanks!!
ruizit0 said:
thank you sir!!
can you make something like this but to change the autobrightness ? like to default or to other values ?
thanks!!
Click to expand...
Click to collapse
maybe tmrw!!! or when i have free time,...
have u tried it on ur own? is it working?
also i have tried the same method from a diff source which was for ICS builds but it didnt work.
more to it, i dont have ShutdownThread;->reboot string in any smali present in IMPL!
Ozadroid said:
have u tried it on ur own? is it working?
also i have tried the same method from a diff source which was for ICS builds but it didnt work.
more to it, i dont have ShutdownThread;->reboot string in any smali present in IMPL!
Click to expand...
Click to collapse
sorry my mistake,... there is no more,... ShutdownThread;->reboot in jb
The smalis are modded for jb...
Which device ur in??? Or porting from where??
did you try replacing "MiuiGlobalActions$3" with "MiuiGlobalActions$222" ????
chiragkrishna said:
sorry my mistake,... there is no more,... ShutdownThread;->reboot in jb
The smalis are modded for jb...
Which device ur in??? Or porting from where??
did you try replacing "MiuiGlobalActions$3" with "MiuiGlobalActions$222" ????
Click to expand...
Click to collapse
nope i dint try urs.. will do it after i finish my work with Miui4 as Miui4.1 is not to the mark for my device!
Ozadroid said:
nope i dint try urs.. will do it after i finish my work with Miui4 as Miui4.1 is not to the mark for my device!
Click to expand...
Click to collapse
updated the guide,... it should be easier now,...
chiragkrishna said:
updated the guide,... it should be easier now,...
Click to expand...
Click to collapse
have you tried it by yourself?? or just posted ??
Thanks for the guide!
Is it possible to include Hot Boot Option? I really miss it
v1r0x said:
Thanks for the guide!
Is it possible to include Hot Boot Option? I really miss it
Click to expand...
Click to collapse
yes it is possible.. i'll just have to unpack my policy
Ozadroid said:
have you tried it by yourself?? or just posted ??
Click to expand...
Click to collapse
i had done that thing only,... but in the guide i screwed up,...
v1r0x said:
Thanks for the guide!
Is it possible to include Hot Boot Option? I really miss it
Click to expand...
Click to collapse
send me the android.policy.jar with HOT BOOT Option
v1r0x said:
Thanks for the guide!
Is it possible to include Hot Boot Option? I really miss it
Click to expand...
Click to collapse
chiragkrishna said:
i had done that thing only,... but in the guide i screwed up,...
send me the android.policy.jar with HOT BOOT Option
Click to expand...
Click to collapse
replace the below .method static constructor <clinit> in your guide and you'll get the 4-way Reboot !
Code:
.method static constructor <clinit>()V
.registers 4
const-string v2, "Droid"
sget-object v3, Landroid/os/Build;->MODEL:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_3b
const-string v2, "GT-I9000"
sget-object v3, Landroid/os/Build;->MODEL:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_3b
const/4 v0, 0x4
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "Normal"
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, "GT-I9100"
sget-object v3, Landroid/os/Build;->MODEL:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_2f
const-string v2, "Bootloader"
goto :goto_31
:cond_2f
const-string v2, "Download"
:goto_31
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/MiuiGlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;
goto :goto_4f
:cond_3b
const/4 v0, 0x3
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "Normal"
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, "Recovery"
aput-object v2, v0, v1
sput-object v0, Lcom/android/internal/policy/impl/MiuiGlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;
:goto_4f
return-void
.end method
Thanks Ozadroid, but I think Hot Boot doesn't work :/
After hit "Ok" the phone reboots including the htc splash screen. So I think it's a regular reboot?
@OP:
another question^^'
Any idea if it is possible to store the "reboot phone" line in a variable in framework-res or somethink like that?
Think this would be good for a multi lang rom
v1r0x said:
Thanks Ozadroid, but I think Hot Boot doesn't work :/
After hit "Ok" the phone reboots including the htc splash screen. So I think it's a regular reboot?
Click to expand...
Click to collapse
yeah i think so!
but try like this! make a call and try hot boot while the call goes on! if the call gets cut its a normal reboot, if not congrats
I have chinesse tablet
will the same script works on this jellybean tablet
too bad I am getting the following errors trying to recompile android.policy.jar
classout/com/android/internal/policy/impl/MiuiGlobalActions$222$1.smali[27,4] Error for input '.parameter': Invalid directive
classout/com/android/internal/policy/impl/MiuiGlobalActions$222$1.smali[42,4] Error for input '.parameter': Invalid directive
classout/com/android/internal/policy/impl/MiuiGlobalActions$222$1.smali[43,4] Error for input '.parameter': Invalid directive
classout/com/android/internal/policy/impl/MiuiGlobalActions$222$1.smali[42,15] mismatched input '"dialog"' expecting END_METHOD_DIRECTIVE
any help

[MOD][GUIDE] SecMms.apk TouchWiz Mods | For Galaxy Note 3 | December 19, 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 GROUP MESSAGING★
WHAT DOES THIS MOD DO: This mod will let you enable group messaging in the stock messaging app.
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools 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:
TO ENABLE GROUP MESSAGING...
SEARCH FOR:
Code:
[COLOR="Green"].method public static getEnableGroupMessage()Z[/COLOR]
NOW REMOVE:
Code:
[COLOR="Green"].method public static getEnableGroupMessage()Z[/COLOR]
.registers 3
.prologue
[COLOR="Red"]const/4 v0, 0x0[/COLOR]
.line 3378
invoke-static {}, Lcom/android/mms/MmsConfig;->getCMASProvider()I
move-result v1
const/4 v2, 0x3
if-ne v1, v2, :cond_9
.line 3382
:cond_8
:goto_8
return v0
.line 3380
:cond_9
invoke-static {}, Lcom/android/mms/MmsConfig;->getEnableMmsTransactionCustomize4Korea()Z
move-result v1
if-nez v1, :cond_8
.line 3382
[COLOR="Red"]sget-boolean v0, Lcom/android/mms/MmsConfig;->sEnableGroupMms:Z[/COLOR]
goto :goto_8
.end method
AND CHANGE TO:
Code:
[COLOR="Green"].method public static getEnableGroupMessage()Z[/COLOR]
.registers 3
.prologue
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]
.line 3378
invoke-static {}, Lcom/android/mms/MmsConfig;->getCMASProvider()I
move-result v1
const/4 v2, 0x3
if-ne v1, v2, :cond_9
.line 3382
:cond_8
:goto_8
return v0
.line 3380
:cond_9
invoke-static {}, Lcom/android/mms/MmsConfig;->getEnableMmsTransactionCustomize4Korea()Z
move-result v1
if-nez v1, :cond_8
.line 3382
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]
goto :goto_8
.end method
NOW SEARCH FOR:
Code:
[COLOR="Green"].method public static getEnableNGMGroupMessage()Z[/COLOR]
NOW REMOVE:
Code:
[COLOR="Green"].method public static getEnableNGMGroupMessage()Z[/COLOR]
.registers 1
.prologue
.line 1115
[COLOR="Red"]const/4 v0, 0x0[/COLOR]
return v0
.end method
AND CHANGE TO:
Code:
[COLOR="Green"].method public static getEnableNGMGroupMessage()Z[/COLOR]
.registers 1
.prologue
.line 1115
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]
return v0
.end method
Once done save your changes, now 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 v1, "pref_key_mms_group_mms"[/COLOR]
Here is what it should look like, Now remove what you see in RED:
Code:
.line 709
:cond_8b
[COLOR="Green"]const-string v1, "pref_key_mms_group_mms"[/COLOR]
invoke-virtual {p0, v1}, Lcom/android/mms/ui/MessagingPreferenceActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v1
[COLOR="Red"]invoke-direct {p0, v0, v1}, Lcom/android/mms/ui/MessagingPreferenceActivity;->removePreference(Landroid/preference/PreferenceGroup;Landroid/preference/Preference;)V[/COLOR]
Once done now save changes, Recompile your SecMms.apk and that's it your DONE!!!
★HOW TO ENABLE SAVE / RESTORE★
WHAT DOES THIS MOD DO: This mod will let you enable the save/restore feature so you can backup/restore any of your text/mms messages using the stock messaging app.
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools 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++, And what you see in "BLUE" is the line you have to make changes to:
TO ENABLE THE SAVE / RESTORE FEATURE...
FIND:
Code:
[COLOR="Green"].method public static getEnableSaveRestoreSDCardMessage()Z[/COLOR]
.registers 1
.prologue
.line 923
const/4 v0, 0x0
return v0
.end method
NOW CHANGE TO:
Code:
[COLOR="Green"].method public static getEnableSaveRestoreSDCardMessage()Z[/COLOR]
.registers 1
.prologue
.line 923
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]
return v0
.end method
Once done save your changes, now 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 v11, "pref_key_sms_restore"[/COLOR]
Here is what it should look like, Now remove what you see in RED:
Code:
[COLOR="Green"]const-string v11, "pref_key_sms_restore"[/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]
Once done now save changes, Recompile your SecMms.apk and that's it your DONE!!!
★HOW TO ENABLE SCHEDULED MESSAGING★
WHAT DOES THIS MOD DO: This mod will let you enable the scheduled messaging feature so you can schedule a time for text messages so the message can be send at the time that you set it to using the stock messaging app.
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools 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++, And what you see in "BLUE" is the line you have to make changes to:
TO ENABLE SCHEDULED MESSAGING...
FIND:
Code:
[COLOR="Green"].method public static getEnableScheduledMessage()Z[/COLOR]
.registers 1
.prologue
.line 1047
const/4 v0, 0x0
return v0
.end method
NOW CHANGE TO:
Code:
[COLOR="Green"].method public static getEnableScheduledMessage()Z[/COLOR]
.registers 1
.prologue
.line 1047
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]
return v0
.end method
Once done now save changes, 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.
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools 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]
.registers 1
.prologue
.line 762
[COLOR="Red"]sget v0, Lcom/android/mms/MmsConfig;->sRecipientLimit:I[/COLOR]
return v0
.end method
AND CHANGE TO:
Code:
[COLOR="Green"].method public static getRecipientLimit()I[/COLOR]
.registers 1
.prologue
.line 762
[COLOR="Blue"]const/16 v0, 0x3e8[/COLOR]
return v0
.end method
NOW SEARCH FOR:
Code:
[COLOR="Green"]sput v0, Lcom/android/mms/MmsConfig;->sRecipientLimit:I[/COLOR]
NOW REMOVE:
Code:
.line 167
const/16 v0, 0x280
sput v0, Lcom/android/mms/MmsConfig;->sMaxImageWidthRestrictedMode:I
.line 168
[COLOR="Red"]const/16 v0, 0x14[/COLOR]
[COLOR="Green"]sput v0, Lcom/android/mms/MmsConfig;->sRecipientLimit:I[/COLOR]
.line 169
const/16 v0, 0xc8
sput v0, Lcom/android/mms/MmsConfig;->sDefaultSMSMessagesPerThread:I
AND CHANGE TO:
Code:
.line 167
const/16 v0, 0x280
sput v0, Lcom/android/mms/MmsConfig;->sMaxImageWidthRestrictedMode:I
.line 168
[COLOR="Blue"]const/16 v0, 0x3e8[/COLOR]
[COLOR="Green"]sput v0, Lcom/android/mms/MmsConfig;->sRecipientLimit:I[/COLOR]
.line 169
const/16 v0, 0xc8
sput v0, Lcom/android/mms/MmsConfig;->sDefaultSMSMessagesPerThread:I
NOW SEARCH FOR:
.
Code:
[COLOR="Green"]method public static getMaxRecipientLength()I[/COLOR]
NOW REMOVE:
Code:
[COLOR="Green"].method public static getMaxRecipientLength()I[/COLOR]
.registers 1
.prologue
.line 2592
[COLOR="Red"]sget v0, Lcom/android/mms/MmsConfig;->sMaxRecipientLength:I[/COLOR]
return v0
.end method
AND CHANGE TO:
Code:
[COLOR="Green"].method public static getMaxRecipientLength()I[/COLOR]
.registers 1
.prologue
.line 2592
[COLOR="Blue"]const/16 v0, 0x3e8[/COLOR]
return v0
.end method
NOW SEARCH FOR:
Code:
[COLOR="Green"].method public static getMmsMaxRecipient()I[/COLOR]
NOW REMOVE:
Code:
[COLOR="Green"].method public static getMmsMaxRecipient()I[/COLOR]
.registers 1
.prologue
.line 2847
[COLOR="Red"]sget v0, Lcom/android/mms/MmsConfig;->sMmsRecipientLimit:I[/COLOR]
return v0
.end method
AND CHANGE TO:
Code:
[COLOR="Green"].method public static getMmsMaxRecipient()I[/COLOR]
.registers 1
.prologue
.line 2847
[COLOR="Blue"]const/16 v0, 0x3e8[/COLOR]
return v0
.end method
NOW SEARCH FOR:
Code:
[COLOR="Green"]sput v12, Lcom/android/mms/MmsConfig;->sMaxRecipientLength:I[/COLOR]
ABOVE THIS SAME LINE YOU HAVE TO ADD A NEW LINE WHICH IS IN BLUE:
Code:
.line 1811
const-string v12, "CscFeature_Message_MaxRecipientLengthAs"
invoke-virtual {v1, v12}, Lcom/sec/android/app/CscFeature;->getInteger(Ljava/lang/String;)I
move-result v12
[COLOR="Blue"]const/16 v12, 0x3e8[/COLOR]
[COLOR="Green"]sput v12, Lcom/android/mms/MmsConfig;->sMaxRecipientLength:I[/COLOR]
.line 1812
sget v12, Lcom/android/mms/MmsConfig;->sMinRecipientLength:I
NOW SEARCH FOR:
Code:
[COLOR="Green"]sput v1, Lcom/android/mms/MmsConfig;->sRecipientLimit:I[/COLOR]
ABOVE THIS SAME LINE YOU HAVE TO ADD A NEW LINE WHICH IS IN BLUE:
Code:
.line 2121
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;->sRecipientLimit:I[/COLOR]
.line 2122
const-string v1, "Mms/MmsConfig"
Once done now 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.
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools 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;->sSmsToMmsTextThreshold:I[/COLOR]
NOW REMOVE:
Code:
.line 176
sput-boolean v3, Lcom/android/mms/MmsConfig;->sAllowAttachAudio:Z
.line 179
[COLOR="Red"]const/4 v0, 0x4[/COLOR]
[COLOR="Green"]sput v0, Lcom/android/mms/MmsConfig;->sSmsToMmsTextThreshold:I[/COLOR]
AND CHANGE TO:
Code:
.line 176
sput-boolean v3, Lcom/android/mms/MmsConfig;->sAllowAttachAudio:Z
.line 179
[COLOR="Blue"]const/16 v0, 0x3e8[/COLOR]
[COLOR="Green"]sput v0, Lcom/android/mms/MmsConfig;->sSmsToMmsTextThreshold:I[/COLOR]
NOW SEARCH FOR:
Code:
[COLOR="Green"].method public static getSmsToMmsTextThreshold()I[/COLOR]
AND REMOVE:
Code:
[COLOR="Green"].method public static getSmsToMmsTextThreshold()I[/COLOR]
.registers 1
.prologue
.line 691
[COLOR="Red"]sget v0, Lcom/android/mms/MmsConfig;->sSmsToMmsTextThreshold:I[/COLOR]
return v0
.end method
AND CHANGE TO:
Code:
[COLOR="Green"].method public static getSmsToMmsTextThreshold()I[/COLOR]
.registers 1
.prologue
.line 691
[COLOR="Blue"]const/16 v0, 0x3e8[/COLOR]
return v0
.end method
NOW SEARCH FOR:
Code:
[COLOR="Green"]sput v1, Lcom/android/mms/MmsConfig;->sSmsToMmsTextThreshold:I[/COLOR]
ABOVE THIS SAME LINE YOU HAVE TO ADD A NEW LINE WHICH IS IN BLUE:
Code:
.line 2116
const-string v1, "pref_key_threshold"
const/4 v2, 0x4
invoke-interface {v0, v1, v2}, 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;->sSmsToMmsTextThreshold:I[/COLOR]
.line 2117
const-string v1, "Mms/MmsConfig"
Once done now save changes, Recompile your SecMms.apk and that's it you are now 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.
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools 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/transaction/SmsReceiverService.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:
SEARCH 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:
const-string v3, "address"
invoke-virtual {p1}, Landroid/telephony/SmsMessage;->getDisplayOriginatingAddress()Ljava/lang/String;
move-result-object v4
invoke-virtual {v1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
goto/16 :goto_43
.line 2640
:cond_14f
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_56
.end method
AND THEN CHANGE IT TO THIS:
Code:
const-string v3, "address"
invoke-virtual {p1}, Landroid/telephony/SmsMessage;->getDisplayOriginatingAddress()Ljava/lang/String;
move-result-object v4
invoke-virtual {v1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
goto/16 :goto_43
.line 2640
:cond_14f
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_56
.end method
NOW SEARCH FOR THE SAME LINE AGAIN:
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:
const-string v8, "address"
const-string v9, "CBmessages"
invoke-static {v9}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v9
invoke-virtual {v7, v8, v9}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 2948
const-string v8, "date"
[COLOR="Red"]invoke-static {}, Ljava/lang/System;->currentTimeMillis()J[/COLOR]
move-result-wide v10
invoke-static {v10, v11}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v9
invoke-virtual {v7, v8, v9}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
.line 2949
const-string v8, "protocol"
THEN CHANGE IT TO THIS:
Code:
const-string v8, "address"
const-string v9, "CBmessages"
invoke-static {v9}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v9
invoke-virtual {v7, v8, v9}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 2948
const-string v8, "date"
[COLOR="Blue"]invoke-virtual {v0}, Landroid/telephony/gsm/CbMessage;->getTimestampMillis()J[/COLOR]
move-result-wide v10
invoke-static {v10, v11}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v9
invoke-virtual {v7, v8, v9}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
.line 2949
const-string v8, "protocol"
NOTE: There should be more than two invoke-static {}, Ljava/lang/System;->currentTimeMillis()J, the ones you will be looking for will be under the "date" const-strings. First change will have the "address" const-string in it's code. The second change will have the "address" and also the "CBmessages" in it's code.
Once done 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.
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools 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 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"].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]
NOW SEARCH FOR:
Code:
[COLOR="Green"]const/16 v1, 0x64[/COLOR]
AND CHANGE IT TO:
Code:
[COLOR="Green"]const/16 v1,[/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 DONE!!!
★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 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 805
[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 807
:cond_76
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]
.registers 1
.prologue
.line 1072
invoke-static {}, Lcom/android/mms/MmsConfig;->hasLargerThan5inchScreen()Z
move-result v0
if-eqz v0, :cond_8
.line 1073
const/4 v0, 0x1
.line 1075
:goto_7
return v0
:cond_8
[COLOR="Red"]sget-boolean v0, Lcom/android/mms/MmsConfig;->sEnableSplitMode:Z[/COLOR]
goto :goto_7
.end method
AND CHANGE TO:
Code:
[COLOR="Green"].method public static getEnableSplitMode()Z[/COLOR]
.registers 1
.prologue
.line 1072
invoke-static {}, Lcom/android/mms/MmsConfig;->hasLargerThan5inchScreen()Z
move-result v0
if-eqz v0, :cond_8
.line 1073
const/4 v0, 0x1
.line 1075
:goto_7
return v0
:cond_8
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]
goto :goto_7
.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].
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools 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++, 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 156
[COLOR="Green"]sput-boolean v3, Lcom/android/mms/MmsConfig;->sMmsWidgetEnabled:Z[/COLOR]
.line 157
const v0, 0x4b000
sput v0, Lcom/android/mms/MmsConfig;->sMaxMessageSize:I
NOW CHANGE TO:
Code:
.line 156
[COLOR="Green"]sput-boolean v3, Lcom/android/mms/MmsConfig;->sMmsWidgetEnabled:Z[/COLOR]
.line 157
[COLOR="Blue"]const v0, 0x1f4000[/COLOR]
sput v0, Lcom/android/mms/MmsConfig;->sMaxMessageSize:I
INCREASE MMS IMAGE SIZE TO 4096x2048 [8.4MP]...
FIND:
Code:
.line 163
[COLOR="Green"]sput-object v4, Lcom/android/mms/MmsConfig;->sEmailGateway:Ljava/lang/String;[/COLOR]
.line 164
sget v0, Lcom/android/mms/MmsConfig;->MAX_IMAGE_HEIGHT:I
sput v0, Lcom/android/mms/MmsConfig;->sMaxImageHeight:I
.line 165
sget v0, Lcom/android/mms/MmsConfig;->MAX_IMAGE_WIDTH:I
sput v0, Lcom/android/mms/MmsConfig;->sMaxImageWidth:I
NOW CHANGE TO:
Code:
.line 163
[COLOR="Green"]sput-object v4, Lcom/android/mms/MmsConfig;->sEmailGateway:Ljava/lang/String;[/COLOR]
.line 164
[COLOR="Blue"]const/16 v0, 0x800[/COLOR]
sput v0, Lcom/android/mms/MmsConfig;->sMaxImageHeight:I
.line 165
[COLOR="Blue"]const/16 v0, 0x1000[/COLOR]
sput v0, Lcom/android/mms/MmsConfig;->sMaxImageWidth:I
Once done now save your changes, Recompile your SecMms.apk and that's it you are now DONE!
★HOW TO DISABLE SMS, MMS, AND EMAIL LOG HISTORY IN CALL LOGS★
WHAT DOES THIS MOD DO: This mod will permanently disable sms, mms, and email log history from your call logs.
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools 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/transaction/MessagingNotification.smali
Click to expand...
Click to collapse
Now open up "MessagingNotification.smali" with your notepad++ for editing.
Now for this part of this guide what your going to need to do is search for and remove all of the "invoke-virtual" lines that have "Landroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValuesLandroid/net/Uri;" in them, there should be like 4 or 5 of these lines you have to remove/delete. What you see in "RED" is the line you have to search for and also remove/delete completely:
SEARCH FOR:
Code:
[COLOR="Red"]Landroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;[/COLOR]
Then remove all of the lines from that search command in "RED" it will begin with "invoke-virtual" and end with "Landroid/net/Uri;". Here is an example below and remember what you see in "RED" is the line you have to search for and also remove/delete completely:
EXAMPLE:
Code:
.line 3316
:try_start_14b
sget-object v24, Lcom/android/mms/transaction/MessagingNotification;->LOG_SMS_URI:Landroid/net/Uri;
move-object/from16 v0, p3
move-object/from16 v1, v24
move-object/from16 v2, v23
[COLOR="Red"]invoke-virtual {v0, v1, v2}, Landroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;[/COLOR]
:try_end_156
.catch Landroid/database/sqlite/SQLiteException; {:try_start_14b .. :try_end_156} :catch_1c2
Once you remove like 4 or 5 of those lines with "Landroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValuesLandroid/net/Uri;" in them and there is none left, save your changes, Recompile your SecMms.apk you are now DONE!
★HOW TO ENABLE THE SCREEN ON/OFF TOGGLE ★
WHAT DOES THIS MOD DO: This mod will let you enable the Screen on/off toggle so you will have a toggle to enable/disable the notification backlight when receiving text/mms messages using the stock messaging app.
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools 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++, And what you see in "BLUE" is the line you have to make changes to:
TO ENABLE THE SCREEN ON/OFF TOGGLE FEATURE...
FIND:
Code:
[COLOR="Green"].method public static getEnableNotificationBacklight()Z[/COLOR]
.registers 1
.prologue
.line 1245
sget-boolean v0, Lcom/android/mms/MmsConfig;->sEnableNotificationBacklight:Z
return v0
.end method
NOW CHANGE TO:
Code:
[COLOR="Green"].method public static getEnableNotificationBacklight()Z[/COLOR]
.registers 1
.prologue
.line 1245
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]
return v0
.end method
Once done save your changes, now 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_backlight"[/COLOR]
Here is what it should look like, Now remove what you see in RED:
Code:
.line 839
[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]
Once done now save changes, Recompile your SecMms.apk and that's it your DONE!!!
★HOW TO DISABLE THE SMS TO MMS AUTO-CONVERSION FOR EMOJI★
WHAT DOES THIS MOD DO: This mod will let you type emoji and it won't automatically convert it into MMS.
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools 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/ComposeMessageFragment.smali
Click to expand...
Click to collapse
Now open up "ComposeMessageFragment.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:
invoke-virtual/range {v19 .. v20}, Lcom/android/mms/data/WorkingMessage;->setEmojiRequiresMms(Z)V
SEARCH FOR THIS TWICE SINCE THERE ARE TWO OF THESE SAME GREEN LINES AND MAKE THE SAME CHANGES THAT YOU SEE IN BLUE!
NOW REMOVE:
Code:
.line 1403
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/mms/ui/ComposeMessageFragment;->mWorkingMessage:Lcom/android/mms/data/WorkingMessage;
move-object/from16 v19, v0
const/16 v20, 0x1
[COLOR="Red"]invoke-virtual/range {v19 .. v20}, Lcom/android/mms/data/WorkingMessage;->setEmojiRequiresMms(Z)V[/COLOR]
AND CHANGE TO:
Code:
.line 1403
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/mms/ui/ComposeMessageFragment;->mWorkingMessage:Lcom/android/mms/data/WorkingMessage;
move-object/from16 v19, v0
const/16 v20, 0x1
[COLOR="Blue"]invoke-static {}, Lcom/android/mms/MmsConfig;->getEnableEmoji()Z[/COLOR]
Once done now save changes, Recompile your SecMms.apk and that's it you are now DONE!!!
★HOW TO ENABLE FOLDER VIEW MODE★
WHAT DOES THIS MOD DO: This mod will let you enable the folder view mode feature which will let you see messages in a different way with a inbox, sentbox, outbox, draftbox, and push message folder category.
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools 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++, And what you see in "BLUE" is the line you have to make changes to:
TO ENABLE FOLDER VIEW MODE...
FIND:
Code:
[COLOR="Green"].method public static getEnableFolderView()Z[/COLOR]
.registers 1
.prologue
.line 2605
sget-boolean v0, Lcom/android/mms/MmsConfig;->sEnableFolderView:Z
return v0
.end method
NOW CHANGE TO:
Code:
[COLOR="Green"].method public static getEnableFolderView()Z[/COLOR]
.registers 1
.prologue
.line 2605
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]
return v0
.end method
Once done now save changes, Recompile your SecMms.apk and that's it your DONE!!!
reserved again...
another one just in case...
This was originally posted in the N900T T-Mobile Galaxy Note 3 Thread By Me Over Here --> Click Here. It will also work for all Samsung Galaxy Note 3 variants so ENJOY!
Can't wait to see these mods on the sprint version. Thanks for the hard work.
My Beast Note 3
The most important mod bro is to remove the stupid "message received confirmation" ringtone which replicates the same "incoming message" ringtone!
This is plain stupid and annoying!
OP updated! New mod "HOW TO ENABLE THE SCREEN ON/OFF TOGGLE".
Is it possible to add a mod for a quick reply popup + a preview of the message, that would be brilliant.
Hi and thanks for this work you are ?
Envoyé de mon SM-N9005 en utilisant Tapatalk
tarekkkkk said:
Is it possible to add a mod for a quick reply popup + a preview of the message, that would be brilliant.
Click to expand...
Click to collapse
This this this this this!!!!
Wondering how you found all of these patches?
tarekkkkk said:
Is it possible to add a mod for a quick reply popup + a preview of the message, that would be brilliant.
Click to expand...
Click to collapse
Yes
Sent from my SM-N900T
Is there a way to increase the MMS size past 2MB?
wow wow wow great work!!!
Jovy23 thanks for this great guide.
I used the T-Mobile guide for the Verizon s4. Fantastic guide.
As this one, but my search didn't show this one till now.
I was also able to get message blocking to work as well.
I could share the info I found if anyone is interested..
Thanks again
Sent from my SCH-I545 using Tapatalk
SecMms.apk
Hi jovy23
Is it possible to change the font and font color of my mms (on Galaxy s2) without changing the menu or system fonts?
Thank you
★HOW TO DISABLE THE SMS TO MMS AUTO-CONVERSION WITH EMOJI★
WHAT DOES THIS MOD DO: This mod will let you type emoji and it won't automatically convert it into MMS.
★ Go into your system/app folder and take out your "SecMms.apk"
★ Then use one of the applications such as apktools 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/ComposeMessageFragment.smali
Click to expand...
Click to collapse
Now open up "ComposeMessageFragment.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"]invoke-virtual/range {v19 .. v20}, Lcom/android/mms/data/WorkingMessage;->setEmojiRequiresMms(Z)V[/COLOR]
THIS FOR 2 TIMES!
NOW REMOVE:
Code:
.line 1403
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/mms/ui/ComposeMessageFragment;->mWorkingMessage:Lcom/android/mms/data/WorkingMessage;
move-object/from16 v19, v0
const/16 v20, 0x1
[COLOR="Red"]invoke-virtual/range {v19 .. v20}, Lcom/android/mms/data/WorkingMessage;->setEmojiRequiresMms(Z)V[/COLOR]
AND CHANGE TO:
Code:
.line 1403
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/mms/ui/ComposeMessageFragment;->mWorkingMessage:Lcom/android/mms/data/WorkingMessage;
move-object/from16 v19, v0
const/16 v20, 0x1
[COLOR="Blue"]invoke-static {}, Lcom/android/mms/MmsConfig;->getEnableEmoji()Z[/COLOR]
Once done now save changes, Recompile your SecMms.apk and that's it you are now DONE!!!
Press THANKS if I help you!
OP updated with two new mods "HOW TO DISABLE THE SMS TO MMS AUTO-CONVERSION FOR EMOJI" and "HOW TO ENABLE FOLDER VIEW MODE".
@jovy23 question brudda,xnote7 has been ported to ATT. the secmms does dot have the group texting enabled. i made the changes but here is my problem!!! with a reboot, the group messaging option does not show up no does it work. now heres when it get tricky, if i do a quick reboot and the devices powers back on the group messaging option shows up under settings and it works!!! now u do another full reboot and it disappears, and again the only way to get it to show up is doing a quick reboot. any ideas brudda???
Does Sprint Note 3's have Smali Folders?
I'm not a noob. I'm pretty knowledgeable about Decompiling and etc., but after I do so, I don't have a smli folder... Only assets and res folders, THEN AndroidManifest.XML and apktool.yml
is it possible that my apk for SecMms doesn't have a Smali folder for me to INCREASE THE IMAGE SIZE? PLEASE HELP AND MERRY CHRISTMAS, THANKS IN ADVANCE.

[Guide] Create CSC features controller tab in settings menu

Hi guys,,
Today's tutorial will make us able to create new tab in settings menu by which we could control our ROM CSC features by toggles..
{
"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"
}
This tutorial will be divided into 2 main sections:
Section #1: Creating new tab in settings menu (ROM CSC features controller)
Section #2: Creating toggle listener in apk that contains the csc feature that we want to control
So let's start..
<< Section #1: Creating new tab in settings menu (ROM CSC features controller) >>​
First download the resources from attachment bellow.
- Decompile SecSettings.apk
- Navigate to res\xml folder and open settings_headers.xml and add this line wherever you want the new tab to appear in your settings menu later on:
Code:
<header android:icon="@drawable/ic_csc_controller" android:id="@id/csc_control" android:title="@string/csc_features_controller" android:fragment="com.android.settings.romhack.CscSettings" />
- Still in the same res\xml folder, paste csc_settings.xml there from resources file.
- Navigate to res\drawable-xhdpi folder and paste ic_csc_controller.png from resource file there.
- Navigate to res\values folder and open ids.xml file and add this line at the end:
Code:
<item type="id" name="csc_control">false</item>
- Navigate to res\values folder and open strings.xml and add these lines:
Code:
<string name="csc_features_controller">ROM CSC features controller</string>
<string name="how_csc_use">Tip:</string>
<string name="how_csc_use_summary">After you made your choices, you may need to restart your device in order to load some csc features changes</string>
<string name="glory_twlauncher">GloryROM TW Launcher CSC Features</string>
<string name="twlauncher_tilt">Transition tilt effect</string>
<string name="twlauncher_page_rotation">Home screens looping</string>
<string name="twlauncher_edit_mode">Home screen edit menu</string>
<string name="glory_twcontacts">GloryROM TW Contacts CSC Features</string>
<string name="twcontacts_photo">Contacts photos</string>
<string name="twcontacts_contacts_call_btn">Contacts list call buttons</string>
<string name="twcontacts_logs_call_btn">Logs list call buttons</string>
<string name="glory_twbrowser">GloryROM TW Browser CSC Features</string>
<string name="twbrowser_exit_option">Exit browser option</string>
<string name="twbrowser_exit_prompt">Exit prompt</string>
<string name="twbrowser_home_menu">Home page option</string>
<string name="glory_twsettings">GloryROM TW Settings CSC Features</string>
<string name="twsettings_call_msg_blk">Call/message block menu</string>
<string name="twsettings_data_reset_password">Factory data reset password</string>
<string name="twsettings_update_menu">Software update menu</string>
<string name="csc_off">Disabled</string>
<string name="csc_on">Enabled</string>
- Now you need to compile SecSettings.apk to create new ids in public.xml file..
- Now decompile the new SecSettings.apk, and go to res\values folder and open public.xml and locate this line:
Code:
<public type="xml" name="csc_settings" id="[B][COLOR="Red"]0x7f07008e[/COLOR][/B]" />
Remember that id, we will use it later.
- Now go to smali\com\android\settings folder and paste the folder romhack there from resource file.
- Now open the new folder romhack, and open CscSettings.smali
- Search for the method ".method public onCreate(Landroid/os/Bundle;)V" and change the id here to the one in public.xml before:
Code:
const v1, [B][COLOR="Red"]0x7f07008e[/COLOR][/B]
That's all for SecSettings.apk, compile and push to your phone and test it.. You should have extra tab with several check boxes inside but still not functioned yet..
Now we need to add check box listeners for each csc feature in different apks...
N.B:
I have put several comments on CscSettings.smali, so you could extend your csc list in future just by following the comments in the smali and add new values in csc_settings.xml and strings.xml
Click to expand...
Click to collapse
<< Section #2: Creating toggle listener in apk that contains the csc feature that we want to control >>​
Here, we will add check box listeners for each csc feature in different apks
Ok, let's start :victory:
★ TW Launcher ★
- Baksmali SecLauncher2.apk
- Navigate to classout\com\android\launcher2 folder and open Launcher.smali
- Search for "CscFeature_Launcher_HomeScreenEditMode" and add blue lines and delete red line (pay attention to condition value):
Code:
.line 299
.end local v0 # "IsProvisioned":Z
:cond_95
:goto_95
[B][COLOR="RoyalBlue"]invoke-virtual {p0}, Lcom/android/launcher2/Launcher;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v9
const-string v10, "edit_mode"
invoke-static {v9, v10, v13}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v9
if-eqz v9, :cond_a3[/COLOR] [COLOR="Green"]#<!-- The condition value should be the same as deleted red one bellow[/COLOR][/B]
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v9
const-string v10, "CscFeature_Launcher_HomeScreenEditMode"
invoke-virtual {v9, v10}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v9
[B][COLOR="RoyalBlue"]const/4 v9, 0x1[/COLOR][/B]
[B][COLOR="Red"]if-eqz v9, :cond_a3[/COLOR][/B]
- Search for "CscFeature_Launcher_DisableTiltEffect" and add blue lines and delete red line (pay attention to condition value):
Code:
.line 302
:cond_a3
[B][COLOR="RoyalBlue"]invoke-virtual {p0}, Lcom/android/launcher2/Launcher;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v9
const-string v10, "tilt_effect"
invoke-static {v9, v10, v13}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v9
if-nez v9, :cond_b1[/COLOR] [COLOR="Green"]#<!-- The condition value should be the same as deleted red one bellow[/COLOR][/B]
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v9
const-string v10, "CscFeature_Launcher_DisableTiltEffect"
invoke-virtual {v9, v10}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v9
[B][COLOR="RoyalBlue"]const/4 v9, 0x1[/COLOR][/B]
[B][COLOR="Red"]if-eqz v9, :cond_b1[/COLOR][/B]
Make sure of v13 is reflecting consta/4 vx, 0x0 flag if you scrolled up at the beginning of the same method which includes this csc feature... see here to understand:
Code:
.method protected onCreate(Landroid/os/Bundle;)V
.registers 16
.param p1, "savedInstanceState" # Landroid/os/Bundle;
.prologue
[B][COLOR="Red"]const/4 v13, 0x0[/COLOR][/B]
const/4 v12, 0x1
Click to expand...
Click to collapse
- Save changes.
- Navigate to classout\com\android\launcher2 folder and open PagedView.smali
- Search for method ".method private isLoopingDisabledInCSC()Z" and change the whole method to:
Code:
[B][COLOR="RoyalBlue"].method private isLoopingDisabledInCSC()Z
.registers 5
const/4 v0, 0x0
const/4 v1, 0x1
invoke-virtual {p0}, Lcom/android/launcher2/PagedView;->getContext()Landroid/content/Context;
move-result-object v2
invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
const-string v3, "page_rotation"
invoke-static {v2, v3, v0}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v2
if-eqz v2, :cond_majdinj
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v1
const-string v2, "CscFeature_Launcher_DisablePageRotation"
invoke-virtual {v1, v2}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v0
return v0
:cond_majdinj
return v1
.end method[/COLOR][/B]
- Save changes.. and compile
★ TW Contacts ★
- Baksmali SecContacts.apk
- Navigate to classout\com\android\contacts\list folder and open ContactEntryListAdapter.smali
- Search for ""CscFeature_Contact_DisableContactPhoto"" and add blue lines and delete red line (pay attention to condition value):
Code:
.method protected bindQuickContact(Lcom/android/contacts/list/ContactListItemView;ILandroid/database/Cursor;III)V
.registers 14
.param p1, "view" # Lcom/android/contacts/list/ContactListItemView;
.param p2, "partitionIndex" # I
.param p3, "cursor" # Landroid/database/Cursor;
.param p4, "photoIdColumn" # I
.param p5, "contactIdColumn" # I
.param p6, "lookUpKeyColumn" # I
.prologue
.line 764
[B][COLOR="RoyalBlue"]iget-object v0, p0, Lcom/android/contacts/list/ContactEntryListAdapter;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "contacts_list_photo"
const/4 v2, 0x0
invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
if-nez v0, :cond_10[/COLOR] [COLOR="Green"]#<!-- The condition value should be the same as deleted red one bellow[/COLOR][/B]
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v0
const-string v4, "CscFeature_Contact_DisableContactPhoto"
invoke-virtual {v0, v4}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v0
[B][COLOR="RoyalBlue"]const/4 v0, 0x1[/COLOR][/B]
[B][COLOR="Red"]if-eqz v0, :cond_10[/COLOR][/B]
- Save changes.
- Navigate to classout\com\android\contacts\list folder and open DefaultContactListAdapter.smali
- Search for ""CscFeature_Contact_EnableCallButtonInList"" and add blue lines and delete red line (pay attention to condition value):
Code:
.line 455
:goto_8b
[B][COLOR="RoyalBlue"]iget-object v2, p0, Lcom/android/contacts/list/DefaultContactListAdapter;->mContext:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
const-string v8, "contacts_list_call_btn"
const/4 v0, 0x0
invoke-static {v2, v8, v0}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v2
if-eqz v2, :cond_c4[/COLOR] [COLOR="Green"]#<!-- The condition value should be the same as deleted red one bellow[/COLOR][/B]
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v0
const-string v2, "CscFeature_Contact_EnableCallButtonInList"
invoke-virtual {v0, v2}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v0
[B][COLOR="RoyalBlue"]const/4 v0, 0x1[/COLOR][/B]
[B][COLOR="Red"]if-eqz v0, :cond_c4[/COLOR][/B]
iget-boolean v0, p0, Lcom/android/contacts/list/DefaultContactListAdapter;->mShowCallButton:Z
[B][COLOR="RoyalBlue"]const/4 v0, 0x1[/COLOR][/B]
[B][COLOR="Red"]if-eqz v0, :cond_c4[/COLOR][/B]
- Save changes.
- Navigate to classout\com\sec\android\app\dialertab\calllog and open CallLogAdapter.smali
- Search for ""CscFeature_Contact_EnableCallButtonInList"", there will be 2 results, we will be working on the 2nd one. Now add blue lines and delete red line (pay attention to condition value):
Code:
.line 1358
[B][COLOR="RoyalBlue"]move-object/from16 v0, p0
iget-object v5, v0, Lcom/sec/android/app/dialertab/calllog/CallLogAdapter;->mContext:Landroid/content/Context;
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v18
const-string v19, "logs_list_call_btn"
const/16 v20, 0x0
invoke-static/range {v18 .. v20}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v18
if-eqz v18, :cond_257[/COLOR] [COLOR="Green"]#<!-- The condition value should be the same as deleted red one bellow[/COLOR][/B]
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v5
const-string v6, "CscFeature_Contact_EnableCallButtonInList"
invoke-virtual {v5, v6}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v5
[B][COLOR="RoyalBlue"]const/4 v5, 0x1[/COLOR][/B]
[B][COLOR="Red"]if-eqz v5, :cond_257[/COLOR][/B]
- Save changes... Compile.
N.B: You may get FC if you open phone app, to overcome that, you need to set compiling compression level to 0 or drag and drop the modified classes.dex in the original SecContacts.apk then push to phone.
★ TW Browser ★
- Baksmali SecBrowser.apk
- Navigate to classout\com\android\browser folder and open Controller.smali
- In the method ".method goBackOnePageOrQuit()V" add extra register to accommodate our new code:
Code:
.method goBackOnePageOrQuit()V
[B][COLOR="Red"].registers 5[/COLOR][/B]
.prologue
it will be after adding new register like this:
Code:
.method goBackOnePageOrQuit()V
[B][COLOR="RoyalBlue"].registers 6[/COLOR][/B]
.prologue
- In the same method, search for "CscFeature_Web_EnablePromptToExit", there will be 3 results, we will be working on the first one. Now add blue lines and delete red line (pay attention to condition value):
Code:
.line 4117
:cond_31
[B][COLOR="RoyalBlue"]invoke-virtual {p0}, Lcom/android/browser/Controller;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "browser_exit_prompt"
const/4 v4, 0x0
invoke-static {v1, v2, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v1
if-eqz v1, :cond_49[/COLOR] [COLOR="Green"]#<!-- The condition value should be the same as deleted red one bellow[/COLOR][/B]
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v1
const-string v2, "CscFeature_Web_EnablePromptToExit"
invoke-virtual {v1, v2}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v1
[B][COLOR="RoyalBlue"]const/4 v1, 0x1[/COLOR][/B]
[B][COLOR="Red"]if-eqz v1, :cond_49[/COLOR][/B]
- Now in the method ".method public onPrepareOptionsMenu(Landroid/view/Menu;)Z", search for "CscFeature_Web_AddOptionToTerminate" and add blue lines and delete red line (pay attention to condition value):
Code:
.line 2318
:goto_58
[COLOR="RoyalBlue"][B]invoke-virtual {p0}, Lcom/android/browser/Controller;->getContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "browser_exit_option"
const/4 v2, 0x0
invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
if-eqz v0, :cond_71[/COLOR] [COLOR="Green"]#<!-- The condition value should be the same as deleted red one bellow[/COLOR][/B]
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v0
const-string v1, "CscFeature_Web_AddOptionToTerminate"
invoke-virtual {v0, v1}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v0
[B][COLOR="RoyalBlue"]const/4 v0, 0x1[/COLOR][/B]
[B][COLOR="Red"]if-eqz v0, :cond_71[/COLOR][/B]
- In the method ".method public onOptionsItemSelected(Landroid/view/MenuItem;)Z", search for "CscFeature_Web_AddOptionToTerminate" and add this blue line:
Code:
.line 2652
:pswitch_1b4
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v0
const-string v1, "CscFeature_Web_AddOptionToTerminate"
invoke-virtual {v0, v1}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v0
[B][COLOR="RoyalBlue"]const/4 v0, 0x1[/COLOR][/B]
if-eqz v0, :cond_2c
- In the method ".method public updateMenuState" search for "CscFeature_Web_EnableHomepageOption" and add blue lines and delete red line (pay attention to condition value):
Code:
.line 2351
[B][COLOR="RoyalBlue"]invoke-virtual {p0}, Lcom/android/browser/Controller;->getContext()Landroid/content/Context;
move-result-object v4
invoke-virtual {v4}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v7, "browser_home_page"
invoke-static {v4, v7, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
if-nez v4, :cond_5a[/COLOR] [COLOR="Green"]#<!-- The condition value should be the same as deleted red one bellow[/COLOR][/B]
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v4
const-string v7, "CscFeature_Web_EnableHomepageOption"
invoke-virtual {v4, v7}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v4
[B][COLOR="RoyalBlue"]const/4 v4, 0x1[/COLOR][/B]
[B][COLOR="Red"]if-nez v4, :cond_5a[/COLOR][/B]
Make sure of v2 is reflecting consta/4 vx, 0x0 flag if you scrolled up at the beginning of the same method which includes this csc feature... see here to understand:
Code:
.method public updateMenuState(Lcom/android/browser/Tab;Landroid/view/Menu;)V
.registers 14
.prologue
const v10, 0x7f0d0155
const v9, 0x7f0d0150
const v8, 0x7f0d0156
const/4 v1, 0x1
[B][COLOR="Red"]const/4 v2, 0x0[/COLOR][/B]
Click to expand...
Click to collapse
- Save changes... Compile.
★ TW Settings Menu ★
- Baksmali SecSettings.apk
- Navigate to classout\com\android\settings folder and open Settings.smali
- In the method ".method private updateHeaderList(Ljava/util/List;)V", search for ""CscFeature_Setting_EnableMenuBlockCallMsg"" and add blue lines and delete red line:
Code:
.line 596
[B][COLOR="RoyalBlue"]invoke-virtual {p0}, Lcom/android/settings/Settings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v6, "call_message_block"
invoke-static {v3, v6, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
if-eqz v3, :cond_majdinj[/COLOR][/B]
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v3
const-string v6, "CscFeature_Setting_EnableMenuBlockCallMsg"
invoke-virtual {v3, v6}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v3
[B][COLOR="RoyalBlue"]const/4 v3, 0x1[/COLOR][/B]
[B][COLOR="Red"]if-nez v3, :cond_23[/COLOR][/B]
.line 598
[B][COLOR="Red"]invoke-interface {p1, v0}, Ljava/util/List;->remove(Ljava/lang/Object;)Z[/COLOR][/B]
goto/16 :goto_23
Make sure of v2 is reflecting consta/4 vx, 0x0 flag if you scroll up at the beginning of the same method which includes this csc feature... see here to understand:
Code:
.method private updateHeaderList(Ljava/util/List;)V
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Landroid/preference/PreferenceActivity$Header;",
">;)V"
}
.end annotation
.prologue
const/4 v4, 0x1
[B][COLOR="Red"]const/4 v2, 0x0[/COLOR][/B]
Click to expand...
Click to collapse
- Copy the last 2 lines in the above code (goto_23 could differ according to ROM) and go to the end of method and add defined condition and those 2 lines:
Code:
:cond_2b7
move v0, v1
goto/16 :goto_55
[B][COLOR="RoyalBlue"]:cond_majdinj
invoke-interface {p1, v0}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
goto/16 :goto_23[/COLOR][/B]
.end method
- Save changes.
- Navigate to classout\com\android\settings folder and open SecuritySettings.smali
- In the method ".method private createPreferenceHierarchy()Landroid/preference/PreferenceScreen;", search for "CscFeature_Setting_EnableFactoryResetPasswordWhenNoSIM" and add blue lines and delete red line (pay attention to condition value):
Code:
.line 503
:cond_2f2
[B][COLOR="RoyalBlue"]invoke-virtual {p0}, Lcom/android/settings/SecuritySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v10
const-string v11, "security_data_reset_pass"
invoke-static {v10, v11, v13}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v10
if-eqz v10, :cond_32b[/COLOR] [COLOR="Green"]#<!-- The condition value should be the same as deleted red one bellow[/COLOR][/B]
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v10
const-string v11, "CscFeature_Setting_EnableFactoryResetPasswordWhenNoSIM"
invoke-virtual {v10, v11}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v10
[B][COLOR="RoyalBlue"]const/4 v10, 0x1[/COLOR][/B]
[B][COLOR="Red"]if-eqz v10, :cond_32b[/COLOR][/B]
Make sure of v13 is reflecting consta/4 vx, 0x0 flag if you scrolled up at the beginning of the same method which includes this csc feature... see here to understand:
Code:
.method private createPreferenceHierarchy()Landroid/preference/PreferenceScreen;
.registers 16
.prologue
const v12, 0x7f09001d
const/4 v14, 0x1
[B][COLOR="Red"]const/4 v13, 0x0[/COLOR][/B]
Click to expand...
Click to collapse
- Save changes.
- Navigate to classout\com\android\settings folder and open DeviceInfoSettings.smali
- Search for "CscFeature_Setting_DisableMenuSoftwareUpdate" and add blue lines and delete red line (pay attention to condition value):
Code:
.line 320
[B][COLOR="RoyalBlue"]invoke-virtual/range {p0 .. p0}, Lcom/android/settings/DeviceInfoSettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v24
const-string v25, "software_update_menu"
const/16 v26, 0x0
invoke-static/range {v24 .. v26}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v6
if-nez v6, :cond_315 [/COLOR] [COLOR="Green"]#<!-- The condition value should be the same as deleted red one bellow[/COLOR][/B]
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v24
const-string v25, "CscFeature_Setting_DisableMenuSoftwareUpdate"
invoke-virtual/range {v24 .. v25}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v24
[B][COLOR="RoyalBlue"]const/16 v24, 0x1[/COLOR][/B]
[B][COLOR="Red"]const/16 v25, 0x1
move/from16 v0, v24
move/from16 v1, v25
if-ne v0, v1, :cond_315[/COLOR][/B]
- Save changes... compile.
That's all... push all modified files into your device,,
Your new ROM CSC features controller is functioned properly now
Cheers,,
mine
just mine..!!
Yes yes. All yours mate.
nokiamodeln91 said:
Yes yes. All yours mate.
Click to expand...
Click to collapse
Lol,, thanks
Excellent guide mate. Thanks alot!!
Sent from my GT-N7000 using XDA Premium 4 mobile app
You are great bro. Really awesome:laugh:
You wrote that goto different on different Rom. And how to learn how to insert "goto" here?
:cond_2b7
move v0, v1
goto/16 :goto_55
:cond_majdinj
invoke-interface {p1, v0}, Ljava/util/List;->remove(Ljava/lang/ObjectZ
goto/16 :goto_23
.end method
Great guide..
Sent from my GT-S6310 using XDA Premium 4 mobile app
majdinj Phd.
Sent from my GT-N7000 using XDA Premium 4 mobile app
ildar2099 said:
You wrote that goto different on different Rom. And how to learn how to insert "goto" here?
:cond_2b7
move v0, v1
goto/16 :goto_55
:cond_majdinj
invoke-interface {p1, v0}, Ljava/util/List;->remove(Ljava/lang/ObjectZ
goto/16 :goto_23
.end method
Click to expand...
Click to collapse
The code for "CscFeature_Setting_EnableMenuBlockCallMsg" in Settings.smali before editing is looked like this:
Code:
.line 596
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v3
const-string v6, "CscFeature_Setting_EnableMenuBlockCallMsg"
invoke-virtual {v3, v6}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v3
if-nez v3, :cond_23
.line 598
invoke-interface {p1, v0}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
goto/16 :goto_23
Usually the condition values (cond_xxx), goto values (goto_xxx) will differ according to ROM firmware, device or compiler used.
After you made all changes to this code, copy the last 2 lines and paste them at the end of the method. Here the last 2 lines are:
Code:
.line 596
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v3
const-string v6, "CscFeature_Setting_EnableMenuBlockCallMsg"
invoke-virtual {v3, v6}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v3
if-nez v3, :cond_23
.line 598
[B][COLOR="Blue"]invoke-interface {p1, v0}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
goto/16 :goto_[COLOR="Red"]23[/COLOR][/COLOR][/B]
Whatever goto_value you have, just copy it..!!
And to call these 2 lines, add the condition definition line before these 2 lines, so it can be called by your new line "if-eqz v3, :cond_majdinj". So it will be like this at the end:
Code:
:cond_majdinj
invoke-interface {p1, v0}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
goto/16 :goto_[B][COLOR="Red"]23[/COLOR][/B]
.end method
And sorry for late response,, I got things to do here buddy
Cheers,,,
Very Nice! :good:
majdinj said:
The code for "CscFeature_Setting_EnableMenuBlockCallMsg" in Settings.smali before editing is looked like this:
Code:
.line 596
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v3
const-string v6, "CscFeature_Setting_EnableMenuBlockCallMsg"
invoke-virtual {v3, v6}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v3
if-nez v3, :cond_23
.line 598
invoke-interface {p1, v0}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
goto/16 :goto_23
Usually the condition values (cond_xxx), goto values (goto_xxx) will differ according to ROM firmware, device or compiler used.
After you made all changes to this code, copy the last 2 lines and paste them at the end of the method. Here the last 2 lines are:
Code:
.line 596
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v3
const-string v6, "CscFeature_Setting_EnableMenuBlockCallMsg"
invoke-virtual {v3, v6}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v3
if-nez v3, :cond_23
.line 598
[B][COLOR="Blue"]invoke-interface {p1, v0}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
goto/16 :goto_[COLOR="Red"]23[/COLOR][/COLOR][/B]
Whatever goto_value you have, just copy it..!!
And to call these 2 lines, add the condition definition line before these 2 lines, so it can be called by your new line "if-eqz v3, :cond_majdinj". So it will be like this at the end:
Code:
:cond_majdinj
invoke-interface {p1, v0}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
goto/16 :goto_[B][COLOR="Red"]23[/COLOR][/B]
.end method
And sorry for late response,, I got things to do here buddy
Cheers,,,
Click to expand...
Click to collapse
happened, but does not work
How
This mod working on my device, but how to make checked by default?
bamzzz said:
This mod working on my device, but how to make checked by default?
Click to expand...
Click to collapse
android:defaultValue="true"
For example...
before:
Code:
<CheckBoxPreference android:title="@string/twsettings_call_msg_blk" android:key="call_message_block" android:summaryOn="@string/csc_on" android:summaryOff="@string/csc_off" />
after:
Code:
<CheckBoxPreference android:title="@string/twsettings_call_msg_blk" android:key="call_message_block" [COLOR="Blue"]android:defaultValue="true"[/COLOR] android:summaryOn="@string/csc_on" android:summaryOff="@string/csc_off" />
Function does not work "Edit Page". What can you advise?
ildar2099 said:
Function does not work "Edit Page". What can you advise?
Click to expand...
Click to collapse
Have you read the tip???
"Some CSC needs restart to load changes"
ildar2099 said:
happened, but does not work
Click to expand...
Click to collapse
Can you post your smali mate. Please use
and
Code:
flag, so I can help you without need to download the smali :)
Nice one mate. This is awesome. I'll give it a go when I get some time one day. :good:

Guides Android 7 modding with main emphasis on S7edge this time

Guides Android 7
I decided after a long thinking about to open a new thread for modding guides for Android 7 because i see that there are much differences to older Android versions. So we keep up to date to make life easier. I hope all agree with me in that and share like me guides here. If you didnt agree with me keep your mind by yourself please and dont make my life harder
Thanks
Framework-res.apk and services.jar
How to add Reboot Recovery Android 7 Style with toggle
Services.jar
Howto remove confirm buttons in Reboot menue for shutoff and reboot
USB Plug/Unplug disable wake up with toggle in RomControl
How to hide (Power Menu) Emergency Button with a Toggle
How to hide (Power Menu) Power Off Button with a Toggle
How to Disable Signature Check
Remove Volume Safe Warning with checkbox
GooglePackageInstaller.apk
Granting permissions dialog - Ok button always available with window (or alert) overlays
SamsungCamera6.apk
Another way of using Camera Flash on low battery
SystemUI.apk
Guide - SysScope - Status = Official
SystemUI.apk
How to enable Lockscreen rotation with toggle in RomControl V2
How to unlock after reboot with fingerprint without pin or pattern
Network traffic indicator in status bar
GearUtils
How to open app if click on statusbar clock
Adaption for 6thGear Data Usage Preferences on the fly without observer and without CSC changes
Adaption of Gear device info in notification panel
Adaption of 6htGear Carrier label preferences - as ADDITION to 6thGear device info mod
How to Make Data Usage Center From Right in Notification Panelwithout RomControl
How to add virtual lock, recent and home button to statusbar with RomControl
Add Battery Bar to ROM
How to make a option to choose between Stock and 3Minit battery
Volume safe warning to be permanently disabled (at bottom of post)
SecSettings2.apk
Activate duration keys lighting in the setting
How to build 0.25x anmimation scale in developer options
Different mods
Nougat compatible -=V6=- 1060 FONTS
Whitepages /identify unsaved numbers
​
reserved1
How to add Reboot Recovery to power menu with toggle
Credits goes to @sagitt67 and @daxgirl .
Credits for toggle goes to @tdunham
Now after some fc and logcats of old guides i finished sucessfull the mod and share what i have done
We work in framework-res.apk and services.jar
Framework-res.apk
Download framework.zip
Paste files in same folders of decompiles freamework-res.apk
now open res/values/arrays.xml
find <string-array name="config_globalActionsList"> and add blue
Code:
<string-array name="config_globalActionsList">
<item>power</item>
<item>datamode</item>
<item>airplane</item>
<item>restart</item>
<item>lockdown</item>
<item>bugreport</item>
<item>users</item>
[COLOR="Blue"]<item>rebootrecovery</item>[/COLOR]
<item>emergencymode</item>
<item>subscreen</item>
<item>screenrec</item>
</string-array>
now go to res/values/strings.xml and add blue
Code:
<string name="charging_connected_via_usb">Charging connected device via USB...</string>
<string name="config_tspstate_threshold">10,32,768,10,60</string>
[COLOR="Blue"]<string name="tw_ic_do_rebootrecovery">Reboot Recovery</string>[/COLOR]
</resources>
done with framework-res.apk
recompile and push to phone
Services.jar
download services.zip and paste files in same folders of decompiles services.jar
open smali/com/android/server/policy/GlobalActions.smali
add blue line in # instance fields
Code:
.field mEmergencyStringId:I
[COLOR="Blue"].field private mRebootRecovery:Lcom/android/server/policy/GlobalActions$SinglePressAction;[/COLOR]
.field private mGlobalActionsFrameLayout:Landroid/app/GlobalActionsFrameLayout
find .method private createDialog()Lcom/android/server/policy/GlobalActions$GlobalActionsDialog;
add blue
Code:
if-eqz v4, :cond_8
const v4, 0x10809f4
:goto_4
const v6, 0x10406e2
move-object/from16 v0, p0
invoke-direct {v5, v0, v4, v6}, Lcom/android/server/policy/GlobalActions$20;-><init>(Lcom/android/server/policy/GlobalActions;II)V
move-object/from16 v0, p0
iput-object v5, v0, Lcom/android/server/policy/GlobalActions;->mRestart:Lcom/android/server/policy/GlobalActions$SinglePressAction;
[COLOR="blue"]new-instance v4, Lcom/android/server/policy/GlobalActions$47;
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/policy/GlobalActions;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v1, "tw_ic_do_rebootrecovery"
const-string v2, "drawable"
const-string v3, "android"
invoke-virtual {v0, v1, v2, v3}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v5
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/policy/GlobalActions;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v1, "tw_ic_do_rebootrecovery"
const-string v2, "string"
const-string v3, "android"
invoke-virtual {v0, v1, v2, v3}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v6
move-object/from16 v0, p0
invoke-direct {v4, v0, v5, v6}, Lcom/android/server/policy/GlobalActions$47;-><init>(Lcom/android/server/policy/GlobalActions;II)V
move-object/from16 v0, p0
iput-object v4, v0, Lcom/android/server/policy/GlobalActions;->mRebootRecovery:Lcom/android/server/policy/GlobalActions$SinglePressAction;[/COLOR]
invoke-static {}, Lcom/samsung/android/feature/SemCscFeature;->getInstance()Lcom/samsung/android/feature/SemCscFeature;
move-result-object v4
const-string/jumbo v5, "CscFeature_Common_ConfigBikeMode"
Now next part is tricky, add lines in blue and changes in green
Code:
const/16 v6, 0x80
const/4 v7, 0x1
move-object/from16 v0, p0
invoke-direct {v0, v6, v4, v5, v7}, Lcom/android/server/policy/GlobalActions;->addDialogItemsIfEnabled(ILcom/android/server/policy/GlobalActions$Action;Ljava/util/ArrayList;Z)Z
new-instance v4, Lcom/android/server/policy/GlobalActions$BugReportAction;
move-object/from16 v0, p0
invoke-direct {v4, v0}, Lcom/android/server/policy/GlobalActions$BugReportAction;-><init>(Lcom/android/server/policy/GlobalActions;)V
move-object/from16 v0, p0
iget-object v5, v0, Lcom/android/server/policy/GlobalActions;->mItems:Ljava/util/ArrayList;
[COLOR="Blue"]const/16 v6, 0x100
move-object/from16 v0, p0
iget-object v4, v0, Lcom/android/server/policy/GlobalActions;->mRebootRecovery:Lcom/android/server/policy/GlobalActions$SinglePressAction;
move-object/from16 v0, p0
iget-object v5, v0, Lcom/android/server/policy/GlobalActions;->mItems:Ljava/util/ArrayList;
const/4 v7, 0x1
move-object/from16 v0, p0
invoke-direct {v0, v6, v4, v5, v7}, Lcom/android/server/policy/GlobalActions;->addDialogItemsIfEnabled(ILcom/android/server/policy/GlobalActions$Action;Ljava/util/ArrayList;Z)Z [/COLOR]
const/16 v6, 0x200 [COLOR="Magenta"]#before was 0x100[/COLOR]
const/4 v7, 0x1
move-object/from16 v0, p0
invoke-direct {v0, v6, v4, v5, v7}, Lcom/android/server/policy/GlobalActions;->addDialogItemsIfEnabled(ILcom/android/server/policy/GlobalActions$Action;Ljava/util/ArrayList;Z)Z
now search for const-string/jumbo v4, "silent" and add blue line above it and delete red ones
green parts must match yellow part
Code:
const-string/jumbo v4, "emergencymode"
invoke-virtual {v4, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_15
move-object/from16 v0, p0
iget-object v4, v0, Lcom/android/server/policy/GlobalActions;->mItems:Ljava/util/ArrayList;
move-object/from16 v0, p0
iget-object v5, v0, Lcom/android/server/policy/GlobalActions;->mEmergency:Lcom/android/server/policy/GlobalActions$ToggleAction;
invoke-virtual {v4, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto/16 :[COLOR="Yellow"]goto_7[/COLOR] #look that green part match this
:cond_15
[COLOR="Blue"]const-string/jumbo v4, "rebootrecovery"
invoke-virtual {v4, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_asc1
move-object/from16 v0, p0
iget-object v4, v0, Lcom/android/server/policy/GlobalActions;->mItems:Ljava/util/ArrayList;
move-object/from16 v0, p0
iget-object v5, v0, Lcom/android/server/policy/GlobalActions;->mRebootRecovery:Lcom/android/server/policy/GlobalActions$SinglePressAction;
invoke-virtual {v4, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto/16 :[COLOR="Green"]goto_7 [/COLOR]
:cond_asc1[/COLOR]
const-string/jumbo v4, "silent"
next part is missing in Android 7 services.jar so we need to readd it for mod
find .method private addCustomDialogItems(Landroid/graphics/drawable/BitmapDrawable;Ljava/lang/String;Landroid/content/Intent;ILjava/util/ArrayListZ
add this above method
Code:
.method static synthetic access$500(Lcom/android/server/policy/GlobalActions;)Landroid/content/Context;
.locals 1
iget-object v0, p0, Lcom/android/server/policy/GlobalActions;->mContext:Landroid/content/Context;
return-object v0
.end method
thats it, recompile and push to phone
Note: For me one time i get after reboot a loop of phone restarts, only one time happens. If it happen i solved it with wipe dalvik-cache and cache
RomControl V2
Code:
<com.wubydax.romcontrol.v2.prefs.MySwitchPreference android:title="Reboot Recovery Button" android:key="reboot_recovery" android:defaultValue="false" android:summaryOn="Reboot Recovery will be shown" android:summaryOff="Currently removed" />
Interesting ,,
Howto remove confirm buttons in Reboot menue for shutoff and reboot
decompile
open services.jar/com/android/server/policy/GlobalActions
goto method
Code:
.method public constructor <init>(Landroid/content/Context;Landroid/view/WindowManagerPolicy$WindowManagerFuncs;)V
scroll down and find and delete this lines. ID´s maybe different
Code:
const v1, 0x1080a25
iput v1, p0, Lcom/android/server/policy/GlobalActions;->mPowerOffIconResId:I
const v1, 0x1080a26
iput v1, p0, Lcom/android/server/policy/GlobalActions;->mConfirmPowerOffIconResId:I
const v1, 0x1080a27
iput v1, p0, Lcom/android/server/policy/GlobalActions;->mRestartIconResId:I
const v1, 0x1080a28
iput v1, p0, Lcom/android/server/policy/GlobalActions;->mConfirmRestartIconResId:I
USB Plug/Unplug disable wake up with toggle in RomControl
Decompile Services.jar
Go to smali/com/android/server/power/PowerManagerService.smali
find and add blue and remoce red
Code:
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v2
invoke-direct {p0, v13, v11, v8}, Lcom/android/server/power/PowerManagerService;->shouldWakeUpWhenPluggedOrUnpluggedLocked(ZIZ)Z
move-result v1
[COLOR="Blue"]iget-object v5, p0, Lcom/android/server/power/PowerManagerService;->mContext:Landroid/content/Context;
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const v4, 0x1
const-string/jumbo v6, "usb_plugged"
invoke-static {v5, v6, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
if-eqz v4, :cond_4[/COLOR] [COLOR="Magenta"]# this cond must match :cond after that line[/COLOR]
if-eqz v1, :cond_4
if-eqz v12, :cond_4
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
iget-object v4, p0, Lcom/android/server/power/PowerManagerService;->mScreenOnReason:Ljava/lang/String;
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string/jumbo v4, " powered change"
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/android/server/power/PowerManagerService;->mScreenOnReason:Ljava/lang/String;
[COLOR="red"] const/16 v1, 0xb
iput v1, p0, Lcom/android/server/power/PowerManagerService;->mLastWakeUpReason:I[/COLOR]
const-string/jumbo v4, "android.server.power:POWER"
RomControl
Code:
<com.wubydax.romcontrol.v2.prefs.MySwitchPreference android:title="USB plug in/out wakeup" android:icon="@drawable/usb" android:key="usb_plugged" android:defaultValue="true" android:summaryOn="On" android:summaryOff="Off" />
Thx for helping for this mod to great @thereassaad
How to hide (Power Menu) Emergency Button with a Toggle
First of all thx @tdunham for original guide here
Services.jar
open smali/com/android/server/policy/GlobalActions$16.smali
Search for followed text to be sure you have right smali. If you not find search in other GlobalAction$.......... smalis for that key
Code:
"EmergencyMode"
Replace method with below
Code:
.method public showConditional()Z
.locals 4
const/4 v0, 0x0
const/4 v1, 0x1
iget-object v2, p0, Lcom/android/server/policy/GlobalActions$16;->this$0:Lcom/android/server/policy/GlobalActions; [COLOR="Magenta"]#ThisGlobalActions$16 must match your smali[/COLOR]
# getter for: Lcom/android/server/policy/GlobalActions;->mContext:Landroid/content/Context;
invoke-static {v2}, Lcom/android/server/policy/GlobalActions;->access$500(Lcom/android/server/policy/GlobalActions;)Landroid/content/Context;
move-result-object v2
invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
const-string v3, "power_emergency"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v2
if-ne v2, v0, :cond_0
:goto_0
return v0
:cond_0
move v0, v1
goto :goto_0
.end method
Now we go to main smali
open smali/com/android/server/policy/GlobalActions.smali
search for this method. On Android 7 it never excist so we have to add it. Maybe its there from earlier mods so only check if there or not and add if not above
method: .method private addCustomDialogItems(Landroid/graphics/drawable/BitmapDrawable;Ljava/lang/String;Landroid/content/Intent;ILjava/util/ArrayListZ
Code:
.method static synthetic access$500(Lcom/android/server/policy/GlobalActions;)Landroid/content/Context;
.locals 1
iget-object v0, p0, Lcom/android/server/policy/GlobalActions;->mContext:Landroid/content/Context;
return-object v0
.end method
RomControl
Code:
<com.wubydax.romcontrol.v2.prefs.MySwitchPreference android:title="Emergency Mode Button" android:key="power_emergency" android:defaultValue="true" android:summaryOn="Emergency mode will be shown" android:summaryOff="Currently removed" />
Thx again to get it to work on Android 6.9.1 @tdunham
How to unlock after reboot with fingerprint without pin or pattern
decompile SystemUI.apk
Go to smali/com/android/keyguard
open Keyguardupdatemonitor.smali
add blue
Code:
.method private isFingerprintDisabled(I)Z
..................
:goto_0
[COLOR="Blue"]const/4 v1, 0x0 [/COLOR]
return v1
:cond_0
invoke-virtual {p0}, Lcom/android/keyguard/KeyguardUpdateMonitor;->isSimPinSecure()Z
move-result v1
goto :goto_0
.end method
Code:
.method public isUnlockCompleted()Z
........................................
move-result v0
[COLOR="blue"]const/4 v0, 0x1 [/COLOR]
return v0
.end method
Code:
.method public isUnlockWithFingerprintPossible(I)Z
............................................
:cond_3
[COLOR="blue"]const/4 v0, 0x1[/COLOR]
return v1
.end method
Open KeyguardUpdateMonitor$StrongAuthTracker.smali
add blue
Code:
.method public isUnlockingWithFingerprintAllowed()Z
.locals 2
.prologue
const/4 v0, 0x0
.line 936
iget-object v1, p0, Lcom/android/keyguard/KeyguardUpdateMonitor;->mStrongAuthTracker:Lcom/android/keyguard/KeyguardUpdateMonitor$StrongAuthTracker;
invoke-virtual {v1}, Lcom/android/keyguard/KeyguardUpdateMonitor$StrongAuthTracker;->isUnlockingWithFingerprintAllowed()Z
move-result v1
[COLOR="Blue"]const/4 v1, 0x1 [/COLOR]
if-eqz v1, :cond_0
.line 937
sget v1, Lcom/android/keyguard/KeyguardUpdateMonitor;->sCurrentUser:I
invoke-virtual {p0, v1}, Lcom/android/keyguard/KeyguardUpdateMonitor;->hasFingerprintUnlockTimedOut(I)Z
move-result v1
if-eqz v1, :cond_1
.line 936
:cond_0
:goto_0
return v0
.line 937
:cond_1
const/4 v0, 0x1
goto :goto_0
.end method
recompile
Thx @sanoc69
How to Disable Signature Check
Decompil Services.jar
Go into smali\com\android\server\pm\PackageManagerService. smali
Search for :
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
Replace the entire .method with this one:
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.locals 7
const/4 v0, 0x0
return v0
.end method
Recompil Services.jar
Done
Now you can install any application with different signature
Thanks to @one_love_420
To move the network traffic indicator to the left of the status bar, follow the guide (amazing) by @daxgirl but in the 6th step, add the
Code:
<com.android.wubydax.NetworkTraffic android:layout_width="wrap_content" android:layout_height="fill_parent" />
after:
Code:
<LinearLayout android:orientation="horizontal" android:id="@id/status_bar_contents" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingStart="@dimen/status_bar_padding_start" android:paddingEnd="@dimen/status_bar_padding_end">
screenshot:
{
"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"
}
Thanks to @daxgirl for pointing it out
@asc1977
How can we deodex nougat firmware? SVADeodexer doesn't work anymore for nougat
intxeon said:
@asc1977
How can we deodex nougat firmware? SVADeodexer doesn't work anymore for nougat
Click to expand...
Click to collapse
Use superr kitchen
Use smali/baksmali method
If asked ktichen to delete meta-inf folders say no
After all copy arm and arm64 folders from odex framework to deodwx framework. Thats all and it boot. I think newest assayad tool do ot byself
asc1977 said:
Use superr kitchen
Use smali/baksmali method
If asked ktichen to delete meta-inf folders say no
After all copy arm and arm64 folders from odex framework to deodwx framework. Thats all and it boot. I think newest assayad tool do ot byself
Click to expand...
Click to collapse
Thanks
I searched assayad tool on this forum but I can't find it
intxeon said:
Thanks
I searched assayad tool on this forum but I can't find it
Click to expand...
Click to collapse
Are u sure ..
http://forum.xda-developers.com/showthread.php?t=3410545
asc1977 said:
Use superr kitchen
Use smali/baksmali method
If asked ktichen to delete meta-inf folders say no
After all copy arm and arm64 folders from odex framework to deodwx framework. Thats all and it boot. I think newest assayad tool do ot byself
Click to expand...
Click to collapse
yes..that kitchen it´s awesome..
a thousand thank´s for sharing your mods mate.. really....
im new on this mods stuff.. and i was looking for the advance reboot menu on nougat...
best regards
Yes, Assayyed Kitchen can now deodex Nougat Beta with last version. You dont need to add or remove anything
gvmiguez said:
Yes, Assayyed Kitchen can now deodex Nougat Beta with last version. You dont need to add or remove anything
Click to expand...
Click to collapse
you mean not need to be added arms folder to framework folder ?
No, the kitchen keeps both folders on framework when deodex finish
Adaption for 6thGear Data Usage Preferences on the fly without observer and without CSC changes
First of all thy @daxgirl for her great mod here and press the thanks button
For Nougat we need some adaptions. To get it to work i needed a additional step which need GearUtils. Also on/off is not on the fly anymore but all other settings. So follow guide but replace followed steps:
1. navigate to here because feature.smali now SystemUIRuine.smali:
Code:
smali/com/android/systemui/SystemUIRune.smali
2. search for that boolean because is also changed:
Code:
sput-boolean v0, Lcom/android/systemui/SystemUIRune;->SUPPORT_QUICKPANEL_DATAUSAGE:Z
3. Didnt use daxgirls step 3.
Do the followed: remove red and add blue (GearUtils must be a content of your SystemUi.apk, if not you get FC)
and increase locals from 6 to 8
Code:
[COLOR="Red"] invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v0
const-string v1, "CscFeature_SystemUI_SupportDataUsageViewOnQuickPanel"
invoke-virtual {v0, v1, v2}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;Z)Z
move-result v0
sput-boolean v0, Lcom/android/systemui/SystemUIRune;->SUPPORT_QUICKPANEL_DATAUSAGE:Z[/COLOR]
[COLOR="Blue"] const/4 v6, 0x1
const-string v7, "asc_data_usage_visibility"
invoke-static {v7, v6}, Lcom/android/wubydax/GearUtils;->getDbIntForKey(Ljava/lang/String;I)I
move-result v7
if-nez v7, :cond_asc2
const/4 v0, 0x0
sput-boolean v0, Lcom/android/systemui/SystemUIRune;->SUPPORT_QUICKPANEL_DATAUSAGE:Z
goto :goto_asc1
:cond_asc2
const/4 v0, 0x1
sput-boolean v0, Lcom/android/systemui/SystemUIRune;->SUPPORT_QUICKPANEL_DATAUSAGE:Z
:goto_asc1[/COLOR]
4. Goto smali/com/android/systemui/statusbar/phone/PhoneStatusBar.smali
you see its also never on same place like guided before
find
Code:
sget-boolean v0, Lcom/android/systemui/SystemUIRune;->SUPPORT_QUICKPANEL_DATAUSAGE:Z
replace with
Code:
invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->isDataUsageEnabled()Z
move-result v0
5. add above that method the new method from step7 of daxgirls guide but replace the pathes to new one which now
Lcom/android/systemui/statusbar/phone/PhoneStatusBar and never Lcom/android/systemui/statusbar/phone/NotificationPanelView because the smali changed
6.add at bottom of smali/com/android/systemui/qs/DataUsageView.smali the new method of step8 of daxgirls guide but also you have to change the path inside method to new one which is Lcom/android/systemui/qs/DataUsageView and not Lcom/android/systemui/statusbar/phone/DataUsageView
7.Is same like step 9 of daxgirls guide
RomControl
Same like on daxgirls guide
@asc1977,
Hi bro,
Many Thanks for this great thread !

[Tutorial][Nougat]How to remove lockscreen albumart while playing music

Hey Guys this a simple Toutourial to how to remove lockscreen albumart while playing music
Huge thanks to @niaboc79 he actually did a toutorial for android 5 and i just want to make it for android 7.
so lets begin
always remember to take a backup before doing this steps
first u need decompile systemui.apk which is locate it in system/priv-apps/systemUI/SystemUI.apk
then locate to SystemUI.apk\smali\com\android\systemui\statusbar\phone
and look for PhoneStatusBar.smali and if u couldn't find it there search the smali file in smali folder then u can find it.
so after than u need to open it look for this method
.method public updateMediaMetaData(ZZ)V
the last (ZZ)V maybe diffrent in some phones so u delete that and search the method.
so in that method we need to bypass the lockscreen album art commond
===============================================================
this is the method it may have a diffrent numbers u need to find green number which is cond 2 and change 2 to 3
Code:
.method public updateMediaMetaData(ZZ)V
.locals 12
iget-object v7, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBackdrop:Lcom/android/systemui/statusbar/BackDropView;
if-nez v7, :cond_0
return-void
:cond_0
iget-boolean v7, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mLaunchTransitionFadingAway:Z
if-eqz v7, :cond_1
iget-object v7, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBackdrop:Lcom/android/systemui/statusbar/BackDropView;
const/4 v8, 0x4
invoke-virtual {v7, v8}, Lcom/android/systemui/statusbar/BackDropView;->setVisibility(I)V
return-void
:cond_1
const/4 v2, 0x0
iget-object v7, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mMediaMetadata:Landroid/media/MediaMetadata;
if-eqz v7, :cond_[COLOR="Lime"]2[/COLOR]
so when u change 2 to 3 u need to remove the cond 2 part which is under the move-result-object v1
which is this part:
Code:
[COLOR="red"]:cond_2
if-eqz v1, :cond_3
new-instance v2, Landroid/graphics/drawable/BitmapDrawable;
iget-object v7, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBackdropBack:Landroid/widget/ImageView;
invoke-virtual {v7}, Landroid/widget/ImageView;->getResources()Landroid/content/res/Resources;
move-result-object v7
invoke-direct {v2, v7, v1}, Landroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/content/res/Resources;Landroid/graphics/Bitmap;)V[/COLOR]
u need delete all of this red code
then save the smali file and recompile with original signature
and put it back on ur phone by insertig that on flashable zip file i will put one in attachments and u need to have 2 copy of that
and u need to place original system ui in one and modified one in the other so if anything goes wrong u can flash back the original and
try again to fix ur problem .
my telegram id is @demondodge
and if u like my little tutorial hit the thanks button .
hope it works for you.
Screen Shots
Screen Shots

Categories

Resources