[GUIDE][PORT] [cm11] Dinamic statusbar - Xiaomi Redmi 1S

what is Dinamic statusbar??
can you see here
or here my original facebook post​
i comparing from another rom include this feature to pure CM11 base
big thanks to
Allah swt
my family
CyanogenMod
@ocoot
@bamzzz
@qoejohn
prabu siliwangi
anggi muhammad
syaeful anwar
deddy kitul
you
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk and JAR file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else ( i use apktool 1.5.2 )
download file recources below

Settings.apk
Decompile Settings.apk
add string
Code:
<string name="dynamic_system_bars_title">Dynamic system bars</string>
<string name="dynamic_status_bar_title">Dynamic status bar</string>
<string name="dynamic_status_bar_summary">Automatically update the background of the status bar</string>
<string name="dynamic_navigation_bar_title">Dynamic navigation bar</string>
<string name="dynamic_navigation_bar_summary">Automatically update the background of the navigation bar</string>
<string name="dynamic_system_bars_gradient_title">System bar gradient</string>
<string name="dynamic_system_bars_gradient_summary">Overlay a gradient on the system bars</string>
<string name="dynamic_status_bar_filter_title">Darker status bar</string>
<string name="dynamic_status_bar_filter_summary">Overlay a darkening filter on the status bar</string>
open
res/xml/display_settings.xml
add wherever you want
Code:
<PreferenceScreen android:title="Dinamic Status Bar" android:fragment="com.android.settings.oplosandev.DSBSettings" />
place DSBSettings.smali into folder "smali" ,after recompile and decompile automatic place directories name smali
Recompile
Decompile
open
DSBSettings.smali
matched
const v0, 0x7f050071 #type="xml" name="dsb_settings"
Recompile
sign
push

