[DEV][MOD][HOW TO] Galaxy S4 Mods- TW Launcher, Framework, Contacts & More

sbreen94

Inactive Recognized Developer / Inactive Recognize
Apr 18, 2012
5,292
22,655
0
Hey Galaxy S4 Community! Thought I would post some How-To guides on some features found in my roms and how to enable some features in your rom or on your phone.These would probably benefit rom developers the most, but hopefully they will help everyone to learn a bit! These mods are written for the Galaxy s4 on Android 4.2.2 but most will probably work on other Samsung Galaxy Devices as Samsungs has pretty similar software.

For these Mods you will need basic knowledge about the following tools and skills, i won't go over the processes.

  • notepad++
  • apktool
  • smali/baksmali

How to Enable Camera Shutter Sound Menu

Navigate to system/csc/feature.xml

Find this line:

Code:
<CscFeature_Camera_ShutterSoundMenu>false</CscFeature_Camera_ShutterSoundMenu>
Change false to true

Done!


How to Disable the Backup Assitant Popup in Contacts

Navigate to system/csc/feature.xml

Find this line under <!-- Contacts -->:

Code:
 <CscFeature_Contact_EnableBackupAssistance>true</CscFeature_Contact_EnableBackupAssistance>
Change True to false

Done!


Enable (Almost) Unlimited Contact Linking

Navigate to system/csc/feature.xml

Find or add this line under <!-- Contacts -->:

Code:
 <CscFeature_Contact_SetLinkCountMaxAs>10</CscFeature_Contact_SetLinkCountMaxAs>
Change 10 value to whatever you want (like 100000 or whatever) that value is the number of linkable contacts

Done!

Enable (Almost) Unlimited Contact Name Length

Navigate to system/csc/feature.xml

Find or add this line under <!-- Contacts -->:

Code:
 <CscFeature_Contact_LimitNameLength>1</CscFeature_Contact_LimitNameLength>
Change 1 value to whatever you want (like 100000 or whatever) that value is the max name length

Done!


How to Enable the Exit an Terminate Options in Browser

Navigate to system/csc/feature.xml

Add these lines to the <!-- WEB --> Section:

Code:
<CscFeature_Web_AddOptionToTerminate>true</CscFeature_Web_AddOptionToTerminate>
    <CscFeature_Web_EnablePromptToExit>true</CscFeature_Web_EnablePromptToExit>

Done!


How to Enable Almost Unlimited Tabs in Browser

Navigate to system/csc/feature.xml

Add this line to the <!-- WEB --> Section:

Code:
<CscFeature_Web_EnableMaxTabs>10000</CscFeature_Web_EnableMaxTabs>

Done!


How to Enable Full Page Looping in launcher

Navigate to system/csc/feature.xml

Find this line :

Code:
 <CscFeature_Launcher_DisablePageRotation>true</CscFeature_Launcher_DisablePageRotation>
Change True to false

Done!


How to Hide an App from the App Drawer

Decompile your apk you want to hide
Navigate to AndroidManifest.xml

Find this line:

Code:
    <category android:name="android.intent.category.LAUNCHER" />
Change to:

Code:
    <category android:name="android.intent.category.GADGET" />
Now recompile your app, and you have to do one other thing. Whenever editing the AndroidManifest you must resign your app or it will force close. You can use a program like APK-Multi Tool to do this if you want!

How to Enable Full 4 Way (360) Device Rotation

Decompile framework-res.apk with apktool
Navigate to res/values/bools.xml

Find:

Code:
    <bool name="config_allowAllRotations">false</bool>
Change To:

Code:
Code:
    <bool name="config_allowAllRotations">true</bool>
Save, Compile and You're done


How to make your Rom/Phone Multilanguage

This will enabled about 20-30 extra languages to choose from in settings

Add in the lines so your file looks like this:

Navigae to system/csc/language.xml


Code:
<SamsungMobileLanguage>
   <Country>USA</Country>
   <CountryISO>en</CountryISO>
   <SalesCode>VZW</SalesCode>
   <LanguageSet>
          <Display>
         en_US;en_GB;en_AU;en_IE;en_NZ;en_ZA;ko_KR;de_AT;de_DE;de_CH;fr_FR;fr_CH;
