[Android General] tdunham:
TOUCHWIZ UNIFIED MODS THREAD - GUIDES & LINKS

Always a work in progress. Refer here for guides and links to various mods to help improve the Android experience.

Please feel free to contribute as well. :)

This thread requires basic knowledge of compiling and decompiling apk and jar files so they can be edited.

___________________________________________________

[Guide How-to] Remove Lockscreen Carrier

This removes the lockscreen carrier text.

Keyguard.apk smali edit

:

smali/com/android/keyguard/CarrierText.smali:

Change if-nez to if-eqz in the indicated edit in BLUE:

.method private static concatenate(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
.locals 5

const/4 v2, 0x1

const/4 v3, 0x0

invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

move-result v4

[COLOR="Blue"]if-eqz [/COLOR]v4, :cond_1

move v0, v2

___________________________________________________

[Guide How-to] USB Plug/Unplugged Disable Wake + Android L

This modification will prevent the phone from waking for both (or either) USB/Power unplugged or plugged in states.

Services.jar edits:

smali/com/android/server/power/PowerManagerService.smali:

All edits are in .method private updateIsPoweredLocked(I)V

Expand registers from 12 to 14 (your code may be different dependant on decompiling method)

.method private updateIsPoweredLocked(I)V
[COLOR="Blue"].locals 14
[/COLOR]

Delete the line in RED to disable wake when plugged in.

const-string v4, "charger plug"

invoke-virtual {v8, v0, v4}, Landroid/os/PowerManager;->newWakeLock(ILjava/lang/String;)Landroid/os/PowerManager$WakeLock;

move-result-object v7

invoke-virtual {v7, v3}, Landroid/os/PowerManager$WakeLock;->setReferenceCounted(Z)V

const-wide/16 v4, 0x2710

[COLOR="Red"]invoke-virtual {v7, v4, v5}, Landroid/os/PowerManager$WakeLock;->acquire(J)V
[/COLOR]
:cond_1

Next two edits to disable wake when unplugged.

A few lines lower, add lines in BLUE.

iput-boolean v0, p0, Lcom/android/server/power/PowerManagerService;->mPowerIsChanged:Z

:cond_2
invoke-direct {p0, v10, v9, v6}, Lcom/android/server/power/PowerManagerService;->shouldWakeUpWhenPluggedOrUnpluggedLocked(ZIZ)Z

move-result v0

[COLOR="Blue"]goto :goto_td
[/COLOR] if-eqz v0, :cond_3

iput-object v0, p0, Lcom/android/server/power/PowerManagerService;->mScreenOnReason:Ljava/lang/String;

invoke-direct {p0, v1, v2}, Lcom/android/server/power/PowerManagerService;->wakeUpNoUpdateLocked(J)Z

[COLOR="Blue"]:goto_td[/COLOR]
:cond_3
const/16 v5, 0x3e8

Android L Edits

Services.jar edits:

Add new code in BLUE

Note: This edit will disable BOTH plugged and unplugged.

They are not separate edits as previous builds.

smali/com/android/server/power/PowerManagerService.smali:

.method private updateIsPoweredLocked(I)V
.
.
.

invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

move-result-wide v2

invoke-direct {p0, v9, v8, v0}, Lcom/android/server/power/PowerManagerService;->shouldWakeUpWhenPluggedOrUnpluggedLocked(ZIZ)Z

move-result v1

[COLOR="Blue"]const v1, 0x0
[/COLOR]
if-eqz v1, :cond_1

new-instance v1, Ljava/lang/StringBuilder;

invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

__________________________________________________

[Guide How-to] Remove Safe Volume Warning

This removes the safe volume warning that pops up when you turn up the volume beyond a certain point.

This mod requires modifying framework.jar

Edit smali/android/media/AudioService.smali:

Changes are in .method private checkSafeMediaVolume(III)Z

, new lines are in BLUE:

:cond_1
iget-object v6, p0, Landroid/media/AudioService;->mSafeMediaVolumeState:Ljava/lang/Integer;

invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I

move-result v6

[COLOR="Blue"]goto :goto_td
[/COLOR]
if-ne v6, v7, :cond_4

iget-object v6, p0, Landroid/media/AudioService;->mStreamVolumeAlias:[I

goto :goto_1

[COLOR="Blue"]:goto_td[/COLOR]
:cond_4
monitor-exit v5
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0

goto :goto_0
.end method

____________________________________________________

[Guide How-to] Replace Recents with Menu & LongPress Home for Recents

This guide is for the Galaxy S5 and should work on all variants.

Keylayout edits:

system/usr/keylayout/Generic.kl

Change key 254 from APP_SWITCH to MENU

key 254 MENU

system/usr/keylayout/gpio-keys.kl

Do the same to key 254

key 254 MENU

Now Recent Apps capacitive key is Menu (single-press) and Search (long-press).

However, we have now lost access to recent apps via a hardware key.

How-to map Recent Apps to Long-press Home

android.policy.jar edits

smali/com/android/internal/policy/impl/PhoneWindowManager.smali

Search for and delete the line in RED.

iget v2, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mLongPressOnHomeBehavior:I

if-eqz v2, :cond_0

iput-boolean v5, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHomeConsumed:Z

const/4 v2, 0x0

invoke-virtual {p0, v2, v4, v4}, Lcom/android/internal/policy/impl/PhoneWindowManager;->performHapticFeedbackLw(Landroid/view/WindowManagerPolicy$WindowState;IZ)Z

iget v2, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mLongPressOnHomeBehavior:I

[COLOR="Red"] if-ne v2, v5, :cond_6
[/COLOR]
invoke-direct {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->toggleRecentApps()V

__________________________________________________

[Guide How-To] Native Call Recording KK 4.4.2

This enables call recording natively.

Simple CSC edit.

system/csc/feature.xml edit

Add new section and must be inserted BEFORE

</FeatureSet>

</SamsungMobileFeature>

(** please note that feature.xml can be overwritten so this may not stick if using a third party software like Xposed)

<!-- Call -->
<CscFeature_VoiceCall_ConfigRecording>RecordingAllowed</CscFeature_VoiceCall_ConfigRecording>

Installation and Other Notes

:

- recordings are saved in internal SD/Sounds

____________________________________________________

[Guide/How-To] Remove Location Consent Popup

Remove that annoying Location Consent popup.

We are editing the file GmsCore.apk. The apk is very difficult to de/recompile so we are just editing classes.dex file separately. Included is the smali/baksmali compiling tool. Just extract the classes.dex from GmsCore.apk and place it in the same folder as the extracted files from the tool and select decompile.bat.

This will create an output folder called classout. Once the edits are complete, you will select compile.bat and (if there are no errors) a newly created file new-classes.dex will be created. Rename this to classes.dex and insert it back into GmsCore.apk.

Edit classout/com/google/android/location/network/NetworkLocationService.smali

.method static a(Landroid/content/Context;)V, change if-nez to if-eqz as indicated in BLUE:

move-result-object v0

.line 106
[COLOR="Blue"]if-eqz [/COLOR]v0, :cond_2c

.line 107
const-string v0, "GmsNetworkLocationService"

const-string v1, "applySettings(): provider not available"

Edit classout/com/google/android/location/network/ConfirmAlertActivity.smali

Make the change indicated in BLUE:

.method public constructor <init>()V
.registers 2

.prologue
.line 44
invoke-direct {p0}, Landroid/app/Activity;-><init>()V

.line 59
[COLOR="Blue"]const/4 v0, 0x1
[/COLOR]
iput-boolean v0, p0, Lcom/google/android/location/network/ConfirmAlertActivity;->c:Z

.line 60
const/4 v0, 0x0

iput-object v0, p0, Lcom/google/android/location/network/ConfirmAlertActivity;->d:Landroid/app/Dialog;

.line 163
return-void
.end method

Make the change indicated in BLUE:

.method public onClick(Landroid/content/DialogInterface;I)V
.registers 6

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

if-ne p2, v0, :cond_2a

const/4 v0, 0x1

:goto_5
iput-boolean v0, p0, Lcom/google/android/location/network/ConfirmAlertActivity;->c:Z

____________________________________________________

[Guide] [How-to] Disable Battery Cover & Charging Cover Toasts

This disables both the battery cover and the charging/usb cover toast messages.

Decompile system/app/PopupuiReceiver.apk.

Edit res/values/bools.xml.

Change true value to false in the line below:

<bool name="display_battery_cover_popup">[COLOR="Blue"]false[/COLOR]</bool>

Notes:

This should also resolve the battery cover toast from appearing for a split second after a reboot and the screen is unlocked.

. .

____________________________________________________

[Guide How-to] Bluetooth Scan Dialog Removal

This will remove the scan dialog popup when Bluetooth is enabled.

SecSettings.apk edit:

smali/com/android/settings/Bluetooth/BluetoothScanDialog.smali

.method private initialize()V

At the end of the method, delete the line in RED:

invoke-virtual {v0, v4}, Landroid/app/Dialog;->setOnCancelListener(Landroid/content/DialogInterface$OnCancelListener;)V

[COLOR="Red"]invoke-virtual {v0}, Landroid/app/Dialog;->show()V
[/COLOR]
return-void
.end method

____________________________________________________

[Guide How-to] Maximum StatusBar Brightness 4.4.2

I noticed that Samsung always make the statusbar notification areas a bit dim.

EXTRA - Also look at the link HERE

This requires decompiling SystemUI.apk.

SystemUI/res/values/dimens.xml edit

Change these three lines
New values are in BLUE
<item type="dimen" name="status_bar_icon_drawing_alpha">[COLOR="Blue"]100.0%[/COLOR]</item>
<item type="dimen" name="system_icon_area_alpha">[COLOR="Blue"]1.0[/COLOR]</item>
<item type="dimen" name="notification_icon_area_alpha">[COLOR="Blue"]1.0[/COLOR]</item>

. .

____________________________________________________

[Guide How-to] Remove Airplane Quicksetting Popup + ANDROID L

Remove the permission popup for Airplane mode when selected from Quicksettings.

SystemUI.apk smali edit:

com/android/systemui/statusbar/policy/quicksetting/AirplaneModeQuickSettingButton.smali

Add the following code in BLUE.

(the values MUST match the surrounding code and may be different for your build)

.method private showConfirmPopup(Z)V

invoke-virtual {v6, v7}, Landroid/view/Window;->setType(I)V

:goto_4

[COLOR="Blue"] new-instance v8, Lcom/android/systemui/statusbar/policy/quicksetting/AirplaneModeQuickSettingButton$4;

invoke-direct {v8, p0, v5}, Lcom/android/systemui/statusbar/policy/quicksetting/AirplaneModeQuickSettingButton$4;-><init>(Lcom/android/systemui/statusbar/policy/quicksetting/AirplaneModeQuickSettingButton;Z)V

const v6, 0x0

invoke-virtual {v8, v6, v5}, Lcom/android/systemui/statusbar/policy/quicksetting/AirplaneModeQuickSettingButton$4;->onClick(Landroid/content/DialogInterface;I)V

return-void
[/COLOR]
iget-object v6, p0, Lcom/android/systemui/statusbar/policy/quicksetting/AirplaneModeQuickSettingButton;->mAlertDialog:Landroid/app/AlertDialog;

invoke-virtual {v6}, Landroid/app/Dialog;->show()V

Android L

Add new code in BLUE

smali\com\android\systemui\qs\tiles\AirplaneModeTile.smali

const/16 v5, 0x7d9

invoke-virtual {v4, v5}, Landroid/view/Window;->setType(I)V

:goto_3

[COLOR="Blue"]
new-instance v6, Lcom/android/systemui/qs/tiles/AirplaneModeTile$6;

invoke-direct {v6, p0, p1}, Lcom/android/systemui/qs/tiles/AirplaneModeTile$6;-><init>(Lcom/android/systemui/qs/tiles/AirplaneModeTile;Z)V

const v4, 0x0

invoke-virtual {v6, v4, p1}, Lcom/android/systemui/qs/tiles/AirplaneModeTile$6;->onClick(Landroid/content/DialogInterface;I)V

return-void[/COLOR]

iget-object v4, p0, Lcom/android/systemui/qs/tiles/AirplaneModeTile;->mAlertDialog:Landroid/app/AlertDialog;

invoke-virtual {v4}, Landroid/app/AlertDialog;->show()V

return-void

____________________________________________________

[Guide How-To] ENABLE CALL & MSG BLOCKING

This enables call and msg blocking natively.

Simple CSC edit.

system/csc/feature.xml edit

Must be inserted BEFORE

</FeatureSet>

</SamsungMobileFeature>

(** please note that feature.xml can be overwritten so this may not stick if using a third party software like Xposed)

<CscFeature_Setting_EnableMenuBlockCallMsg>TRUE</CscFeature_Setting_EnableMenuBlockCallMsg>

. .

Credits to [MENTION=369057]majdinj[/MENTION] for his thread HERE

____________________________________________________

[Guide How-To] ENABLE WiFi & USB Tethering (HOTSPOT)

This will enable WiFi Hotspot and USB tethering.

services.jar smali edit:

smali/com/android/server/connectivity/Tethering.smali

Search for the text highlighted in GREEN and make the edit in BLUE:

const-string/jumbo v1, "tether_dun_required"

[COLOR="Blue"]const/4 v2, 0x0[/COLOR]

invoke-static {v0, v1, v2}, Landroid/provider/Settings$Secure;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z

const-string v0, "Tethering"

[COLOR="Green"]const-string v1, "Set dun requiered as 1"
[/COLOR]

__________________________________________________

[Guide How-To] ENABLE DEVELOPER OPTIONS

This will enable Developer Options settings item without having to do the build multiple tap.

SecSettings.apk edits:

We will be editing multiple xml files and adding an entry to ids.xml.

res/values/ids.xml

add this entry:
<item type="id" name="dev_settings">false</item>

res/xml edits same edit to all 4 listed:

general_headers.xml

grid_settings_headers.xml

management_headers.xml

settings_headers.xml

Before:

<header android:icon="@drawable/ic_settings_development" android:id="@id/development_settings" android:title="@string/development_settings_title" android:fragment="com.android.settings.DevelopmentSettings" />

After:

<header android:icon="@drawable/ic_settings_development" android:id="@id/dev_settings" android:title="@string/development_settings_title" android:fragment="com.android.settings.DevelopmentSettings" />

Credits [MENTION=1167171]rompnit[/MENTION] for this one as well.

Android 5.1.1 guide is --> HERE

__________________________________________________

[Guide How-To] CHANGE DEFAULT ANIMATION SCALES

This smali edit will change the default animation scales for increased GUI speed.

services.jar edit:

.method private constructor <init>(Landroid/content/Context;Lcom/android/server/power/PowerManagerService;Lcom/android/server/display/DisplayManagerService;Lcom/android/server/input/InputManagerService;ZZZ)V

Search down for first occurrence of 0x3f80

Make the changes in BLUE

iput-object v9, p0, Lcom/android/server/wm/WindowManagerService;->mFocusedApp:Lcom/android/server/wm/AppWindowToken;

[COLOR="Blue"]const/high16 v9, 0x3f00[/COLOR]

iput v9, p0, Lcom/android/server/wm/WindowManagerService;->mWindowAnimationScale:F

[COLOR="Blue"]const/high16 v9, 0x3f00
[/COLOR]
iput v9, p0, Lcom/android/server/wm/WindowManagerService;->mTransitionAnimationScale:F

[COLOR="Blue"]const/high16 v9, 0x3f00[/COLOR]

iput v9, p0, Lcom/android/server/wm/WindowManagerService;->mAnimatorDurationScale:F

Credits [MENTION=4854133]bajasur[/MENTION] for the original guide HERE

__________________________________________________

[Guide How-To] REMOVE IME KEYBOARD SWITCHER NOTIFICATION

This is a very simple edit but I couldn't find a guide anywhere to link to so here it is.

framework-res.apk edit:

res/values/bools.xml

Change the value indication in BLUE from true to false

<bool name="show_ongoing_ime_switcher">[COLOR="Blue"]false[/COLOR]</bool>

__________________________________________________

[Guide How-To] DISABLE HOME KEY WAKE

This will prevent the Home Key from waking the phone.

android.policy.jar smali edit:

smali/com/android/interal/policy/impl/PhoneWindowManager.smali

.method private isWakeKeyWhenScreenOff(I)Z

Add the new lines in BLUE

:sswitch_1
move v0, v1

goto :goto_0

[COLOR="Blue"]:sswitch_4

return v1

nop
[/COLOR]
:sswitch_data_0
.sparse-switch
[COLOR="Blue"]0x3 -> :sswitch_4
[/COLOR] 0x18 -> :sswitch_0
0x19 -> :sswitch_0

Credits [MENTION=1167171]rompnit[/MENTION] for this one too.

__________________________________________________

[Guide How-To] REMOVE ROAMING NOTIFICATION

This will remove the ongoing Roaming notification.

SecTeleservice.apk smali edit:

smali/com/android/phone/PhoneGlobals$5.smali

Search for hideDataDisconnectedRoaming

(there is only one occurrence)

Delete the TWO lines in RED

iget-object v0, v0, Lcom/android/phone/PhoneGlobals;->notificationMgr:Lcom/android/phone/NotificationMgr;

move-object/from16 v30, v0

[COLOR="Red"] invoke-virtual/range {v30 .. v30}, Lcom/android/phone/NotificationMgr;->showDataDisconnectedRoaming()V
[/COLOR]
goto/16 :goto_0

:sswitch_7
move-object/from16 v0, p0

iget-object v0, v0, Lcom/android/phone/PhoneGlobals$5;->this$0:Lcom/android/phone/PhoneGlobals;

move-object/from16 v30, v0

move-object/from16 v0, v30

iget-object v0, v0, Lcom/android/phone/PhoneGlobals;->notificationMgr:Lcom/android/phone/NotificationMgr;

move-object/from16 v30, v0

[COLOR="Red"]invoke-virtual/range {v30 .. v30}, Lcom/android/phone/NotificationMgr;->hideDataDisconnectedRoaming()V
[/COLOR]
goto/16 :goto_0

__________________________________________________

[Guide How-To] DISABLE SCROLLING CACHE

This guide will show you how to disable scrolling cache.

framework2.jar smali edit:

smali/android/widget/AbsListView.smali

Make the modification in BLUE

.method private createScrollingCache()V
.locals 2

.prologue
[COLOR="Blue"]const/4 v1, 0x0[/COLOR]

Make the modification in BLUE

.method private initAbsListView()V
.locals 11

.prologue
const-wide/16 v4, 0x0

const/4 v0, 0x0

const/4 v10, 0x1

.line 1159
invoke-virtual {p0, v10}, Landroid/view/View;->setClickable(Z)V

.line 1160
invoke-virtual {p0, v10}, Landroid/widget/AdapterView;->setFocusableInTouchMode(Z)V

.line 1161
invoke-virtual {p0, v0}, Landroid/view/View;->setWillNotDraw(Z)V

.line 1162
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->setAlwaysDrawnWithCacheEnabled(Z)V

.line 1163
[COLOR="Blue"]invoke-virtual {p0, v0}, Landroid/widget/AbsListView;->setScrollingCacheEnabled(Z)V
[/COLOR]

Make the modification in BLUE

Important note

:

You will not see the .parameter if using apktool with the -b commandline decompile option. So don't use it. ;)

.method public setScrollingCacheEnabled(Z)V
.locals 1
[COLOR="Blue"].parameter "disabled"[/COLOR]

.prologue
.line 1999

__________________________________________________

[Guide How-To] DISABLE MSL & ENABLE PRL WRITE IN ##DATA# MENU

This guide disables the need to input MSL and also enables flashing PRL's right from the ##DATA# menu.

system/csc/sales_code.dat edit:

Our stock rom has XAS in this file and it needs to changed to SPR for the new features to work.

hiddenmenu.apk smali edit:

smali /com/android/hiddenmenu/hdata.smali

Search for the string "MSM7630_SURF".

There are 3 occurrences but only two of them have a "SPR" right above them.

We are changing the "SPR" to "SPX" in both occurrences:

if-nez v2, :cond_c

const-string v2, [COLOR="Blue"]"SPX"
[/COLOR]
sget-object v3, Lcom/android/hiddenmenu/hdata;->mSalesCode:Ljava/lang/String;

invoke-virtual {v2, v3}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

move-result v2

if-nez v2, :cond_c

const-string v2, "XAS"

sget-object v3, Lcom/android/hiddenmenu/hdata;->mSalesCode:Ljava/lang/String;

invoke-virtual {v2, v3}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

move-result v2

if-nez v2, :cond_c

const-string v2, "MSM7630_SURF"

:cond_c
const-string v2, [COLOR="Blue"]"SPX"
[/COLOR]
sget-object v3, Lcom/android/hiddenmenu/hdata;->mSalesCode:Ljava/lang/String;

invoke-virtual {v2, v3}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

move-result v2

if-nez v2, :cond_d

const-string v2, "MSM7630_SURF"

smali/com/android/hiddenmenu/hdata_options.smali

This edit is similar to the ones above but we are changing "VZW" string to "SPR".

const-string v3, "username_preference"

invoke-virtual {v2, v3}, Landroid/preference/PreferenceScreen;->setKey(Ljava/lang/String;)V

const-string v3, "Edit"

invoke-virtual {v2, v3}, Landroid/preference/PreferenceScreen;->setTitle(Ljava/lang/CharSequence;)V

const-string v3, [COLOR="Blue"]"SPR"[/COLOR]

sget-object v4, Lcom/android/hiddenmenu/hdata_options;->mSalesCode:Ljava/lang/String;

smali/com/android/hiddenmenu/HiddenmenuBroadcastReceiver.smali

Search for the FIRST occurrence of DebugMenu_Check

Delete lines in RED, change text in BLUE

Before:

if-nez v0, :cond_2c

const-class v0, Lcom/android/hiddenmenu/DebugMenu_Check;

invoke-virtual {v3, p1, v0}, Landroid/content/Intent;->setClass(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent;

[COLOR="Red"]move-result-object v0

const-string v1, "keyString"

invoke-virtual {v0, v1, v5}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
[/COLOR]
move v1, v2

goto/16 :goto_5

After:

if-nez v0, :cond_2c

const-class v0, Lcom/android/hiddenmenu/[COLOR="Blue"]DEBUGMENU[/COLOR];

invoke-virtual {v3, p1, v0}, Landroid/content/Intent;->setClass(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent;

move v1, v2

goto/16 :goto_5

Credit goes to [MENTION=549639]digiblur[/MENTION] for this incredible mod.

(And permission to post a guide for it :))

__________________________________________________

[Guide How-To] CREATE AN XPOSED PROOF FEATURES.XML FOR CSC TWEAKS

Lets face it, xposed modules always seem to overwrite my favorite CSC tweaks.

This guide will show you how to use your own custom features.xml that won't be overwritten.

framework2.jar smali edit:

smali/com/sec/android/app/CscFeature.smali

Search for and rename feature.xml to whatever you want.

There are two locations:

.field private static final FEATURE_XML:Ljava/lang/String; = "/system/csc/[COLOR="Red"]feature.xml[/COLOR]"

const-string v10, "/system/csc/[COLOR="Red"]feature.xml[/COLOR]"

.field private static final FEATURE_XML:Ljava/lang/String; = "/system/csc/[COLOR="Blue"]ultimate.xml[/COLOR]"

const-string v10, "/system/csc/[COLOR="Blue"]ultimate.xml[/COLOR]"

Now just copy your custom feature.xml to the file (EXAMPLE) ultimate.xml and place it in system/csc and it will be safe from being overwritten by third party apps/tweakers.

__________________________________________________

[Guide How-To] ENABLE LOCKSCREEN ROTATION (with a toggle in mind)

I know there is a bools edit for this but this is the smali way so you can add a toggle.

Keyguard.apk smali edit:

smali/com/android/keyguard/KeyguardViewManager.smali

Change the text indicated in BLUE from 0x0 to 0x1

.method private shouldEnableScreenRotation()Z
.locals 3

const/4 v1, [COLOR="Blue"]0x1
[/COLOR]
iget-object v2, p0, Lcom/android/keyguard/KeyguardViewManager;->mContext:Landroid/content/Context;

__________________________________________________

[Guide How-To] Remove Knox info in About screen

Knox is removed, now remove the info from the about screen too.

SecSettings smali edit:

smali\com\android\settings\DeviceInfoSettings.smali

Find and delete the following line:

invoke-direct/range {p0 .. p0}, Lcom/android/settings/DeviceInfoSettings;->showKnoxVersion()V

Removing Knox for Android 6.0.x -->> http://xdaforums.com/showpost.php?p=66741387&postcount=6078

Note

:

Many many hours go into developing the mods and creating guides for them.

It is also considered good form to hit the :good:Thanks button rather than saying it in open forum. (it just creates unnecessary clutter)