SystemUI.apk
decompile SystemUI
open
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions.smali
find
Code:
# instance fields
add above
Code:
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$1;,
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$GradientObserver;,
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable;
}
.end annotation
findmethod
Code:
.method public constructor <init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;)V
replace with
Code:
.method public constructor <init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;)V
.locals 4
.parameter "view"
.prologue
const/4 v3, 0x1
.line 47
new-instance v1, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable;
invoke-virtual {p1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->getContext()Landroid/content/Context;
move-result-object v2
invoke-direct {v1, v2}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable;-><init>(Landroid/content/Context;)V
invoke-direct {p0, p1, v1}, Lcom/android/systemui/statusbar/phone/BarTransitions;-><init>(Landroid/view/View;Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;)V
.line 48
iput-object p1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions;->mView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
.line 49
iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions;->mView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
invoke-virtual {v1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
.line 50
.local v0, res:Landroid/content/res/Resources;
const v1, 0x7f0b002b [COLOR="Red"]#type="dimen" name="status_bar_icon_drawing_alpha"[/COLOR]
invoke-virtual {v0, v1, v3, v3}, Landroid/content/res/Resources;->getFraction(III)F
move-result v1
iput v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions;->mIconAlphaWhenOpaque:F
.line 51
return-void
.end method
skip this step if in your have it
add this
dimens.xml
Code:
<item type="dimen" name="status_bar_icon_drawing_alpha">75.0%</item>
colors.xml
Code:
<color name="status_bar_background_opaque">#ff000000</color>
<color name="status_bar_background_semi_transparent">#66000000</color>
intergers.xml
Code:
<integer name="dsb_transition_duration">500</integer>
push smali
recoompile
decompile
open public.xml
and matched all id
Lcom/android/systemui/statusbar/phone/PhoneStatusBarTransitions$PhoneStatusBarBackgroundDrawable.smali
Code:
const v1, 0x7f07000a #type="color" name="status_bar_background_opaque"
const v3, 0x7f07000b #type="color" name="status_bar_background_semi_transparent"
const v4, 0x7f0201dd #type="drawable" name="status_background"
Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable.smali
Code:
const v1, 0x7f090015 #type="integer" name="dsb_transition_duration"

Navbar
open
Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;
find code
Code:
# instance fields
.field private final mBarService:Lcom/android/internal/statusbar/IStatusBarService;
add above
Code:
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$GradientObserver;,
Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$NavigationBarBackgroundDrawable;
}
.end annotation
find
Code:
.method public constructor
change like it
Code:
# direct methods
.method public constructor <init>(Lcom/android/systemui/statusbar/phone/NavigationBarView;)V
.locals 3
.parameter "view"
.prologue
.line 50
new-instance v0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$NavigationBarBackgroundDrawable;
invoke-virtual {p1}, Lcom/android/systemui/statusbar/phone/NavigationBarView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-direct {v0, v1}, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$NavigationBarBackgroundDrawable;-><init>(Landroid/content/Context;)V
invoke-direct {p0, p1, v0}, Lcom/android/systemui/statusbar/phone/BarTransitions;-><init>(Landroid/view/View;Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;)V
.line 242
new-instance v0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$2;
invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions$2;-><init>(Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;)V
iput-object v0, p0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;->mLightsOutListener:Landroid/view/View$OnTouchListener;
.line 52
iput-object p1, p0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;->mView:Lcom/android/systemui/statusbar/phone/NavigationBarView;
.line 53
const-string v0, "statusbar"
invoke-static {v0}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
move-result-object v0
invoke-static {v0}, Lcom/android/internal/statusbar/IStatusBarService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/statusbar/IStatusBarService;
move-result-object v0
iput-object v0, p0, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;->mBarService:Lcom/android/internal/statusbar/IStatusBarService;
.line 55
return-void
.end method
save
open
Lcom/android/systemui/statusbar/phone/NavigationBarView$StatusBarBlockerTransitions;
find
Code:
.method public constructor
change to
Code:
# direct methods
.method public constructor <init>(Landroid/view/View;)V
.locals 5
.parameter "statusBarBlocker"
.prologue
.line 1268
new-instance v0, Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;
invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
const v2, 0x7f07000a #type="color" name="status_bar_background_opaque"
const v3, 0x7f07000b #type="color" name="status_bar_background_semi_transparent"
const v4, 0x7f0201dd #type="drawable" name="status_background"
invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;-><init>(Landroid/content/Context;III)V
invoke-direct {p0, p1, v0}, Lcom/android/systemui/statusbar/phone/BarTransitions;-><init>(Landroid/view/View;Lcom/android/systemui/statusbar/phone/BarTransitions$BarBackgroundDrawable;)V
.line 1273
return-void
.end method
and matched all id
Code:
const v2, 0x7f07000a #type="color" name="status_bar_background_opaque"
const v3, 0x7f07000b #type="color" name="status_bar_background_semi_transparent"
const v4, 0x7f0201dd #type="drawable" name="status_background"
do enabling navigation bar via build.prop
add this code at ADDITIONAL_BUILD_PROPERTIES
Code:
qemu.hw.mainkeys=0
push
Settings.apk /system/priv-app/here
SystemUI.apk /system/priv-app/here
systemui.so /system/lib/here
or other way, u can try methode flasahble.zip,adb,or other

Hi will it work in gingerbread phones? coz my systemui does not have phone folder under com/android/systemui/statusbar/

RESERVED !!!

nice share omm...

Jedz77 said:
Hi will it work in gingerbread phones? coz my systemui does not have phone folder under com/android/systemui/statusbar/
Click to expand...
Click to collapse
cm11 only.....
stock kk adjust

dugeriss said:
cm11 only.....
stock kk adjust
Click to expand...
Click to collapse
oh my bad. sorry. i really like it though. anyways thanks maan nice mod btw

dugeriss said:
what is Dinamic statusbar??
can you see here
or here my original facebook post​
i comparing from another rom include this feature to pure CM11 base
big thanks to
Allah swt
my family
CyanogenMod
@ocoot
@bamzzz
@qoejohn
prabu siliwangi
anggi muhammad
syaeful anwar
deddy kitul
you
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk and JAR file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else ( i use apktool 1.5.2 )
download file recources below
Click to expand...
Click to collapse
Hey Great Guide!!Thank you for the willingness!Please could you make a guide on how to port Hover to cm11 ?Please it's so important for me and I've searched so many times on web but I haven't found nothing and I don't know how to do it,Please

ah..... great work sir :good: :fingers-crossed:

kitul..!!
Nice :good:

Ahmm .. Sir... I tried This one on cm11 ... but it doesnt force closes .. rather it gets black screen? i tried your guide twice .. but the same thing happens.. Please Help... BTw this guide is good

Thanks...
my Stock Kitkat 4.4.2 :good:

Can someone help me to upload cm 11 r26 statusbar without sim number indicator ??, my pc Hard disk got broken , lost all data, thanks

Thank you sir ,,

Micky99 said:
Hey Great Guide!!Thank you for the willingness!Please could you make a guide on how to port Hover to cm11 ?Please it's so important for me and I've searched so many times on web but I haven't found nothing and I don't know how to do it,Please
Click to expand...
Click to collapse
Hover is not easy because it gas so many commits with many additions and a lot of files changed

srisurya95 said:
Hover is not easy because it gas so many commits with many additions and a lot of files changed
Click to expand...
Click to collapse
Should I see your answer as a "no I won't help you",or do you mean you want to help me but it won't be easy?What's the problem?Do you think the hover related commits are too much for only two persons?

Micky99 said:
Should I see your answer as a "no I won't help you",or do you mean you want to help me but it won't be easy?What's the problem?Do you think the hover related commits are too much for only two persons?
Click to expand...
Click to collapse
I say its not possible/not so easy

srisurya95 said:
I say its not possible/not so easy
Click to expand...
Click to collapse
Dont you absolutely know some of the hover related commits?

Related

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

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

[Tutorial] Sense 5 Prism Mods [All Themers Post your Prism Mods]

Hey what's up everyone? I've just picked up my One & started modding right away. Here's some mods you can do to Prism.apk ( Sense Launcher ).​
first off you need to learn to use apktool or apkmanager, google search & learn how to mod apps first.
First mod is a custom image as your app drawer background
Decompile prism.apk and go to​
res/layout/all_apps_pagedview.xml
look for this line
Code:
<com.htc.launcher.pageview.AllAppsPagedView android:id="@id/all_apps_paged_view"
add a background tag like this
Code:
<com.htc.launcher.pageview.AllAppsPagedView android:background="@drawable/appdrawer_background" android:id="@id/all_apps_paged_view"
next put your custom image named appdrawer_background.png into the drawable-xxhdpi folder & recompile your apk
*****************************************
Next is Transparent app drawer background
This one is kinda difficult, but there is an easier method posted here http://forum.xda-developers.com/showpost.php?p=40555206&postcount=16
thanks Ajthescot for sharing
4.1.2 method
decompile Prism.apk and go to /smali/com/htc/launcher
find Launcher.Smali
and look for this method
Code:
.method public updateWallpaperVisibility(Z)V
.locals 8
const/4 v3, 0x0
const/high16 v2, 0x10
iget-boolean v4, p0, Lcom/htc/launcher/Launcher;->m_bAttached:Z
if-nez v4, :cond_1
const-string v2, "Launcher"
const-string v3, "updateWallpaperVisibility - not attached"
invoke-static {v2, v3}, Lcom/htc/launcher/util/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
:goto_0
return-void
:cond_1
invoke-virtual {p0}, Lcom/htc/launcher/Launcher;->isAddToHomeVisible()Z
move-result v4
if-eqz v4, :cond_2
const/4 p1, 0x1
:cond_2
if-eqz p1, :cond_3
move v1, v2
:goto_1
invoke-virtual {p0}, Lcom/htc/launcher/Launcher;->getWindow()Landroid/view/Window;
move-result-object v4
invoke-virtual {v4}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;
move-result-object v4
iget v4, v4, Landroid/view/WindowManager$LayoutParams;->flags:I
and-int v0, v4, v2
if-eq v1, v0, :cond_0
const-string v4, "Launcher"
const-string v5, "updateWallpaperVisibility: %s"
const/4 v6, 0x1
new-array v6, v6, [Ljava/lang/Object;
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v7
aput-object v7, v6, v3
invoke-static {v4, v5, v6}, Lcom/htc/launcher/util/Logger;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
invoke-virtual {p0}, Lcom/htc/launcher/Launcher;->getWindow()Landroid/view/Window;
move-result-object v3
invoke-virtual {v3, v1, v2}, Landroid/view/Window;->setFlags(II)V
goto :goto_0
:cond_3
move v1, v3
goto :goto_1
.end method
delete this entire method, next use notepad ++ to search for
Code:
updateWallpaperVisibility
remove all lines containing that
example :
Code:
invoke-virtual {v0, v4}, Lcom/htc/launcher/Launcher;->updateWallpaperVisibility(Z)V
next go to Launcher$20.Smali
and again search for
Code:
updateWallpaperVisibility
remove all lines like this
Code:
invoke-virtual {v0, v4}, Lcom/htc/launcher/Launcher;->updateWallpaperVisibility(Z)V
next go to Launcher$24.Smali
do the same as the above file
next go to Workspace.smali
do the same as the above two files
last file in smali is
DragLayer.Smali
search for this
Code:
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals 5
const/4 v4, 0x0
const/4 v3, 0x0
invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
const/4 v1, 0x2
new-array v1, v1, [I
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_naTmpXY:[I
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_resizeFrames:Ljava/util/ArrayList;
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_dropAnim:Landroid/animation/ValueAnimator;
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_fadeOutAnim:Landroid/animation/ValueAnimator;
new-instance v1, Landroid/view/animation/DecelerateInterpolator;
const/high16 v2, 0x3fc0
invoke-direct {v1, v2}, Landroid/view/animation/DecelerateInterpolator;-><init>(F)V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_cubicEaseOutInterpolator:Landroid/animation/TimeInterpolator;
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_dropView:Lcom/htc/launcher/DragView;
iput v4, p0, Lcom/htc/launcher/DragLayer;->m_nAnchorViewInitialScrollX:I
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_anchorView:Landroid/view/View;
iput-boolean v4, p0, Lcom/htc/launcher/DragLayer;->m_bHoverPointClosesFolder:Z
new-instance v1, Landroid/graphics/Rect;
invoke-direct {v1}, Landroid/graphics/Rect;-><init>()V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_rectHit:Landroid/graphics/Rect;
const/4 v1, 0x1
iput-boolean v1, p0, Lcom/htc/launcher/DragLayer;->m_bHotseatVisible:Z
const/high16 v1, 0x3f80
iput v1, p0, Lcom/htc/launcher/DragLayer;->m_fBackgroundAlpha:F
new-instance v1, Landroid/graphics/Rect;
invoke-direct {v1}, Landroid/graphics/Rect;-><init>()V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_rectBackground:Landroid/graphics/Rect;
new-instance v0, Lcom/htc/launcher/FillColorFastBitmapDrawable;
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
const v2, 0x7f020002
invoke-virtual {v1, v2}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v1
check-cast v1, Landroid/graphics/drawable/BitmapDrawable;
invoke-virtual {v1}, Landroid/graphics/drawable/BitmapDrawable;->getBitmap()Landroid/graphics/Bitmap;
move-result-object v1
const/high16 v2, -0x100
invoke-direct {v0, v1, v2}, Lcom/htc/launcher/FillColorFastBitmapDrawable;-><init>(Landroid/graphics/Bitmap;I)V
invoke-virtual {p0, v0}, Lcom/htc/launcher/DragLayer;->setBackground(Landroid/graphics/drawable/Drawable;)V
invoke-virtual {p0, v4}, Lcom/htc/launcher/DragLayer;->setMotionEventSplittingEnabled(Z)V
return-void
.end method
look for the line I have marked here & change it as I have Told
Code:
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals 5
const/4 v4, 0x0
const/4 v3, 0x0
invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
const/4 v1, 0x2
new-array v1, v1, [I
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_naTmpXY:[I
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_resizeFrames:Ljava/util/ArrayList;
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_dropAnim:Landroid/animation/ValueAnimator;
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_fadeOutAnim:Landroid/animation/ValueAnimator;
new-instance v1, Landroid/view/animation/DecelerateInterpolator;
const/high16 v2, 0x3fc0
invoke-direct {v1, v2}, Landroid/view/animation/DecelerateInterpolator;-><init>(F)V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_cubicEaseOutInterpolator:Landroid/animation/TimeInterpolator;
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_dropView:Lcom/htc/launcher/DragView;
iput v4, p0, Lcom/htc/launcher/DragLayer;->m_nAnchorViewInitialScrollX:I
iput-object v3, p0, Lcom/htc/launcher/DragLayer;->m_anchorView:Landroid/view/View;
iput-boolean v4, p0, Lcom/htc/launcher/DragLayer;->m_bHoverPointClosesFolder:Z
new-instance v1, Landroid/graphics/Rect;
invoke-direct {v1}, Landroid/graphics/Rect;-><init>()V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_rectHit:Landroid/graphics/Rect;
const/4 v1, 0x1
iput-boolean v1, p0, Lcom/htc/launcher/DragLayer;->m_bHotseatVisible:Z
const/high16 v1, 0x3f80
iput v1, p0, Lcom/htc/launcher/DragLayer;->m_fBackgroundAlpha:F
new-instance v1, Landroid/graphics/Rect;
invoke-direct {v1}, Landroid/graphics/Rect;-><init>()V
iput-object v1, p0, Lcom/htc/launcher/DragLayer;->m_rectBackground:Landroid/graphics/Rect;
new-instance v0, Lcom/htc/launcher/FillColorFastBitmapDrawable;
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
const v2, 0x7f020002
invoke-virtual {v1, v2}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
move-result-object v1
check-cast v1, Landroid/graphics/drawable/BitmapDrawable;
invoke-virtual {v1}, Landroid/graphics/drawable/BitmapDrawable;->getBitmap()Landroid/graphics/Bitmap;
move-result-object v1
>>>>>>>>> const/high16 v2, -0x100 <<<< Change from ORIGINAL VALUE to this const/high16 v2, 0x0 >>>>
invoke-direct {v0, v1, v2}, Lcom/htc/launcher/FillColorFastBitmapDrawable;-><init>(Landroid/graphics/Bitmap;I)V
invoke-virtual {p0, v0}, Lcom/htc/launcher/DragLayer;->setBackground(Landroid/graphics/drawable/Drawable;)V
invoke-virtual {p0, v4}, Lcom/htc/launcher/DragLayer;->setMotionEventSplittingEnabled(Z)V
return-void
.end method
Next on to the easy part
res/layouts/feed_view.xml
top line add a background tag like this
Code:
<com.htc.launcher.feeds.view.FeedScrollView android:background="@drawable/blinkfeed_background" android:layout_width="fill_parent" android:layout_height="fill_parent"
add blinkfeed_background.png in drawable-xxhdpi set as you like (mine is solid black)
res/layout/all_apps_pagedview.xml
look for this line
Code:
<com.htc.launcher.pageview.AllAppsPagedView android:id="@id/all_apps_paged_view"
add a background tag like this
Code:
<com.htc.launcher.pageview.AllAppsPagedView android:background="@drawable/appdrawer_background" android:id="@id/all_apps_paged_view"
next put your custom image that is set to your desired level of transparency named appdrawer_background.png into the drawable-xxhdpi folder.
last thing is find automotive_common_app_bkg_top.jpeg & make it 100% transparent & save as a png, then delete the jpeg copy out of the apk
*
For 4.2.2 you can use my method above or Aj's method, both work fine BUT you need to add a tiny bit more code to make it look 100%
go to smali/com/htc/launcher/pageview/AllAppsPagedViewHost.smali find line 85 where it says
Code:
const/high16 v2, -0x100
change it to
Code:
const/high16 v2, 0x0
now recompile your app & Enjoy your transparent app drawer
**************************************************
Next mod, have 7 pages set for use
first go to res/layout/Workspace_page_thumbnail_container.xml
add this to it twice
Code:
<include layout="@layout/workspace_page_thumbnail" />
<include layout="@layout/workspace_page_thumbnail" />
next go to Workspace_pages.xml
add this
Code:
<include android:id="@id/cell0" layout="@layout/workspace_screen" />
and
Code:
<include android:id="@id/cell5" layout="@layout/workspace_screen" />
Next go to res/layout/workspace_page_protected.xml
add this
Code:
<include android:id="@id/cell5" layout="@layout/workspace_screen" />
next go to res/values/ids.xml
add this
Code:
<item type="id" name="cell5">false</item>
next go to smali/com/htc/launcher/model/PagesManager.Smali
find this method & change it as I have marked
Code:
.method private constructor <init>(Landroid/content/Context;)V
.locals 2
const/4 v1, 0x0
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V
iput v1, p0, Lcom/htc/launcher/model/PagesManager;->m_nHomeIndex:I
<<<< const/4 v0, 0x6 <<<<< original value const/4 v0, 0x4 >>>>>>>>>>
iput v0, p0, Lcom/htc/launcher/model/PagesManager;->m_nPageCount:I
iput v1, p0, Lcom/htc/launcher/model/PagesManager;->m_nFeedIndex:I
const/4 v0, 0x1
iput v0, p0, Lcom/htc/launcher/model/PagesManager;->m_nWorkspaceId:I
sget-object v0, Lcom/htc/launcher/model/PagesManager$DefaultViewMode;->Feed:Lcom/htc/launcher/model/PagesManager$DefaultViewMode;
iput-object v0, p0, Lcom/htc/launcher/model/PagesManager;->m_defaultViewMode:Lcom/htc/launcher/model/PagesManager$DefaultViewMode;
const/4 v0, 0x0
iput-object v0, p0, Lcom/htc/launcher/model/PagesManager;->m_Handler:Landroid/os/Handler;
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/htc/launcher/model/PagesManager;->m_observerList:Ljava/util/List;
iput-object p1, p0, Lcom/htc/launcher/model/PagesManager;->m_context:Landroid/content/Context;
new-instance v0, Landroid/os/Handler;
invoke-direct {v0}, Landroid/os/Handler;-><init>()V
iput-object v0, p0, Lcom/htc/launcher/model/PagesManager;->m_Handler:Landroid/os/Handler;
return-void
.end method
next method
Code:
.method public getMaxPageCount()I
.locals 1
const/4 v0, 0x7 <<<<<<<< change from const/4 v0, 0x5 >>>>>>
return v0
.end method
next go to smali/com/htc/launcher/model/WorkspaceConfiguration.smali
find this
Code:
.field public static final DEFAULT_PAGE_COUNT:I = 0x4
change it to this
Code:
.field public static final DEFAULT_PAGE_COUNT:I = 0x6
find this
Code:
.field private static final MAX_PAGES:I = 0x5
change it to this
Code:
.field private static final MAX_PAGES:I = 0x7
Now find this method & change it as I have marked
Code:
.method public constructor <init>()V
.locals 2
const/4 v1, 0x0
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V
<< const/4 v0, 0x6 <<<< original value is this const/4 v0, 0x4
iput v0, p0, Lcom/htc/launcher/model/WorkspaceConfiguration;->m_nPageCount:I
iput v1, p0, Lcom/htc/launcher/model/WorkspaceConfiguration;->m_nHomeIndex:I
iput v1, p0, Lcom/htc/launcher/model/WorkspaceConfiguration;->m_nFeedIndex:I
return-void
.end method
last method for this file
Code:
.method public getMaxPageCount()I
.locals 1
const/4 v0, 0x7 <<<< Change from original of const/4 v0, 0x5 >>>>>
return v0
.end method
last edit go to smali/com/htc/launcher/Launcher.smali
change this
Code:
.field static final SCREEN_COUNT:I = 0x5
to this
Code:
.field static final SCREEN_COUNT:I = 0x7
recompile your apk & enjoy 7 pages of widgets
That's all I have for now, I'll update the thread as I learn more
CREDITS
Onepagebook
*Ajthescot
​
Thanks, a lot of people don't like to share their knowledge these days
Rayford, will you theme an upcoming Viper Rom ?
PS: Please do !
Great job!!!!!
nice bro, there are still a lot
I just got my home pages turned to 7..
Should you need to declare drawable ID in public.xml for the appdrawer back ground?
Onepagebook said:
nice bro, there are still a lot
I just got my home pages turned to 7..
Should you need to declare drawable ID in public.xml for the appdrawer back ground?
Click to expand...
Click to collapse
Share your findings on the apk, I'll add it to the op And no need to add any public id, it will build it's id when it compiles.
rayford85 said:
Share your findings on the apk, I'll add it to the op And no need to add any public id, it will build it's id when it compiles.
Click to expand...
Click to collapse
YGPM bro
Kevin & Nick @ it again love you guys, and as always love your work.
yeah..still more to come, I receive lots of help from Nick and my TW friend, ici, as well. Thanks buddy
added a mod to have 7 pages set for widgets etc. instead of the default 5. Thanks to Onepagebook.
wich programs we need to decomplie apk ?
I like to have trasparent prism for my ARHD rom and read your instruction ....
I don't think to be able
but ... wanna try
hope you help me
tks mate
jonata said:
wich programs we need to decomplie apk ?
I like to have trasparent prism for my ARHD rom and read your instruction ....
I don't think to be able
but ... wanna try
hope you help me
tks mate
Click to expand...
Click to collapse
I'm not gonna teach you how to do it.
No one taught me. You just gotta keep messing with it till you figure it out. Here is a link to get you started http://forum.xda-developers.com/showthread.php?t=1891686 thats just one guide, google search for other ones. There all over the web.
rayford85 said:
I'm not gonna teach you how to do it.
No one taught me. You just gotta keep messing with it till you figure it out. Here is a link to get you started http://forum.xda-developers.com/showthread.php?t=1891686 thats just one guide, google search for other ones. There all over the web.
Click to expand...
Click to collapse
ok , try to learn
lex_is300 dased14 and myself have done the transparent app drawer we have taken some slack for not releasing it yet but we were trying to perfect it before releasing.
5x6 layouts needed a bit of dimen tweakage to stop icons overlaping dock icons
the custom bg did not fill dock area if you have trans dock
thats fixed.
i shall post my method here in a few as lex_is300 and dased14 have different setups.
in the meantime
heres my dock setup
i use 5 icons plus appdrawer icon
increase docked icon count
my layout
values integers.xml
Code:
<integer name="hotseat_cell_count">5</integer>
changed to
Code:
<integer name="hotseat_cell_count">6</integer>
values/dimens.xml
reduce padding
Code:
<dimen name="button_bar_width_left_padding">16.0dip</dimen>
<dimen name="button_bar_width_right_padding">16.0dip</dimen>
changed to
Code:
<dimen name="button_bar_width_left_padding">2.0dip</dimen>
<dimen name="button_bar_width_right_padding">2.0dip</dimen>
move dock icon position
values integers.xml
Code:
<integer name="hotseat_all_apps_index">4</integer>
changed to
Code:
<integer name="hotseat_all_apps_index">5</integer>
{
"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"
}
Ajthescot said:
lex_is300 dased14 and myself have done the transparent app drawer we have taken some slack for not releasing it yet but we were trying to perfect it before releasing.
5x6 layouts needed a bit of dimen tweakage to stop icons overlaping dock icons
the custom bg did not fill dock area if you have trans dock
thats fixed.
i shall post my method here in a few as lex_is300 and dased14 have different setups.
in the meantime
heres my dock setup
i use 5 icons plus appdrawer icon
increase docked icon count
my layout
values integers.xml
Code:
<integer name="hotseat_cell_count">5</integer>
changed to
Code:
<integer name="hotseat_cell_count">6</integer>
values/dimens.xml
reduce padding
Code:
<dimen name="button_bar_width_left_padding">16.0dip</dimen>
<dimen name="button_bar_width_right_padding">16.0dip</dimen>
changed to
Code:
<dimen name="button_bar_width_left_padding">2.0dip</dimen>
<dimen name="button_bar_width_right_padding">2.0dip</dimen>
move dock icon position
values integers.xml
Code:
<integer name="hotseat_all_apps_index">4</integer>
changed to
Code:
<integer name="hotseat_all_apps_index">5</integer>
Click to expand...
Click to collapse
Thanks for sharing. I'm real curious to see how you guys did the app drawer transparent. It was a nightmare to figure out
Sent from my HTC One using xda premium
credits to lex_is300 dased14 and myself we have had transparent app drawer for couple of weeks but wanted to perfect it more before releasing it
like the op we all have different methods but this is my personal take on it.
this is my edits based on 5x6 app drawer
all dimen edits are based on this
if you use this mod please give credits to lex_is300 dased14 and myself
layouts .xmls​hotseat.xml
Code:
<ImageView android:layout_gravity="bottom|center" android:layout_width="wrap_content" android:layout_height="@dimen/button_bar_height_without_padding" android:src="@drawable/home_nav_bg" android:scaleType="fitXY" />
to
Code:
<ImageView android:layout_gravity="bottom|center" android:layout_width="wrap_content" android:layout_height="@dimen/button_bar_height_without_padding[COLOR="Red"]2[/COLOR]" android:src="@drawable/home_nav_bg" android:scaleType="fitXY" />
all_apps_paged_view.xml
Code:
<com.htc.launcher.pageview.AllAppsPagedViewHost android:id="@id/all_apps_paged_view_frame" android:layout_width="fill_parent" android:layout_height="fill_parent"
to
Code:
<com.htc.launcher.pageview.AllAppsPagedViewHost android:id="@id/all_apps_paged_view_frame" [COLOR="red"]android:background="@drawable/custom"[/COLOR] android:layout_width="fill_parent" android:layout_height="fill_parent"
values xmls​this edits fills the dock area with the custom bg for those with trans dock.
dimens.xml
Code:
<dimen name="button_bar_height_without_padding">55.0dip</dimen>
to
Code:
<dimen name="button_bar_height_without_padding">[COLOR="Red"]0.0dip[/COLOR]</dimen>
add this new line
Code:
<dimen name="button_bar_height_without_padding2">55.0dip</dimen>
styles.xml​<style name="DropTargetBar">
add this
Code:
<item name="android:background">#98000000</item>
edit to suit your level of transparency​
smali​
com/android/htc/launcher
line numbers based on vts layout
Draglayer.smali
line 195 on 1.28 base
or line 156 on 1.29.401.12 base
const/high16 v2, -0x100
change to
const/high16 v2, 0x0
launcher.smali
line 21566 on 1.28 base
or line 15353 on 1.29.401.12 base
const/high16 v2, 0x10
change to
const/high16 v2, 0x0
line numbers may change on different versions of prism​
drawables xxhdpi​
add
custom backgound named custom.png
edit to your desired transparency
edit
automotive_common_app_bkg_top
to desired transparency this is blinkfeed and appdrawer clock bg
change home_nav_bg.jpg to home_nav_bg.png and edit transparency​
if using 5x6 appdrawer you are gonna have an ugly mess of icons overlapping with tranparent docks.
values dimens.xml​
Code:
<dimen name="config_allAppsTabbedPageLayoutPaddingTop">18.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingBottom">4.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingLeft">0.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingRight">0.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingTop_alt">35.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingBottom_alt">10.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingLeft_alt">0.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingRight_alt">0.0dip</dimen>
<dimen name="page_view_icon_cell_width">75.0dip</dimen>
<dimen name="page_view_icon_cell_height">90.0dip</dimen>
to
Code:
<dimen name="config_allAppsTabbedPageLayoutPaddingTop">18.5dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingBottom">35.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingLeft">16.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingRight">16.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingTop_alt">35.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingBottom_alt">50.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingLeft_alt">30.0dip</dimen>
<dimen name="config_allAppsTabbedPageLayoutPaddingRight_alt">30.0dip</dimen>
<dimen name="allapps_edit_layout_page_spacing">100.0dip</dimen>
<dimen name="page_view_icon_cell_width">85.0dip</dimen>
<dimen name="page_view_icon_cell_height">87.0dip</dimen>
now the text may be overlaping or cut off screen
edit to your suited size
Code:
<dimen name="shortcut_label_l">12.0sp</dimen>
mine i have set to
Code:
<dimen name="shortcut_label_l">8.0sp</dimen>
Ajthescot said:
lex_is300 dased14 and myself have done the transparent app drawer we have taken some slack for not releasing it yet but we were trying to perfect it before releasing.
5x6 layouts needed a bit of dimen tweakage to stop icons overlaping dock icons
the custom bg did not fill dock area if you have trans dock
thats fixed.
i shall post my method here in a few as lex_is300 and dased14 have different setups.
in the meantime
heres my dock setup
i use 5 icons plus appdrawer icon
increase docked icon count
my layout
values integers.xml
Code:
<integer name="hotseat_cell_count">5</integer>
changed to
Code:
<integer name="hotseat_cell_count">6</integer>
values/dimens.xml
reduce padding
Code:
<dimen name="button_bar_width_left_padding">16.0dip</dimen>
<dimen name="button_bar_width_right_padding">16.0dip</dimen>
changed to
Code:
<dimen name="button_bar_width_left_padding">2.0dip</dimen>
<dimen name="button_bar_width_right_padding">2.0dip</dimen>
move dock icon position
values integers.xml
Code:
<integer name="hotseat_all_apps_index">4</integer>
changed to
Code:
<integer name="hotseat_all_apps_index">5</integer>
Click to expand...
Click to collapse
really beatifull !
my compliments ...... love this trasparent navbar !
nice work on the 5 icons dock ..
are those showing also on locksreen ???
Dougi said:
nice work on the 5 icons dock ..
are those showing also on locksreen ???
Click to expand...
Click to collapse
thanks bud lockscreen is still only 4
Ajthescot said:
thanks bud lockscreen is still only 4
Click to expand...
Click to collapse
thanks for the reply...
Sssuupp my men Ray how are you , nice OP there
Ray , do you think there are still M10 in sense 5 ??? i thought no, but after searching, reading and understanding the new sense 5 files , i'm now sure there are M10 files....
what do you think ?? .. ( this question goes out to all themers and advanced users.. )

[How to] smart rotation + 4 Shortcuts on the Lock for all ROM

hi ...
how to add a 4 shortcut on lock screen.
How to
-Decompile SecSettings.apk and go to smali/com/android/settings/lockscreenshortcut/LockScreenShortcutSettings.smali
-Open this file with a text editor and look for
Code:
# direct methods
.method static constructor <clinit>()V
.locals 2
.prologue
const/4 v1, 0x0
.line 79
- const/4 v0, 0x3
[COLOR="Red"]+ const/4 v0, 0x4[/COLOR]
sput v0, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->MAX_SHORTCUT_ICON:I
-Recompile and enjoy
Thanks for the Recognized Developer Training
[HOW-TO]Activation Smart Rotation in JB
How to:
-Decompile SecSettings.apk and go to smali/com/android/settings/DisplaySettings
-Open this smali file with a text editor and look for
Code:
.line 404
- invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
-
- move-result-object v12
-
- iget-object v13, p0, Lcom/android/settings/DisplaySettings;->mSmartRotation:Landroid/preference/CheckBoxPreference;
-
- invoke-virtual {v12, v13}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z
And just delete these lines
-Recompile and enjoy
Thanks - Credits:
Author sorg took of his firmware hope he does not mind.
Thx for manual. Works like a charm.
I have used latest SecSettings.apk from D4Mod.
For me, SmartRotation lines was here:
Code:
.line 404
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
move-result-object v10
iget-object v11, p0, Lcom/android/settings/DisplaySettings;->mSmartRotation:Landroid/preference/CheckBoxPreference;
invoke-virtual {v10, v11}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z
Will share this file with Dario to add it to next release
try this with 4 shortcuts later when i instal enox rom 2.2 thanks
p_a_r_s_a7 said:
How to:
Code:
.line 404
- invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
-
- move-result-object v12
-
- iget-object v13, p0, Lcom/android/settings/DisplaySettings;->mSmartRotation:Landroid/preference/CheckBoxPreference;
-
- invoke-virtual {v12, v13}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z
And just delete these lines
Click to expand...
Click to collapse
It's mean delete 4 line script, is it correct?
i.wahyudi said:
It's mean delete 4 line script, is it correct?
Click to expand...
Click to collapse
And just delete these lines
p_a_r_s_a7 said:
And just delete these lines
Click to expand...
Click to collapse
Yes already done and tested and worked d(^.^)b

[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
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:
.line 1760
:cond_137
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:
.line 1760
:cond_137
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
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]
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!!!
i'll be taking this spot also...
another spot just in case...
Dude!!! Awesome tutorial. :good::good:
Oh mehn nice find....
Sent from my SM-N900T using Tapatalk 4
great stuff!
Is there one for stopping the lockscreen from lighting up with each message received ?
Sent from my SM-N900T using xda app-developers app
Dude you're on fire, you own the note 3 forums!
brock1909 said:
great stuff!
Is there one for stopping the lockscreen from lighting up with each message received ?
Sent from my SM-N900T using xda app-developers app
Click to expand...
Click to collapse
Send yourself a text message the screen shouldnt light up i think its off now by default for the note 3.
Sent from my SM-N900T using Tapatalk 4
marcoxx626 said:
Dude you're on fire, you own the note 3 forums!
Click to expand...
Click to collapse
Heck yeah man and there is more!
Sent from my SM-N900T using Tapatalk 4
jovy23 said:
Send yourself a text message the screen shouldnt light up i think its off now by default for the note 3.
Sent from my SM-N900T using Tapatalk 4
Click to expand...
Click to collapse
Every text I get my screen lights up
Sent from my SM-N900T using xda app-developers app
brock1909 said:
Every text I get my screen lights up
Sent from my SM-N900T using xda app-developers app
Click to expand...
Click to collapse
I will check tonight and see.
Sent from my SM-N900T using Tapatalk 4
jovy23 said:
I will check tonight and see.
Sent from my SM-N900T using Tapatalk 4
Click to expand...
Click to collapse
appreciate it. May flash clean tonight again, getting the same text from people multiple times, extremely annoying
Thanks again for all your hard work
Sent from my SM-N900T using xda app-developers app
My god, I will need 2 or 3 extra lifetimes in order to perform this mods...
Sent from my SM-N900T using XDA Premium 4 mobile app
OP updated! New mod "HOW TO ENABLE THE SCREEN ON/OFF TOGGLE".
Sorry if this is a stupid question, but can someone just post the modded apk?
sbell7105 said:
Sorry if this is a stupid question, but can someone just post the modded apk?
Click to expand...
Click to collapse
I think the reason he didnt post it, is because there are so many variations of things people could want and couldnt want it would be a very high number of APKs
You think you could compile a secmms.apk for me that has
1.Group Messaging
2. Removed sms,mms,email from call logs
3. Screen On/Off Toggle
4.1000 Recipients
I wouldnt mind shooting you over a little donation
I couldnt, for the life of me, figure out the apk decompilers.
Can you write up a tutorial on how to invert the app? Mainly the first page with the list of people who texted you?
Sent from my SM-N900V using xda app-developers app
Brandon_schulze said:
You think you could compile a secmms.apk for me that has
1.Group Messaging
2. Removed sms,mms,email from call logs
3. Screen On/Off Toggle
4.1000 Recipients
I wouldnt mind shooting you over a little donation
I couldnt, for the life of me, figure out the apk decompilers.
Click to expand...
Click to collapse
ditto.

[Guide][tut] [MM] HeadsUp timeOut / enable / disable settings

Today i am presenting HeadsUp tut
For LP click here
This is For MM only Devices
All you need is Patience
deodexed SystemUI.apk
1. Decompile SystemUI.apk
2. Now Open smali/com/android/systemui/statusbar/policy/HeadsUpManager.smali
In this find this line:
Code:
# instance fields
Add the following lines below this:
Code:
.field private mDefaultHeadsUpNotificationDecay:I
3. Then find the below line and remove delete the part that says “final”:
Code:
.field private final mHeadsUpNotificationDecay:I
So it look like
Code:
.field private mHeadsUpNotificationDecay:I
4. Find this line:
Code:
# direct methods
5. Add these two entire methods below this:
Code:
.method static synthetic -get1(Lcom/android/systemui/statusbar/policy/HeadsUpManager;)Landroid/content/Context;
.locals 1
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->mContext:Landroid/content/Context;
return-object v0
.end method
.method static synthetic -set0(Lcom/android/systemui/statusbar/policy/HeadsUpManager;I)I
.locals 0
iput p1, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->mHeadsUpNotificationDecay:I
return p1
.end method
6. Find this line:
Code:
iput v1, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->mMinimumDisplayTime:I
Below this, you will see these two lines:
Code:
const v1, 0x7f0d0012
invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getInteger(I)I
Delete these two lines and replace them with the following code:
Code:
iget-object v1, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->mContext:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string/jumbo v2, "heads_up_timeout"
iget-object v3, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v3
const v4, 0x7f0d0012 #<public type="integer" name="heads_up_notification_decay" id="0x7f0d0012" />
invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getInteger(I)I
move-result v3
const/4 v4, -0x3
invoke-static {v1, v2, v3, v4}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
7. Save it and close
8. Now open smali/com/android/systemui/statusbar/policy/HeadsUpManager$HeadsUpEntry.smali
9. Find the following line:
Code:
.method public updateEntry()V
Directly below this line you will find this line:
Code:
.locals 10
10. Take that line and replace it with this entire block of code (make sure to replace the commented public ID):
Code:
.locals 11
iget-object v6, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager$HeadsUpEntry;->this$0:Lcom/android/systemui/statusbar/policy/HeadsUpManager;
iget-object v7, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager$HeadsUpEntry;->this$0:Lcom/android/systemui/statusbar/policy/HeadsUpManager;
invoke-static {v7}, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->-get1(Lcom/android/systemui/statusbar/policy/HeadsUpManager;)Landroid/content/Context;
move-result-object v7
invoke-virtual {v7}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v7
const-string/jumbo v8, "heads_up_timeout"
iget-object v9, p0, Lcom/android/systemui/statusbar/policy/HeadsUpManager$HeadsUpEntry;->this$0:Lcom/android/systemui/statusbar/policy/HeadsUpManager;
invoke-static {v9}, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->-get1(Lcom/android/systemui/statusbar/policy/HeadsUpManager;)Landroid/content/Context;
move-result-object v9
invoke-virtual {v9}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v9
const v10, 0x7f0d0012 #<public type="integer" name="heads_up_notification_decay" id="0x7f0d0012" />
invoke-virtual {v9, v10}, Landroid/content/res/Resources;->getInteger(I)I
move-result v9
const/4 v10, -0x3
invoke-static {v7, v8, v9, v10}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
move-result v7
invoke-static {v6, v7}, Lcom/android/systemui/statusbar/policy/HeadsUpManager;->-set0(Lcom/android/systemui/statusbar/policy/HeadsUpManager;I)I
11. Save, recompile, and replace
For setting Please go for Next post
Thanks to @Bloodlvst for this tut possible
my respect to you
Settings
Download this setting
Click here
...
If you want to add by settings as default ?
then learn to do guys
follow this guide
[Guide][New Learners Basics] [LP/MM/+] Create settings preferences and subsettings
cause i had limited time brothers
hope you get me
Dont forgot to tag me if you use my work
hello
thank you for this tut
i have edited and compiled SystemUi.apk and it's working
but to control the settings i have added i wanted to install your app from the second post , Right?
the problem is that the app is not installing
i don't have speruser mod
please post a tut on how to add the control app into main setting
PS: am working on my HTC desire 820 (MM 6.0.1)
Thanks in Advance
Edit: after deodexing my rom and got superuser mod the control app is working
please post a tut on how to add the control app into main setting.....

Categories

Resources