bg_BG;cs_CZ;da_DK;el_GR;es_ES;et_EE;fi_FI;ga_IE;hr_HR;hu_HU;is_IS;it_IT;
lt_LT;lv_LV;mk_MK;nb_NO;nl_NL;nl_BE;pl_PL;pt_PT;ro_RO;sr_RS;sv_SE;tr_TR;
ca_ES;eu_ES;gl_ES;kk_KZ;ru_RU; sk_SK; sl_SI; uk_UA;
az_AZ;hy_AM; ka_GE;
ja_JP;en_PH;in_ID;ms_MY;th_TH;vi_VN;
es_US;pt_BR;
en_CA;fr_CA;zh_CN;
          </Display>
          <Input>
                <SupportList>
        	en_US;en_GB;az;ca;cs;da;de;et;es;eu;el;fr;gl;ka;hr;it;is;kk;lv;lt;hu;nb;nl;pl;pt;ru;ro;fi;sr;sk;sl;sv;tr;uk;ko;hy;bg;ja;in;ms;th;vi;zh_CN;
                </SupportList>
                <EnableList>
                </EnableList>
          </Input>
   </LanguageSet>
</SamsungMobileLanguage>
And you're done

How to disable Signature Check

This will disable Signature checking on System Apps

Decompile Services.jar with smali/baksmali

Navigate to: /smali/com/android/server/pm/PackageManagerService.smali

