[Galaxy Note 3 Android Development] jovy23:
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:

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:

[COLOR="Green"].method public static getEnableGroupMessage()Z[/COLOR]

NOW REMOVE:

[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:

[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:

[COLOR="Green"].method public static getEnableNGMGroupMessage()Z[/COLOR]

NOW REMOVE:

[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:

[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:

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:

[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:

.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:

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:

[COLOR="Green"].method public static getEnableSaveRestoreSDCardMessage()Z[/COLOR]
.registers 1

.prologue
.line 923
const/4 v0, 0x0

return v0
.end method

NOW CHANGE TO:

[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:

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:

[COLOR="Green"]const-string v11, "pref_key_sms_restore"[/COLOR]

Here is what it should look like, Now remove what you see in RED:

[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:

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:

[COLOR="Green"].method public static getEnableScheduledMessage()Z[/COLOR]
.registers 1

.prologue
.line 1047
const/4 v0, 0x0

return v0
.end method

NOW CHANGE TO:

[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:

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:

[COLOR="Green"].method public static getRecipientLimit()I[/COLOR]

NOW REMOVE:

[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:

[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:

[COLOR="Green"]sput v0, Lcom/android/mms/MmsConfig;->sRecipientLimit:I[/COLOR]

NOW REMOVE:

.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:

.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:

.

[COLOR="Green"]method public static getMaxRecipientLength()I[/COLOR]

NOW REMOVE:

[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:

[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:

[COLOR="Green"].method public static getMmsMaxRecipient()I[/COLOR]

NOW REMOVE:

[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:

[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:

[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:

.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:

[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:

.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!!!