Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,810,588 Members 45,877 Now Online
XDA Developers Android and Mobile Development Forum

[Guides & Links] THE GALAXY S5 UNIFIED MODS THREAD

Tip us?
 
tdunham
Old
(Last edited by tdunham; 16th September 2014 at 02:24 AM.)
#1  
tdunham's Avatar
Recognized Contributor - OP
Thanks Meter 17,978
Posts: 8,165
Join Date: Jun 2008
Location: TampaBay

 
DONATE TO ME
Cool [Guides & Links] THE GALAXY S5 UNIFIED MODS THREAD

GALAXY S5 UNIFIED MODS THREAD - GUIDES & LINKS

This thread is posted in the Galaxy S5 Unified Development Thread and can be viewed across all S5 Variants.



Always a work in progress. Refer here for guides and links to various mods to help improve the S5 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.
The smali edits only require the editing of the classes.dex file so I've included at the bottom of this post is a smali/baksmali tool. Just extract the classes.dex from the apk or jar file (I prefer WINRAR for this. It can be associated to apk files and be used to open jar files as well for file manipulation.) 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 (Notepad++ is HIGHLY recommended), you will select compile.bat and (if there are no errors) a newly created file called new-classes.dex will be created. Rename this to classes.dex and insert it back into the original apk or jar file.
__________________________________________________ _

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

    if-eqz v4, :cond_1

    move v0, v2
__________________________________________________ _

[Guide How-to] USB Plug/Unplugged Disable Wake
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)
Code:
.method private updateIsPoweredLocked(I)V
    .locals 14
Delete the line in RED to disable wake when plugged in.
Code:
    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

    invoke-virtual {v7, v4, v5}, Landroid/os/PowerManager$WakeLock;->acquire(J)V

    :cond_1
Next two edits to disable wake when unplugged.
A few lines lower, add lines in BLUE.
Code:
    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

    goto :goto_td
    if-eqz v0, :cond_3
Code:
    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

    :goto_td
    :cond_3
    const/16 v5, 0x3e8
__________________________________________________ __

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

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

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

    move-result v6

    goto :goto_td

    if-ne v6, v7, :cond_4

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

    :goto_td
    :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/PhoneWindowManager.smali

Search for and delete the line in RED.
Code:
    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

    if-ne v2, v5, :cond_6

    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)
Code:
<!-- 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/ContextV, change if-nez to if-eqz as indicated in BLUE:
Code:
    move-result-object v0

    .line 106
    if-eqz 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:
Code:
.method public constructor <init>()V
    .registers 2

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

    .line 59
    const/4 v0, 0x1

    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:
Code:
.method public onClick(Landroid/content/DialogInterface;I)V
    .registers 6

    .prologue
    const/4 v1, 0x1

    .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:
Code:
    <bool name="display_battery_cover_popup">false</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:
Code:
    invoke-virtual {v0, v4}, Landroid/app/Dialog;->setOnCancelListener(Landroid/content/DialogInterface$OnCancelListener;)V

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

    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.
 
This requires decompiling SystemUI.apk.
SystemUI/res/values/dimens.xml edit
Code:
Change these three lines
New values are in BLUE
    <item type="dimen" name="status_bar_icon_drawing_alpha">100.0%</item>
    <item type="dimen" name="system_icon_area_alpha">1.0</item>
    <item type="dimen" name="notification_icon_area_alpha">1.0</item>
. .
__________________________________________________ __

[Guide How-to] Remove Airplane Quicksetting Popup
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

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

    :goto_4

    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

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

    invoke-virtual {v6}, Landroid/app/Dialog;->show()V
Credits go to @rompnit for this one!
__________________________________________________ __

[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)
Code:
<CscFeature_Setting_EnableMenuBlockCallMsg>TRUE</CscFeature_Setting_EnableMenuBlockCallMsg>
. .
Credits to @majdinj 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:
Code:
    const-string/jumbo v1, "tether_dun_required"

    const/4 v2, 0x0

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

    const-string v0, "Tethering"

    const-string v1, "Set dun requiered as 1"