Search For:

Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
Replace the whole method with this:
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
    .locals 7

    const-string p0, "SBreen:"

    const-string p1, "Skip signature check"

    invoke-static {p0, p1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I

    const/4 v6, 0x0

    return v6
.end method
Save, Recompile and You're done!


How to disable Unplug from USB Turns on Screen

Decompile framework-res.apk
Navigate to res/values/bools.xml

Find

Code:
<bool name="config_unplugTurnsOnScreen">true</bool>
Change to:


Code:
<bool name="config_unplugTurnsOnScreen">false</bool>
Save, Recompile and you're done


Permantly Disable Help Text on Lockscreen

Decompile framework-res.apk
Navigate to res/values/bools.xml

Find

Code:
<bool name="config_isHelpOverlayEnabled">true</bool>
Change to:


Code:
<bool name="config_isHelpOverlayEnabled">false</bool>
Save, Recompile and you're done


Change Low Battery Values

Decompile framework-res.apk
Navigate to res/values/integers.xml

Find:
Code:
                <integer name="config_criticalBatteryWarningLevel">5</integer>
    <integer name="config_lowBatteryWarningLevel">15</integer>
    <integer name="config_lowBatteryCloseWarningLevel">20</integer>
Change To:

Code:
                <integer name="config_criticalBatteryWarningLevel">1</integer>
    <integer name="config_lowBatteryWarningLevel">5</integer>
    <integer name="config_lowBatteryCloseWarningLevel">10</integer>
You can change these to whatever you want but this is what i have.
Save, Recompile and you're done


Add a Custom Help Text to the Lockscreen

Navigate to res/values/strings.xml

Find:
Code:
            <string name="lockscreen_unlock_guide_text">Swipe Screen to Unlock.</string>
Change To:

Code:
                    <string name="lockscreen_unlock_guide_text">HYPERDRIVE</string>
You can change this text to have it say whatever you want on the lockscreen
Save, Recompile and you're done


Hit Thanks if you like these Guides!

Credits/Thanks
DSA
 
Last edited:

sbreen94

Inactive Recognized Developer / Inactive Recognize
Apr 18, 2012
5,292
22,655
0
How to Hack Touchwiz Launcher for Insane Speed

This Will greatly increase the Speed of the page swiping and animations on the Stock Samsung Launcher

Decompile SecLauncher3.apk
Navigate to res/values-sw359dp-xxhdpi/integers.xml

Find

Code:
<integer name="page_snap_animation_duration">550</integer>
Change to:


Code:
<integer name="page_snap_animation_duration">320</integer>
The Value in the the integer here refers to the speed that the launcher animates at. The value above is what i use and is very good in my opinion. Feel free to decide what value you like best. You have to be careful not to go to low as it will get very jerky and not smooth. Enjoy!

Save, Recompile and you're done. Enjoy the Super Snappy Launcher
 
Last edited:

upndwn4par

Inactive Recognized Developer
Jan 22, 2012
3,640
10,375
0
New Jersey
Hey Galaxy S4 Community! Thought I would post some How-To guides on some features found in my roms and how to enable some features in your rom or on your phone.These would probably benefit rom developers the most, but hopefully they will help everyone to learn a bit!

For these Mods you will need basic knowledge about the following tools and skills, i won't go over the processes.

  • notepad++
  • apktool
  • smali/baksmali

How to Enable Camera Shutter Sound Menu

Navigate to system/csc/feature.xml

Find this line:

Code:
<CscFeature_Camera_ShutterSoundMenu>false</CscFeature_Camera_ShutterSoundMenu>
Change false to true

Done!


How to Disable the Backup Assitant Popup in Contacts

Navigate to system/csc/feature.xml

Find this line under <!-- Contacts -->:

Code:
 <CscFeature_Contact_EnableBackupAssistance>true</CscFeature_Contact_EnableBackupAssistance>
Change True to false

Done!


Enable (Almost) Unlimited Contact Linking

Navigate to system/csc/feature.xml

Find or add this line under <!-- Contacts -->:

Code:
 <CscFeature_Contact_SetLinkCountMaxAs>10</CscFeature_Contact_SetLinkCountMaxAs>
Change 10 value to whatever you want (like 100000 or whatever) that value is the number of linkable contacts

Done!

Enable (Almost) Unlimited Contact Name Length

Navigate to system/csc/feature.xml

Find or add this line under <!-- Contacts -->:

Code:
 <CscFeature_Contact_LimitNameLength>1</CscFeature_Contact_LimitNameLength>
Change 1 value to whatever you want (like 100000 or whatever) that value is the max name length

Done!


How to Enable the Exit an Terminate Options in Browser

Navigate to system/csc/feature.xml

Add these lines to the <!-- WEB --> Section:

Code:
<CscFeature_Web_AddOptionToTerminate>true</CscFeature_Web_AddOptionToTerminate>
    <CscFeature_Web_EnablePromptToExit>true</CscFeature_Web_EnablePromptToExit>

Done!


How to Enable Almost Unlimited Tabs in Browser

Navigate to system/csc/feature.xml

Add this line to the <!-- WEB --> Section:

Code:
<CscFeature_Web_EnableMaxTabs>10000</CscFeature_Web_EnableMaxTabs>

Done!


How to Enable Full Page Looping in launcher

Navigate to system/csc/feature.xml

Find this line :

Code:
 <CscFeature_Launcher_DisablePageRotation>true</CscFeature_Launcher_DisablePageRotation>
Change True to false

Done!


How to Hide an App from the App Drawer

Decompile your apk you want to hide
Navigate to AndroidManifest.xml

Find this line:

Code:
    <category android:name="android.intent.category.LAUNCHER" />
Change to:

Code:
    <category android:name="android.intent.category.GADGET" />
Now recompile your app, and you have to do one other thing. Whenever editing the AndroidManifest you must resign your app or it will force close. You can use a program like APK-Multi Tool to do this if you want!

How to Enable Full 360 Degree Rotation

Decompile framework-res.apk with apktool
Navigate to res/values/bools.xml

Find:

Code:
    <bool name="config_allowAllRotations">false</bool>
Change To:

Code:
Code:
    <bool name="config_allowAllRotations">true</bool>
Save, Compile and You're done


How to make your Rom/Phone Multilanguage

This will enabled about 20-30 extra languages to choose from in settings

Add in the lines so your file looks like this:

Navigae to system/csc/language.xml


Code:
<SamsungMobileLanguage>
   <Country>USA</Country>
   <CountryISO>en</CountryISO>
   <SalesCode>VZW</SalesCode>
   <LanguageSet>
          <Display>
         en_US;en_GB;en_AU;en_IE;en_NZ;en_ZA;ko_KR;de_AT;de_DE;de_CH;fr_FR;fr_CH;
bg_BG;cs_CZ;da_DK;el_GR;es_ES;et_EE;fi_FI;ga_IE;hr_HR;hu_HU;is_IS;it_IT;
lt_LT;lv_LV;mk_MK;nb_NO;nl_NL;nl_BE;pl_PL;pt_PT;ro_RO;sr_RS;sv_SE;tr_TR;
ca_ES;eu_ES;gl_ES;kk_KZ;ru_RU; sk_SK; sl_SI; uk_UA;
az_AZ;hy_AM; ka_GE;
ja_JP;en_PH;in_ID;ms_MY;th_TH;vi_VN;
es_US;pt_BR;
en_CA;fr_CA;zh_CN;
          </Display>
          <Input>
                <SupportList>
        	en_US;en_GB;az;ca;cs;da;de;et;es;eu;el;fr;gl;ka;hr;it;is;kk;lv;lt;hu;nb;nl;pl;pt;ru;ro;fi;sr;sk;sl;sv;tr;uk;ko;hy;bg;ja;in;ms;th;vi;zh_CN;
                </SupportList>
                <EnableList>
                </EnableList>
          </Input>
   </LanguageSet>
</SamsungMobileLanguage>
And you're done

How to disable Signature Check

This will disable Signature checking on System Apps

Decompile Services.jar with smali/baksmali

Navigate to: /smali/com/android/server/pm/PackageManagerService.smali

Search For:

Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
Replace the whole method with this:
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
    .locals 7

    const-string p0, "SBreen:"

    const-string p1, "Skip signature check"

    invoke-static {p0, p1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I

    const/4 v6, 0x0

    return v6
.end method
Save, Recompile and You're done!


How to disable Unplug from USB Turns on Screen

Decompile framework-res.apk
Navigate to res/values/bools.xml

Find

Code:
<bool name="config_unplugTurnsOnScreen">true</bool>
Change to:


Code:
<bool name="config_unplugTurnsOnScreen">false</bool>
Save, Recompile and you're done




Credits/Thanks
DSA


You might want to warn people that disabling signature checks may create a major security flaw. Maybe a security pro like @jcase can comment.

Also, most if not all of these mods have been posted elsewhere.

References:
 

sbreen94

Inactive Recognized Developer / Inactive Recognize
Apr 18, 2012
5,292
22,655
0
[/HIDE]

You might want to warn people that disabling signature checks may create a major security flaw. Maybe a security pro like @jcase can comment.

Also, most if not all of these mods have been posted elsewhere.

References:
Great! Doesn't mean that i didn't figure them out myself ;) or that others would find them. I posted this thread as something that up and coming s4 developers could find easily, use and know would work
 
Last edited:

jcase

Retired Forum Moderator / Senior Recognized Develo
Feb 20, 2010
6,331
15,767
0
Sequim WA
Disabling signature checks is pretty foolish, and completely negates Android's security model

[/HIDE]

You might want to warn people that disabling signature checks may create a major security flaw. Maybe a security pro like @jcase can comment.

Also, most if not all of these mods have been posted elsewhere.

References:
 

Shaftamle

Recognized Themer
Nov 6, 2012
2,390
5,313
0
Ellicott City
I got one more question. Slightly off topic. Once an apk is decompiled and you have editied your xmls, do they have to be recompiled or can you use 7 zip to drop them into a copy of the original built apk? Similar to what you can do with png's. Drag an drop.

Sent from a Shaftamle Galaxy S4
"Thanks Button" is always appreciated!
http://mycolorscreen.com/Shaftamle/
 

sbreen94

Inactive Recognized Developer / Inactive Recognize
Apr 18, 2012
5,292
22,655
0
I got one more question. Slightly off topic. Once an apk is decompiled and you have editied your xmls, do they have to be recompiled or can you use 7 zip to drop them into a copy of the original built apk? Similar to what you can do with png's. Drag an drop.

Sent from a Shaftamle Galaxy S4
"Thanks Button" is always appreciated!
http://mycolorscreen.com/Shaftamle/
It depends which xml you are talking about. Certain ones can and certain ones cant
 

sbreen94

Inactive Recognized Developer / Inactive Recognize
Apr 18, 2012
5,292
22,655
0
Styles/Colors.XML is the one I think. basically the xmls pertaining to changing color.

I'll probly just try it both ways.

Sent from a Shaftamle Galaxy S4
"Thanks Button" is always appreciated!
http://mycolorscreen.com/Shaftamle/
You probably need to compile. theres only a few xmls you can do without compiling. The xml file at the bottom and the layout folder come to mind off hand. Anything in a values folder you have to compile
 
  • Like
Reactions: Shaftamle
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone