[T-Mobile, Samsung Galaxy SIII] 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 THE SCREEN ON/OFF TOGGLE AND ADD THE VIBRATION, SIGNATURE OPTIONS★

WHAT DOES THIS MOD DO: This mod will let you enable the Screen on/off toggle, vibration, and signature options in the messaging app.

STEP 1

★ Go into your system/app folder and take out your "SecMms.apk"

★ Then use one of the applications such as apktools or apkmanager and then use the commands to decompile the SecMms.apk

★ Once you have decompiled the SecMms.apk, go to:

Now open up "mms.config.xml" with Notepad++ then go and find:

<bool name="enable_screen_onoff_option">false</bool>
<bool name="enable_signature_settings">false</bool>
<bool name="enable_vibration_option">false</bool>
<bool name="enable_signature">false</bool>

Now what your going to do is where it says "false" your going to change it to "true" to enable it. Once done it will look something like this:

<bool name="enable_screen_onoff_option">true</bool>
<bool name="enable_signature_settings">true</bool>
<bool name="enable_vibration_option">true</bool>
<bool name="enable_signature">true</bool>

Now save this file with the new edits with Notepad++ and head to the next step!

STEP 2

Once your done enabling the bools, now you have to go into:

Now open up "MessagingPreferenceActivity.smali" with your notepad++ for editing.

For this part of the guide what i have highlighted in "GREEN" text is what you have to find using Notepad++ which all should be almost towards the bottom of the file, So what you see in "RED" is the line you have to remove/delete completely which is the "invoke-direct" line which has "removePreference" in it:

FIND:

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

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

.line 813
invoke-virtual {p0}, Lcom/android/mms/ui/MessagingPreferenceActivity;->getPreferenceScreen()Landroid/preference/PreferenceScreen;

move-result-object v10

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

invoke-virtual {p0, v11}, Lcom/android/mms/ui/MessagingPreferenceActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;

move-result-object v11

[COLOR="Red"]invoke-direct {p0, v10, v11}, Lcom/android/mms/ui/MessagingPreferenceActivity;->removePreference(Landroid/preference/PreferenceGroup;Landroid/preference/Preference;)V[/COLOR]

.line 824
:cond_10
:goto_5
invoke-static {}, Lcom/android/mms/MmsConfig;->getDisableConvertingEffectBetweenSMSMMS()Z

move-result v10

if-eqz v10, :cond_11

FIND:

[COLOR="Green"]const-string v10, "pref_notification_settings"[/COLOR]

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

.line 825
[COLOR="Green"]const-string v10, "pref_notification_settings"[/COLOR]

invoke-virtual {p0, v10}, Lcom/android/mms/ui/MessagingPreferenceActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;

move-result-object v1

check-cast v1, Landroid/preference/PreferenceCategory;

.line 826
.local v1, MmsCategory:Landroid/preference/PreferenceCategory;
const-string v10, "pref_key_mms_change_over_alarm"

invoke-virtual {p0, v10}, Lcom/android/mms/ui/MessagingPreferenceActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;

move-result-object v10

[COLOR="Red"]invoke-direct {p0, v1, v10}, Lcom/android/mms/ui/MessagingPreferenceActivity;->removePreference(Landroid/preference/PreferenceGroup;Landroid/preference/Preference;)V[/COLOR]

FIND:

[COLOR="Green"]const-string v10, "pref_key_backlight"[/COLOR]

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

.line 767
[COLOR="Green"]const-string v10, "pref_key_backlight"[/COLOR]

invoke-virtual {p0, v10}, Lcom/android/mms/ui/MessagingPreferenceActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;

move-result-object v10

[COLOR="Red"]invoke-direct {p0, v2, v10}, Lcom/android/mms/ui/MessagingPreferenceActivity;->removePreference(Landroid/preference/PreferenceGroup;Landroid/preference/Preference;)V[/COLOR]

Now once your done with modifying the "MessagingPreferenceActivity.smali", Recompile your SecMms.apk using apktool or smali commands and your DONE! You should now see the Screen On/Off Toggle in the Messaging app Settings! Also if you didn't have the vibration or signature options in your Messaging app settings this guide will also enable it! Enjoy!

★HOW TO ENABLE THE TOUCHWIZ GROUP MESSAGING, SAVE / RESTORE, AND SCHEDULED MESSAGING FEATURES★

WHAT DOES THIS MOD DO: This mod will let you enable some features in the messaging app such as group messaging, save / restore, and also the scheduled messaging.

STEP 1

★ Go into your system/app folder and take out your "SecMms.apk"

★ Then use one of the applications such as apktools or apkmanager and then use the commands to decompile the SecMms.apk

★ Once you have decompiled the SecMms.apk, go to:

Now open up "MmsConfig.smali" with your notepad++ for editing.

Now for this part of this guide what i have highlighted in "GREEN" text is what you have to find using Notepad++, And what you see in "BLUE" is the line you have to make changes to:

TO ENABLE GROUP MESSAGING...

FIND:

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

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

return v0
.end method

NOW CHANGE TO:

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

.prologue
.line 766
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]

return v0
.end method

TO ENABLE THE SAVE / RESTORE FEATURE...

FIND:

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

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

return v0
.end method

NOW CHANGE TO:

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

.prologue
.line 774
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]

return v0
.end method

TO ENABLE SCHEDULED MESSAGING...

FIND:

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

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

return v0
.end method

NOW CHANGE TO:

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

.prologue
.line 878
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]

return v0
.end method

The only thing your doing is changing 0x0 to 0x1 which "0" means disabled and "1" means enabled. Once your done now recompile your SecMms.apk and that's it your DONE!

★SMS 1000/UNLIMITED RECIPIENT LIMIT★

WHAT DOES THIS MOD DO: This mod will let you send your message to more than 1000 people at the same time.

STEP 1

★ Go into your system/app folder and take out your "SecMms.apk"

★ Then use one of the applications such as apktools, apkmanager, or baksmali and then use the commands to decompile the SecMms.apk

★ Once you have decompiled the SecMms.apk, go to:

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]
.locals 1

.prologue
.line 630
[COLOR="Red"]sget v0, Lcom/android/mms/MmsConfig;->mRecipientLimit:I[/COLOR]

return v0
.end method

AND CHANGE TO:

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

.prologue
.line 630
[COLOR="Blue"]const/16 v0, 0x3e8[/COLOR]

return v0
.end method

Now save the changes, recompile your SecMms.apk and your DONE!

★HOW TO CHANGE THE MESSAGING TIME STAMPS TO ITS ORIGINAL TIME★

WHAT DOES THIS MOD DO: This mod will show the exact sent time of received messages, not the moment when you actually received it on your phone.

STEP 1

★ Go into your system/app folder and take out your "SecMms.apk"

★ Then use one of the applications such as apktools, apkmanager, or baksmali and then use the commands to decompile the SecMms.apk

★ Once you have decompiled the SecMms.apk, go to:

Now open up "SMSReceiverService.smali" with your notepad++ for editing.

Now for this part of this guide what i have highlighted in "GREEN" text is what you have to find using Notepad++, What you see in "RED" is the line you have to remove/delete completely, And also what you see in "BLUE" is the line you have to make changes to:

LOOK FOR:

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

.line 1395
:cond_7
const-string v3, "date"

[COLOR="Red"]invoke-static {}, Ljava/lang/System;->currentTimeMillis()J[/COLOR]

move-result-wide v4

invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

move-result-object v4

invoke-virtual {v1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V

goto/16 :goto_1
.end method

AND THEN CHANGE IT TO THIS:

.line 1395
:cond_7
const-string v3, "date"

[COLOR="Blue"]invoke-virtual {p1}, Landroid/telephony/SmsMessage;->getTimestampMillis()J[/COLOR]

move-result-wide v4

invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

move-result-object v4

invoke-virtual {v1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V

goto/16 :goto_1
.end method

Once finished... Save changes, recompile your SecMms.apk and that's it your DONE!