__________________________________________________

[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
Code:
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:
Code:
    <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:
Code:
    <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 @rompnit for this one as well.
__________________________________________________

[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
Code:
    iput-object v9, p0, Lcom/android/server/wm/WindowManagerService;->mFocusedApp:Lcom/android/server/wm/AppWindowToken;

    const/high16 v9, 0x3f00

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

    const/high16 v9, 0x3f00

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

    const/high16 v9, 0x3f00

    iput v9, p0, Lcom/android/server/wm/WindowManagerService;->mAnimatorDurationScale:F
Credits @bajasur 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
Code:
    <bool name="show_ongoing_ime_switcher">false</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
Code:
    :sswitch_1
    move v0, v1

    goto :goto_0

    :sswitch_4

    return v1

    nop

    :sswitch_data_0
    .sparse-switch
        0x3 -> :sswitch_4
        0x18 -> :sswitch_0
        0x19 -> :sswitch_0
Credits @rompnit 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
Code:
    iget-object v0, v0, Lcom/android/phone/PhoneGlobals;->notificationMgr:Lcom/android/phone/NotificationMgr;

    move-object/from16 v30, v0

    invoke-virtual/range {v30 .. v30}, Lcom/android/phone/NotificationMgr;->showDataDisconnectedRoaming()V

    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

    invoke-virtual/range {v30 .. v30}, Lcom/android/phone/NotificationMgr;->hideDataDisconnectedRoaming()V

    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
Code:
.method private createScrollingCache()V
    .locals 2

    .prologue
    const/4 v1, 0x0
Make the modification in BLUE
Code:
.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
    invoke-virtual {p0, v0}, Landroid/widget/AbsListView;->setScrollingCacheEnabled(Z)V
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.
Code:
.method public setScrollingCacheEnabled(Z)V
    .locals 1
    .parameter "disabled"

    .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:
Code:
    if-nez v2, :cond_c

    const-string v2, "SPX"

    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"
Code:
    :cond_c
    const-string v2, "SPX"

    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".
Code:
    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, "SPR"

    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:
Code:
    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;

    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;

    move v1, v2

    goto/16 :goto_5
After:
Code:
    if-nez v0, :cond_2c

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

    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 @digiblur 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:
Code:
.field private static final FEATURE_XML:Ljava/lang/String; = "/system/csc/feature.xml"

    const-string v10, "/system/csc/feature.xml"
Code:
.field private static final FEATURE_XML:Ljava/lang/String; = "/system/csc/ultimate.xml"

    const-string v10, "/system/csc/ultimate.xml"
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
Code:
.method private shouldEnableScreenRotation()Z
    .locals 3

    const/4 v1, 0x1

    iget-object v2, p0, Lcom/android/keyguard/KeyguardViewManager;->mContext:Landroid/content/Context;

GUIDES CONTINUED IN POST #4.

Note:
Many many hours go into developing the mods and creating guides for them.
It is also considered good form to hit the Thanks button rather than saying it in open forum. (it just creates unnecessary clutter)
Attached Files
File Type: zip SMALI EDITING.zip - [Click for QR Code] (1.53 MB, 493 views)
The Following 102 Users Say Thank You to tdunham For This Useful Post: [ Click to Expand ]
 
tdunham
Old
(Last edited by tdunham; 28th August 2014 at 12:52 PM.)
#2  
tdunham's Avatar
Recognized Contributor - OP
Thanks Meter 17,978
Posts: 8,165
Join Date: Jun 2008
Location: TampaBay

 
DONATE TO ME
I'll start posting links to other threads of interest here as I find them.
Feel free to send me some as well.

[Guide] True 1% battery mod for 4.4.2

[Guide][Mod]Change Data and statusbar buttons to any carrier

Guide/How-To: Disable Annoying Increasing Ring

[MOD][GUIDE]Remove cloudy overlay and improve ripple lockscreen - All Samsung Devices
(see my Post #25 for where the smali is located on our device)

[MOD][HOW-TO]To disable signature checks - xda-developers

[TUTORIAL] How to write/copy/download to the external sd card

Soft keys build prop edit Slightly different -> [GUIDE][MOD] Enable navigation bar 4.2.2

[MOD] Disable On Screen when receiving a Text

Disable ASEC (Forward locked packages)

[HOW-TO] Remove connection optimizer
Our code is a bit different but the method still works.

Remove Full Battery notification
Our code is a bit different but the method still works.
Just remove the two lines that contain notifyFullBatteryNotification in the smali.

[Guide How-To] Remove Battery Low notification
Figured I would keep this guide with the one above since they are for battery notifications.
 
SystemUI.apk smali edit:
Add new line in BLUE
smali/com/android/systemui/power/PowerUI.smali
Code:
.method showLowBatteryWarning()V
    .locals 21

    goto :goto_td

    const-string v18, "PowerUI"

    new-instance v19, Ljava/lang/StringBuilder;
Add new lines in BLUE at the end of the same method:
Code:
    invoke-virtual {v13, v0, v1}, Landroid/os/PowerManager$WakeLock;->acquire(J)V

    goto/16 :goto_2

    :goto_td
    return-void
.end method

.method showOverheatShutdownNotice()V

[How To] Lockscreen Torchlight Option
Confirmed working for the S5. However, the edit is in res/xml/display_settings_2014.xml.
Screenshots attached.
 
. .

[GUIDE / HOW-TO] Add screen on/off animations to KitKat 4.4 [CRT/FADE/NONE] < -- Written for the S5

[MOD]Allow Unknown Sources By Default

[Guide] Adding Call button to Logs

[Guide] Create CSC features controller tab in settings menu


[Guide] Remove Mobile Data Toggle off Warning Dialogue

[Guide] Add Switch On/Off For Battery, Data Disconnection and Keyboard Notifications

[Guide] Permanent Disable of Ongoing Notifications
(Multiple guides)

[MOD][HOW-TO] Fully disable app verification (FOR USER APPS)

[How To][Guide] Change Default Window Animation Scales and Build in New scales
- Same author, but this one is a little different mod than the guide I placed in Post #1.

[MOD][GUIDE] SecMms.apk TouchWiz Mods

[MOD]Disable EndCall Screen for Smsung Phone app(SecPhone.apk)

[HOWTO] Extended Power Menu (EPM): adding Recovery & Download

[MOD][GUIDE] Removing SysScope - Permanent "Official" Device Status

[HACK] Removing keyguard and other security policy restrictions from Email apk

[MOD][APR 24]Potato Statusbar Gradient

[MOD] 4.4.2 TW Hidden power button

[MOD][Guide]Change Toggles Icon Theme "on the fly"

[Guide How-to] KitKat 4.4.2 Music Control - Volume Music Skip and More


[MOD][HOW-TO] Quick Unlock on Pin/Password with toggle
I added a KitKat 4.4.2 guide HERE IN POST #54

Guide How To Natively Change Lock Screen Carrier Label Text Verizon S5
The Following 37 Users Say Thank You to tdunham For This Useful Post: [ Click to Expand ]
 
tdunham
Old
(Last edited by tdunham; 5th July 2014 at 02:21 PM.)
#3  
tdunham's Avatar
Recognized Contributor - OP
Thanks Meter 17,978
Posts: 8,165
Join Date: Jun 2008
Location: TampaBay

 
DONATE TO ME
MINOR THEMING

[Guide How-to] Remove Quickconnect & Sfind from Pulldown
This removes the Quickconnect & Sfind shortcuts from the pulldown.
 
SystemUI.apk layouts edit:
res/layout/status_bar_expanded.xml
Deleted this entire section from status_bar_expanded.xml
Code:
<LinearLayout android:orientation="vertical" android:id="@id/sfinder_qconnect_layout" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content">
    <LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:paddingLeft="@dimen/finder_connect_button_padding_right" android:paddingTop="@dimen/finder_connect_button_padding_top" android:paddingRight="@dimen/finder_connect_button_padding_left" android:paddingBottom="@dimen/finder_connect_button_padding_bottom" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <Button android:textSize="@dimen/tw_quick_panel_sfinder_qconnect_button_text_size" android:textColor="@drawable/tw_quick_panel_sfinder_qconnect_button_text_color" android:id="@id/sfinder_button_big" android:background="@drawable/tw_quick_panel_sfinder_qconnect_button" android:layout_width="0.0dip" android:layout_height="@dimen/finder_connect_button_height" android:layout_marginRight="10.0dip" android:text="@string/accessibility_sfinder_button" android:layout_weight="0.5" android:fontFamily="sec-roboto-light" />
        <Button android:textSize="@dimen/tw_quick_panel_sfinder_qconnect_button_text_size" android:textColor="@drawable/tw_quick_panel_sfinder_qconnect_button_text_color" android:id="@id/qconnect_button_big" android:background="@drawable/tw_quick_panel_sfinder_qconnect_button" android:layout_width="0.0dip" android:layout_height="@dimen/finder_connect_button_height" android:layout_marginLeft="10.0dip" android:text="@string/accessibility_qconnect_button" android:layout_weight="0.5" android:fontFamily="sec-roboto-light" />
    </LinearLayout>
    <View android:id="@id/sfinder_qconnect_divider" android:background="@drawable/notification_bottom_line" android:layout_width="fill_parent" android:layout_height="1.0dip" />
</LinearLayout>
. .

However, removing Quickconnect & Sfind activates the Sfind shortcut in the statusbar pulldown. The next guide show us how to hide it.


[Guide How-to] Remove/Hide Sfind shortcut from StatusBar
This will hide the Sfind shortcut that appears in the statusbar when Quickpanel & Sfind are removed from the dropdown.
 
SystemUI.apk layouts edit:
res/layout/status_bar_expanded_header.xml
Change every 'dip' value indicated in RED
Code:
    <ImageView android:id="@id/sfinder_button" android:background="@drawable/ic_notify_button_bg" android:paddingLeft="0.0dip" android:paddingTop="@dimen/button_holder_margin_top" android:paddingRight="0.0dip" android:paddingBottom="@dimen/button_holder_margin_bottom" android:focusable="true" android:layout_width="0.0dip" android:layout_height="fill_parent" android:src="@drawable/tw_quickpanel_icon_search" android:scaleType="center" android:layout_alignParentLeft="true" android:contentDescription="@string/accessibility_sfinder_button" />
    <ImageView android:id="@id/expanded_divider_1" android:background="@color/quickpanel_button_divider_color" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_marginTop="@dimen/button_holder_divider_margin_top" android:layout_marginBottom="@dimen/button_holder_divider_margin_bottom" android:layout_toRightOf="@id/sfinder_button" />
. .


[Guide How-to] USE A CUSTOM IMAGE FOR THE PULLDOWN BACKGROUND
This modification allows us to use a png image for the pulldown background.
 
SystemUI.apk layout edit:
res/layout/status_bar_expanded.xml
Line 2 change the background to point to an image file.
Change is indicated in RED
Code:
<com.android.systemui.statusbar.phone.NotificationPanelView android:id="@id/notification_panel" android:background="@drawable/tw_custom_bg" android:paddingTop="@dimen/notification_panel_padding_top" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginStart="@dimen/notification_panel_margin_left"
Note:
PNG image filename is tw_custom_bg.png. Give it whatever name you like.
Notice the .png file extension is not placed in the xml code.
The image file must be placed in one of the drawable folders before you recompile (res/drawable-xxhdpi).


[Guide How-to] ADD RECENT APPS TO THE PULLDOWN STATUSBAR
This will add a recent apps shortcut to the pulldown statusbar.
 
Download the png image file attached at the bottom of this post and insert it into SystemUI.apk/res/drawable-xxhdpi.
SystemUI.apk layout edit:
res/layout/status_bar_expanded_header.xml
Insert new line in BLUE:
Code:
    <ImageView android:id="@id/expanded_divider_2" android:background="@color/quickpanel_button_divider_color" android:visibility="gone" android:layout_width="1.0dip" android:layout_height="fill_parent" android:layout_marginTop="@dimen/button_holder_divider_margin_top" android:layout_marginBottom="@dimen/button_holder_divider_margin_bottom" android:layout_toLeftOf="@id/edit_button_holder" />
    <com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/recent_apps" android:paddingLeft="1.0dip" android:paddingRight="2.0dip" android:layout_width="35.0dip" android:layout_height="fill_parent" android:src="@drawable/ic_notify_recent" android:scaleType="center" android:layout_toLeftOf="@id/expanded_divider_2" android:contentDescription="@string/accessibility_recent" systemui:keyCode="187" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
    <FrameLayout android:id="@id/edit_button_holder" android:layout_width="@dimen/button_holder_width" android:layout_height="fill_parent" android:layout_toLeftOf="@id/expanded_divider_3">
NOTE:
You might also need to hide the Sfind shortcut in the pulldown statusbar using the above guide.


[MOD]THEMERS] Change LGE keyboard swipe/trace color


[MOD][HowTo] Samsung KeyBoard Swipe Color Change Found! Added Text Editor Changes


[MOD] Add top number row to Swype

[MOD][HOW-TO] Enable theme support on N3 launcher
Attached Files
File Type: zip Recent_apps_png.zip - [Click for QR Code] (2.9 KB, 67 views)
The Following 29 Users Say Thank You to tdunham For This Useful Post: [ Click to Expand ]
 
tdunham
Old
(Last edited by tdunham; 6th September 2014 at 05:27 AM.)
#4  
tdunham's Avatar
Recognized Contributor - OP
Thanks Meter 17,978
Posts: 8,165
Join Date: Jun 2008
Location: TampaBay

 
DONATE TO ME
[Guide How-to] Replace Carrier in Dropdown Shade with Custom Text
This is a simple edit allowing you to change the Carrier Label in the dropdown.
 
SystemUI.apk smali edit:
smali/com/android/systemui/statusbar/policy/NetworkController.smali
Search for method:
.method refreshViews()V
Then search within that method for the THIRD occurrence of:
Landroid/widget/TextView;->setText(Ljava/lang/CharSequenceV

Add this code in BLUE right above the invoke-virtual line.
Change the 'your_custom_text' to what you want to display.
Code:
    check-cast v15, Landroid/widget/TextView;

    const-string v13, "your_custom_text"

    invoke-virtual {v15, v13}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

    add-int/lit8 v10, v10, 0x1

    goto :goto_13

    :cond_3c
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/android/systemui/statusbar/policy/NetworkController;->mATTMobileLabelViews:Ljava/util/ArrayList;
__________________________________________________

[Guide How-to] 360 Degree Rotation mod (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.
 
android.policy.jar smali edit:
smali/com/android/internal/policy/impl/PhoneWindowManager.smali
Make the following change in BLUE, eqz to nez
Code:
    iget v2, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mAllowAllRotations:I

    if-gez v2, :cond_20

    iget-object v2, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context;

    invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v2

    const v5, 0x111001f

    invoke-virtual {v2, v5}, Landroid/content/res/Resources;->getBoolean(I)Z

    move-result v2

    if-nez v2, :cond_1f

    move v0, v3

    :cond_1f
    iput v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mAllowAllRotations:I

    :cond_20
    if-ne v1, v6, :cond_21

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

[Guide How-to] Enable onscreen Navigation Bar (with a toggle in mind)
Change the v8 value in the construct to match surrounding code if necessary.
I know there is a bools edit for this but this is the smali way so you can add a toggle.
 
android.policy.jar smali edit:
smali/com/android/internal/policy/impl/PhoneWindowManager.smali
Add the new line in BLUE
Code:
    iput-boolean v8, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBarCanMove:Z

    const v8, 0x1110048

    invoke-virtual {v5, v8}, Landroid/content/res/Resources;->getBoolean(I)Z

    move-result v8

    move-object/from16 v0, p0

    const/4 v8, 0x1

    iput-boolean v8, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHasNavigationBar:Z

    const-string v8, "qemu.hw.mainkeys"
__________________________________________________

[Guide How-to] Remove Wireless Charging Popup
This smali edit will allow you to remove the Wireless Charging Popup.
 
SystemUI.apk smali edit:
smali/com/android/systemui/power/PowerUI$1.smali
Search for the text highlighted in GREEN and delete all three occurrences. There are three total.
Code:
    invoke-virtual/range {v25 .. v26}, Lcom/android/systemui/power/PowerUI;->showWirelessChargingNotice(I)V
__________________________________________________

[Guide How-to] Remove Network Restriction/Toddler Mode Popup
This smali guide will allow you to remove the Toddler Mode confirmation popup.
 
SystemUI.apk smali edit:
smali/com/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton.smali
.method private showConfirmPopup(Z)V
Add the new code in BLUE
Code:
    const/16 v3, 0x7d9

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

    :goto_1
    new-instance v7, Lcom/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton$3;

    invoke-direct {v7, p0}, Lcom/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton$3;-><init>(Lcom/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton;)V

    iget-object v2, p0, Lcom/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton;->mAlertDialog:Landroid/app/AlertDialog;

    invoke-virtual {v7, v2, v8}, Lcom/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton$3;->onClick(Landroid/content/DialogInterface;I)V

    return-void

    iget-object v2, p0, Lcom/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton;->mAlertDialog:Landroid/app/AlertDialog;

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

    return-void
__________________________________________________

[Guide How-to] Remove WiFi Hotspot confirmation popup
This allows you to remove the WiFi Hotspot confirmation popup.
 
SystemUI.apk smali edit:
smali/com/android/systemui/statusbar/policy/quicksetting/WiFiHotspotQuickSettingButton.smali
.method private showWarningDialog(Z)V
Add new code in BLUE
Code:
    const/16 v3, 0x7d9

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

    :goto_1
    new-instance v7, Lcom/android/systemui/statusbar/policy/quicksetting/WiFiHotspotQuickSettingButton$7;

    invoke-direct {v7, p0, p1}, Lcom/android/systemui/statusbar/policy/quicksetting/WiFiHotspotQuickSettingButton$7;-><init>(Lcom/android/systemui/statusbar/policy/quicksetting/WiFiHotspotQuickSettingButton;Z)V

    const v5, 0x0

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

    return-void

    iget-object v2, p0, Lcom/android/systemui/statusbar/policy/quicksetting/WiFiHotspotQuickSettingButton;->mAlertDialog:Landroid/app/AlertDialog;

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

    goto :goto_0

    :cond_1
__________________________________________________

[Guide How-to] Display true 1x/3G Signal
This guide is specific to SPRINT builds. It may be possible to adapt for other carriers.
 
SystemUI.apk smali edit:
smali/com/android/systemui/statusbar/policy/NetworkController.smali
Search for first occurrence of updateSPRDataNetType and make change indicated in BLUE
Code:
    :pswitch_4
    invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/NetworkController;->updateVZWDataNetType()V
The rest of the changes are in the following method
.method private final updateVZWDataNetType()V
Find ALL occurrences of DATA_3G in the method and change to DATA_3G_SPR (in the above method only)
Example:
Code:
    sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->DATA_3G_SPR:[[I
Find DATA_4G_LTE and change to DATA_LTE_SPR.
There is only one.
Code:
    :pswitch_9
    sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->DATA_LTE_SPR:[[I
Find the FIRST switch occurrence with mShowAtLeastThreeGees in the method and change the nez to eqz. Change is indicated in BLUE
Code:
    :pswitch_6
    iget-boolean v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mShowAtLeastThreeGees:Z

    if-eqz v0, :cond_4

    sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->DATA_1X:[[I
. .
__________________________________________________
[Guide How-to] Enable App Ops Permissions Menu
This will allow you to enable the hidden applications permissions area.
 
SecSettings.apk xml edits:

New Line in both xml files for where the icon will appear in the menus
SecSettings\res\xml\settings_headers.xml
SecSettings\res\xml\grid_settings_headers.xml
Code:
    <header android:icon="@drawable/ic_setting_grid_applicationpermissions" android:id="@id/appops_settings" android:title="@string/app_ops_settings" android:fragment="com.android.settings.applications.AppOpsSummary" />
res/values/ids.xml
New line
Code:
    <item type="id" name="appops_settings">false</item>
Optional Edit to change Display Name
res/values/strings.xml
Before:
Code:
    <string name="app_ops_settings">App ops</string>
After:
Code:
    <string name="app_ops_settings">Permissions manager</string>
Screenshots represent a custom rom, your icon will be a bit different as well:

. .
__________________________________________________
[Guide How-to] Enable Lockscreen Widgets
This will allow you to enable the lockscreen widgets that were disabled on the Galaxy S5.
 
Keyguard.apk smali edits:
\smali\com\android\keyguard\sec\KeyguardProperties .smali
Change the 0x0 value to 0x1 as noted in BLUE
Code:
.method public static isPreviousLook()Z
    .locals 5

    const/4 v1, 0x1

    const/4 v2, 0x1

    const-string v3, "americano"
\smali\com\android\keyguard\KeyguardHostView.smali
Add new line in BLUE
The v5 construct value must match the surrounding code.
Code:
    const-string v8, "kg_multiple_lockscreen"

    invoke-static {v5, v8, v6, v12}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I

    move-result v5

    const v5, 0x1 ## Add Toggle here

    if-ne v5, v6, :cond_c

    move v5, v6
Add new line in blue
The v0 construct value must match the surrounding code.
Code:
    invoke-virtual {v0}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

    move-result v0

    const v0, 0x0

    if-nez v0, :cond_1

    if-ne v3, v1, :cond_3

    invoke-direct {p0}, Lcom/android/keyguard/KeyguardHostView;->cameraDisabledByDpm()Z
Add new line in blue
The v0 construct value must match the surrounding code.
Code:
    iget-object v0, p0, Lcom/android/keyguard/KeyguardHostView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;

    invoke-virtual {v0}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

    move-result v0

    const v0, 0x0

    if-eqz v0, :cond_2

    :cond_0
    const/4 v0, 0x0

    invoke-direct {p0, v0}, Lcom/android/keyguard/KeyguardHostView;->addDefaultStatusWidget(I)V
Add new line in blue
The v3 construct value must match the surrounding code.
Code:
    iget-object v3, p0, Lcom/android/keyguard/KeyguardHostView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;

    invoke-virtual {v3}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

    move-result v3

    const v3, 0x0

    invoke-virtual {v0, v3}, Lcom/android/keyguard/SlidingChallengeLayout;->setIsSecured(Z)V
Add new line in blue
The v3 construct value must match the surrounding code.
(this is a second identical change just like the one above, it is just a few lines below the previous one)
Code:
    iget-object v3, p0, Lcom/android/keyguard/KeyguardHostView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;

    invoke-virtual {v3}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

    move-result v3

    const v3, 0x0

    invoke-virtual {v0, v3}, Lcom/android/keyguard/MultiPaneChallengeLayout;->setIsSecured(Z)V
\smali\com\android\keyguard\KeyguardWidgetPager.sm ali
Add new line in BLUE
The v0 construct value must match the surrounding code.
Code:
    const-string v3, "kg_multiple_lockscreen"

    invoke-static {v0, v3, v1, v4}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I

    move-result v0

    const v0, 0x1 ## Add Toggle here

    if-ne v0, v1, :cond_3

    :goto_2
Change the 0x1 value to 0x0 as noted in BLUE
Code:
.method public onPageSwitched(Landroid/view/View;I)V
.
.
.
    :cond_0
    if-eqz p1, :cond_1

    invoke-static {p1}, Lcom/android/keyguard/KeyguardWidgetPager;->findClockInHierarchy(Landroid/view/View;)I

    move-result v6

    const/4 v7, 0x3

    if-ne v6, v7, :cond_1

    const/4 v4, 0x0 

    :cond_1
    if-eqz v4, :cond_6

    invoke-virtual {p0}, Landroid/view/View;->getSystemUiVisibility()I

    move-result v6

    const/high16 v7, 0x80

    or-int/2addr v6, v7
Find all three occurrences of isSecure and add the new line in BLUE making certain that the v register matches surrounding code.
Code:
    invoke-virtual {v1}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

    move-result v1

    const v1, 0x0

    if-eqz v1, :cond_2
Code:
    invoke-virtual {v3}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

    move-result v3

    const v3, 0x0

    if-eqz v3, :cond_2
Code:
    invoke-virtual {v1}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

    move-result v1

    const v1, 0x0

    if-eqz v1, :cond_2
\smali\com\android\keyguard\KeyguardActivityLaunch er.smali
Change the 0x2 to 0x3 indicated in BLUE
Code:
.method public launchWidgetPicker(I)V
    .locals 7

    const/4 v4, 0x0

    const/4 v3, 0x3

    const/4 v2, 0x0

    new-instance v1, Landroid/content/Intent;

    const-string v0, "android.appwidget.action.KEYGUARD_APPWIDGET_PICK"
The Following 27 Users Say Thank You to tdunham For This Useful Post: [ Click to Expand ]
 
metalfan78
Old
#5  
metalfan78's Avatar
Senior Member
Thanks Meter 1,641
Posts: 3,882
Join Date: Jan 2010
Location: Littleton, CO
Sweet, good to see all your stuff in one place
 
vinman12
Old
#6  
vinman12's Avatar
Recognized Themer
Thanks Meter 1,157
Posts: 1,896
Join Date: Dec 2011

 
DONATE TO ME
Great thread, great work. Ty for this, the smali tool aswell and the time you put into this.

+1

Sent from my SM-G900P using Tapatalk
I love Deving.
Don't Forget to say thanks!

Current Phone Samsung Galaxy S5, Running My Own Private Build

Past Phones
Htc,M8,M7,OneX,3vo,OG

Latest OG Radio PC36IMG_Supersonic_Radio_2.15.00.01.15.zip - 9.17 MB
My Builds.
KitKat4.4.2http://forum.xda-developers.com/show....php?t=2713296
Elousions2http://forum.xda-developers.com/show....php?t=2122890
Elousions3http://forum.xda-developers.com/show....php?t=2156492
Elousional_Chaoshttp://forum.xda-developers.com/show....php?t=2515504
My Group http://forum.xda-developers.com/group.php?groupid=966
ask me I just might help you.

thank you for all donations they will go towards helping
keep our phones alive.
 
tdunham
Old
#7  
tdunham's Avatar
Recognized Contributor - OP
Thanks Meter 17,978
Posts: 8,165
Join Date: Jun 2008
Location: TampaBay

 
DONATE TO ME
I think I'll rest now.
If you guys see anything interesting feel free to post it here. Might as well try to keep things all in one spot.
The Following 9 Users Say Thank You to tdunham For This Useful Post: [ Click to Expand ]
 
butthurtlocker
Old
#8  
Senior Member
Thanks Meter 20
Posts: 320
Join Date: Oct 2013
Is the Smali Editing zip just a tutorial or does it actually re map the recent apps function to the home button after you flash?
 
tdunham
Old
#9  
tdunham's Avatar
Recognized Contributor - OP
Thanks Meter 17,978
Posts: 8,165
Join Date: Jun 2008
Location: TampaBay

 
DONATE TO ME
Quote:
Originally Posted by butthurtlocker View Post
Is the Smali Editing zip just a tutorial or does it actually re map the recent apps function to the home button after you flash?
It's a smali editing tool.
This is stated in the OP.
The Following 5 Users Say Thank You to tdunham For This Useful Post: [ Click to Expand ]
 
AxAtAx
Old
#10  
AxAtAx's Avatar
Recognized Contributor
Thanks Meter 12,850
Posts: 10,658
Join Date: Mar 2011
Location: ViSiONViLLE

 
DONATE TO ME
Nice, all in one thread....here we go....great job....


The Following 3 Users Say Thank You to AxAtAx For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes