FORUMS
Remove All Ads from XDA

[Guides] JB 4.1.2 Basic Mod and Links

7,778 posts
Thanks Meter: 17,867
 
By bombaybadboy, Senior Member on 14th May 2013, 02:58 PM
Post Reply Email Thread
When i first started to decompile apks From I9100 4.1.2 Jellybean deodexed Roms for Mods + Basic themes i found Threads Scattered All over XDA and thought someone should put them together or at least add links. Im Sure there are better ways with some of these mods but the ones i will post work and have used them all myself. This is my First Thread Attempt and i will make it as noob friendly as i can. Also any suggestions how to improve this guide or any other the Mods I post would be welcome because i only no what i have read from other threads. Im Not a developer im a Noob just like most of us here but with the great guides on XDA i Have learned a lot

First I want to Thank the Members that have Posted these Guides And have Helped me

wanam
lidroid
Mirko ddd
majdinj
shoman94
Goldieking
salesale
engloa
Spannaa
Churapa
Didact74
mythtrandyr

Please dont PM the devs with Questions as there busy with there own Mods. Just POST on there thread or this thread if you like

Please as my First thread im trying to do things right and give credit where it is due so if i have missed anyone please Pm me and i will correctly add,
Thankyou
Also im not doing this for Thanks or Donations, so Please Thank the members above who made this guide possible

Ok Lets Start

Im Not here to teach you how to decompile there are threads for that which i will link Here

First you will need your basic tools

These you can choose from and find what suits you ApkMultitool Dont forget to add your SystemUI.apk+framework-res.apk+twframework-res.apk to others file
Before you run setup

or you may want to use Apktool And here is a Guide you will also need SDK And Very Important Java

Editing Tools

Notepad++
I use Paint.Net But you can also use Gimp For Image Editing

If you need More Information on decompiling and editing look at this Ultimate Guide[Decompiling][9 pngs][Theming] By iamareebjamal
Please remember to thank iamareebjamal for his work

Click here for How To Make a Log of your Error Guide
Please remember to thank Stryke_the_Orc for his work


Ok finally you are ready to start, i will start with simple Mods

Wallpaper Scroll

Decompile SecLauncher2.apk
Go to \res\values folder and open bools.xml file with Notepad++.
Then change code indicated in Red To Blue
Code:
<bool name="config_fixedWallpaperOffset">true</bool>
To:
Code:
<bool name="config_fixedWallpaperOffset">false</bool>
Save the file, recompile and push the apk to your phone.
See Easy



4 Lockscreen Shortcuts

Decompile SecSettings.apk and go to smali/com/android/settings/lockscreenshortcut/LockScreenShortcutSettings.smali
Open this file with notpad++ and change the followingRedLines to Blue

Code:
# direct methods
.method static constructor ()V
    .locals 2

    .prologue
    const/4 v1, 0x0

    .line 79
    const/4 v0, 0x3

    sput v0, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->MAX_SHORTCUT_ICON:I
To:
Code:
# direct methods
.method static constructor ()V
    .locals 2

    .prologue
    const/4 v1, 0x0

    .line 79
    const/4 v0, 0x4

    sput v0, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->MAX_SHORTCUT_ICON:I
Recompile and Done
There is also a guide for 5 Lockscreen shortcuts by Mirko dddHere



Water Ripple Effect+Toggle


android.policy.jar
com/android/internal/policy/impl/sec/CircleLockScreen.smali
Code:
    .line 543
    .local v20, isRippleEffect:Z
    :goto_306
    if-nez v18, :cond_61f

    if-eqz v22, :cond_61f

    if-eqz v20, :cond_61f

    const/4 v3, 0x1

    :goto_30d
After

Code:
    .line 543
    .local v20, isRippleEffect:Z
    :goto_306
    if-nez v18, :cond_61f

    # if-eqz v22, :cond_61f

    if-eqz v20, :cond_61f

    const/4 v3, 0x1

    :goto_30d
Now for the Toggle
Secsettings.apk
com/android/settings/LockScreenSettings.smali

Code:
    .line 253
    :cond_28b
    invoke-virtual {p0}, Lcom/android/settings/LockScreenSettings;->getPreferenceScreen()Landroid/preference/PreferenceScreen;

    move-result-object v9

    iget-object v10, p0, Lcom/android/settings/LockScreenSettings;->mRippleEffect:Landroid/preference/CheckBoxPreference;

    invoke-virtual {v9, v10}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z
After:

Code:
    .line 253
    :cond_28b
    invoke-virtual {p0}, Lcom/android/settings/LockScreenSettings;->getPreferenceScreen()Landroid/preference/PreferenceScreen;

    move-result-object v9

    iget-object v10, p0, Lcom/android/settings/LockScreenSettings;->mRippleEffect:Landroid/preference/CheckBoxPreference;

    #  invoke-virtual {v9, v10}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z
Recompile and done


Aosp Lockscreen+Toggle


There is already a great Guide for this by Mirko ddd Here Please dont forget to thank Him for his work

Aosp Lockscreen Guide

Works Great


EdgeZoom



Thanks to Shoman94

Decompileframework.jar
\framework\smali\android\view\ScaleGestureDetector .smali

Find
Code:
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
Replace that entire method with this:

Code:
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
    .locals 26
    .parameter "event"

    .prologue
    .line 207
    move-object/from16 v0, p0

    iget-object v0, v0, Landroid/view/ScaleGestureDetector;->mInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;

    move-object/from16 v24, v0

    if-eqz v24, :cond_0

    .line 208
    move-object/from16 v0, p0

    iget-object v0, v0, Landroid/view/ScaleGestureDetector;->mInputEventConsistencyVerifier:Landroid/view/InputEventConsistencyVerifier;

    move-object/from16 v24, v0

    const/16 v25, 0x0

    move-object/from16 v0, v24

    move-object/from16 v1, p1

    move/from16 v2, v25

    invoke-virtual {v0, v1, v2}, Landroid/view/InputEventConsistencyVerifier;->onTouchEvent(Landroid/view/MotionEvent;I)V

    .line 213
    :cond_0
    move-object/from16 v0, p0

    iget-boolean v0, v0, Landroid/view/ScaleGestureDetector;->mValidPackage:Z

    move/from16 v24, v0

    if-eqz v24, :cond_1

    invoke-direct/range {p0 .. p1}, Landroid/view/ScaleGestureDetector;->onEdgeTouchEvent(Landroid/view/MotionEvent;)Z

    move-result v24

    if-eqz v24, :cond_1

    const/16 v24, 0x1

    .line 310
    :goto_0
    return v24

    .line 213
    :cond_1
    invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionMasked()I

    move-result v3

    .line 215
    .local v3, action:I
    const/16 v24, 0x1

    move/from16 v0, v24

    if-eq v3, v0, :cond_2

    const/16 v24, 0x3

    move/from16 v0, v24

    if-ne v3, v0, :cond_5

    :cond_2
    const/16 v19, 0x1

    .line 217
    .local v19, streamComplete:Z
    :goto_1
    if-eqz v3, :cond_3

    if-eqz v19, :cond_6

    .line 221
    :cond_3
    move-object/from16 v0, p0

    iget-boolean v0, v0, Landroid/view/ScaleGestureDetector;->mInProgress:Z

    move/from16 v24, v0

    if-eqz v24, :cond_4

    .line 222
    move-object/from16 v0, p0

    iget-object v0, v0, Landroid/view/ScaleGestureDetector;->mListener:Landroid/view/ScaleGestureDetector$OnScaleGestureListener;

    move-object/from16 v24, v0

    move-object/from16 v0, v24

    move-object/from16 v1, p0

    invoke-interface {v0, v1}, Landroid/view/ScaleGestureDetector$OnScaleGestureListener;->onScaleEnd(Landroid/view/ScaleGestureDetector;)V

    .line 223
    const/16 v24, 0x0

    move/from16 v0, v24

    move-object/from16 v1, p0

    iput-boolean v0, v1, Landroid/view/ScaleGestureDetector;->mInProgress:Z

    .line 224
    const/16 v24, 0x0

    move/from16 v0, v24

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mInitialSpan:F

    .line 227
    :cond_4
    if-eqz v19, :cond_6

    .line 228
    const/16 v24, 0x1

    goto :goto_0

    .line 215
    .end local v19           #streamComplete:Z
    :cond_5
    const/16 v19, 0x0

    goto :goto_1

    .line 232
    .restart local v19       #streamComplete:Z
    :cond_6
    const/16 v24, 0x6

    move/from16 v0, v24

    if-eq v3, v0, :cond_7

    const/16 v24, 0x5

    move/from16 v0, v24

    if-ne v3, v0, :cond_8

    :cond_7
    const/4 v4, 0x1

    .line 235
    .local v4, configChanged:Z
    :goto_2
    const/16 v24, 0x6

    move/from16 v0, v24

    if-ne v3, v0, :cond_9

    const/4 v14, 0x1

    .line 236
    .local v14, pointerUp:Z
    :goto_3
    if-eqz v14, :cond_a

    invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getActionIndex()I

    move-result v15

    .line 239
    .local v15, skipIndex:I
    :goto_4
    const/16 v20, 0x0

    .local v20, sumX:F
    const/16 v21, 0x0

    .line 240
    .local v21, sumY:F
    invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getPointerCount()I

    move-result v5

    .line 241
    .local v5, count:I
    const/4 v13, 0x0

    .local v13, i:I
    :goto_5
    if-ge v13, v5, :cond_c

    .line 242
    if-ne v15, v13, :cond_b

    .line 241
    :goto_6
    add-int/lit8 v13, v13, 0x1

    goto :goto_5

    .line 232
    .end local v4           #configChanged:Z
    .end local v5           #count:I
    .end local v13           #i:I
    .end local v14           #pointerUp:Z
    .end local v15           #skipIndex:I
    .end local v20           #sumX:F
    .end local v21           #sumY:F
    :cond_8
    const/4 v4, 0x0

    goto :goto_2

    .line 235
    .restart local v4       #configChanged:Z
    :cond_9
    const/4 v14, 0x0

    goto :goto_3

    .line 236
    .restart local v14       #pointerUp:Z
    :cond_a
    const/4 v15, -0x1

    goto :goto_4

    .line 243
    .restart local v5       #count:I
    .restart local v13       #i:I
    .restart local v15       #skipIndex:I
    .restart local v20       #sumX:F
    .restart local v21       #sumY:F
    :cond_b
    move-object/from16 v0, p1

    invoke-virtual {v0, v13}, Landroid/view/MotionEvent;->getX(I)F

    move-result v24

    add-float v20, v20, v24

    .line 244
    move-object/from16 v0, p1

    invoke-virtual {v0, v13}, Landroid/view/MotionEvent;->getY(I)F

    move-result v24

    add-float v21, v21, v24

    goto :goto_6

    .line 246
    :cond_c
    if-eqz v14, :cond_d

    add-int/lit8 v10, v5, -0x1

    .line 247
    .local v10, div:I
    :goto_7
    int-to-float v0, v10

    move/from16 v24, v0

    div-float v11, v20, v24

    .line 248
    .local v11, focusX:F
    int-to-float v0, v10

    move/from16 v24, v0

    div-float v12, v21, v24

    .line 251
    .local v12, focusY:F
    const/4 v6, 0x0

    .local v6, devSumX:F
    const/4 v7, 0x0

    .line 252
    .local v7, devSumY:F
    const/4 v13, 0x0

    :goto_8
    if-ge v13, v5, :cond_f

    .line 253
    if-ne v15, v13, :cond_e

    .line 252
    :goto_9
    add-int/lit8 v13, v13, 0x1

    goto :goto_8

    .end local v6           #devSumX:F
    .end local v7           #devSumY:F
    .end local v10           #div:I
    .end local v11           #focusX:F
    .end local v12           #focusY:F
    :cond_d
    move v10, v5

    .line 246
    goto :goto_7

    .line 254
    .restart local v6       #devSumX:F
    .restart local v7       #devSumY:F
    .restart local v10       #div:I
    .restart local v11       #focusX:F
    .restart local v12       #focusY:F
    :cond_e
    move-object/from16 v0, p1

    invoke-virtual {v0, v13}, Landroid/view/MotionEvent;->getX(I)F

    move-result v24

    sub-float v24, v24, v11

    invoke-static/range {v24 .. v24}, Ljava/lang/Math;->abs(F)F

    move-result v24

    add-float v6, v6, v24

    .line 255
    move-object/from16 v0, p1

    invoke-virtual {v0, v13}, Landroid/view/MotionEvent;->getY(I)F

    move-result v24

    sub-float v24, v24, v12

    invoke-static/range {v24 .. v24}, Ljava/lang/Math;->abs(F)F

    move-result v24

    add-float v7, v7, v24

    goto :goto_9

    .line 257
    :cond_f
    int-to-float v0, v10

    move/from16 v24, v0

    div-float v8, v6, v24

    .line 258
    .local v8, devX:F
    int-to-float v0, v10

    move/from16 v24, v0

    div-float v9, v7, v24

    .line 263
    .local v9, devY:F
    const/high16 v24, 0x4000

    mul-float v17, v8, v24

    .line 264
    .local v17, spanX:F
    const/high16 v24, 0x4000

    mul-float v18, v9, v24

    .line 265
    .local v18, spanY:F
    mul-float v24, v17, v17

    mul-float v25, v18, v18

    add-float v24, v24, v25

    invoke-static/range {v24 .. v24}, Landroid/util/FloatMath;->sqrt(F)F

    move-result v16

    .line 270
    .local v16, span:F
    move-object/from16 v0, p0

    iget-boolean v0, v0, Landroid/view/ScaleGestureDetector;->mInProgress:Z

    move/from16 v23, v0

    .line 271
    .local v23, wasInProgress:Z
    move-object/from16 v0, p0

    iput v11, v0, Landroid/view/ScaleGestureDetector;->mFocusX:F

    .line 272
    move-object/from16 v0, p0

    iput v12, v0, Landroid/view/ScaleGestureDetector;->mFocusY:F

    .line 273
    move-object/from16 v0, p0

    iget-boolean v0, v0, Landroid/view/ScaleGestureDetector;->mInProgress:Z

    move/from16 v24, v0

    if-eqz v24, :cond_11

    const/16 v24, 0x0

    cmpl-float v24, v16, v24

    if-eqz v24, :cond_10

    if-eqz v4, :cond_11

    .line 274
    :cond_10
    move-object/from16 v0, p0

    iget-object v0, v0, Landroid/view/ScaleGestureDetector;->mListener:Landroid/view/ScaleGestureDetector$OnScaleGestureListener;

    move-object/from16 v24, v0

    move-object/from16 v0, v24

    move-object/from16 v1, p0

    invoke-interface {v0, v1}, Landroid/view/ScaleGestureDetector$OnScaleGestureListener;->onScaleEnd(Landroid/view/ScaleGestureDetector;)V

    .line 275
    const/16 v24, 0x0

    move/from16 v0, v24

    move-object/from16 v1, p0

    iput-boolean v0, v1, Landroid/view/ScaleGestureDetector;->mInProgress:Z

    .line 276
    move/from16 v0, v16

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mInitialSpan:F

    .line 278
    :cond_11
    if-eqz v4, :cond_12

    .line 279
    move/from16 v0, v17

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mCurrSpanX:F

    move/from16 v0, v17

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mPrevSpanX:F

    .line 280
    move/from16 v0, v18

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mCurrSpanY:F

    move/from16 v0, v18

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mPrevSpanY:F

    .line 281
    move/from16 v0, v16

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mCurrSpan:F

    move/from16 v0, v16

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mPrevSpan:F

    move/from16 v0, v16

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mInitialSpan:F

    .line 283
    :cond_12
    move-object/from16 v0, p0

    iget-boolean v0, v0, Landroid/view/ScaleGestureDetector;->mInProgress:Z

    move/from16 v24, v0

    if-nez v24, :cond_14

    const/16 v24, 0x0

    cmpl-float v24, v16, v24

    if-eqz v24, :cond_14

    if-nez v23, :cond_13

    move-object/from16 v0, p0

    iget v0, v0, Landroid/view/ScaleGestureDetector;->mInitialSpan:F

    move/from16 v24, v0

    sub-float v24, v16, v24

    invoke-static/range {v24 .. v24}, Ljava/lang/Math;->abs(F)F

    move-result v24

    move-object/from16 v0, p0

    iget v0, v0, Landroid/view/ScaleGestureDetector;->mSpanSlop:I

    move/from16 v25, v0

    move/from16 v0, v25

    int-to-float v0, v0

    move/from16 v25, v0

    cmpl-float v24, v24, v25

    if-lez v24, :cond_14

    .line 285
    :cond_13
    move/from16 v0, v17

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mCurrSpanX:F

    move/from16 v0, v17

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mPrevSpanX:F

    .line 286
    move/from16 v0, v18

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mCurrSpanY:F

    move/from16 v0, v18

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mPrevSpanY:F

    .line 287
    move/from16 v0, v16

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mCurrSpan:F

    move/from16 v0, v16

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mPrevSpan:F

    .line 288
    move-object/from16 v0, p0

    iget-object v0, v0, Landroid/view/ScaleGestureDetector;->mListener:Landroid/view/ScaleGestureDetector$OnScaleGestureListener;

    move-object/from16 v24, v0

    move-object/from16 v0, v24

    move-object/from16 v1, p0

    invoke-interface {v0, v1}, Landroid/view/ScaleGestureDetector$OnScaleGestureListener;->onScaleBegin(Landroid/view/ScaleGestureDetector;)Z

    move-result v24

    move/from16 v0, v24

    move-object/from16 v1, p0

    iput-boolean v0, v1, Landroid/view/ScaleGestureDetector;->mInProgress:Z

    .line 289
    const-string v24, "ScaleGestureDetector"

    const-string v25, "SGD"

    invoke-static/range {v24 .. v25}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

    .line 293
    :cond_14
    const/16 v24, 0x2

    move/from16 v0, v24

    if-ne v3, v0, :cond_16

    .line 294
    move/from16 v0, v17

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mCurrSpanX:F

    .line 295
    move/from16 v0, v18

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mCurrSpanY:F

    .line 296
    move/from16 v0, v16

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mCurrSpan:F

    .line 298
    const/16 v22, 0x1

    .line 299
    .local v22, updatePrev:Z
    move-object/from16 v0, p0

    iget-boolean v0, v0, Landroid/view/ScaleGestureDetector;->mInProgress:Z

    move/from16 v24, v0

    if-eqz v24, :cond_15

    .line 300
    move-object/from16 v0, p0

    iget-object v0, v0, Landroid/view/ScaleGestureDetector;->mListener:Landroid/view/ScaleGestureDetector$OnScaleGestureListener;

    move-object/from16 v24, v0

    move-object/from16 v0, v24

    move-object/from16 v1, p0

    invoke-interface {v0, v1}, Landroid/view/ScaleGestureDetector$OnScaleGestureListener;->onScale(Landroid/view/ScaleGestureDetector;)Z

    move-result v22

    .line 303
    :cond_15
    if-eqz v22, :cond_16

    .line 304
    move-object/from16 v0, p0

    iget v0, v0, Landroid/view/ScaleGestureDetector;->mCurrSpanX:F

    move/from16 v24, v0

    move/from16 v0, v24

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mPrevSpanX:F

    .line 305
    move-object/from16 v0, p0

    iget v0, v0, Landroid/view/ScaleGestureDetector;->mCurrSpanY:F

    move/from16 v24, v0

    move/from16 v0, v24

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mPrevSpanY:F

    .line 306
    move-object/from16 v0, p0

    iget v0, v0, Landroid/view/ScaleGestureDetector;->mCurrSpan:F

    move/from16 v24, v0

    move/from16 v0, v24

    move-object/from16 v1, p0

    iput v0, v1, Landroid/view/ScaleGestureDetector;->mPrevSpan:F

    .line 310
    .end local v22           #updatePrev:Z
    :cond_16
    const/16 v24, 0x1

    goto/16 :goto_0
.end method
Recompile and Done

You can thank shoman94 on 3rd post Here


% Battery-icons

Ok i will try and give you the basic idea for status bar theming

Here is a few ready made battery icons with stat_battery.xml and stat_battery_charge.xml Put together by majdinj

First Decompile SystemUI.apk

Choose the battery icons file you would like to use

Then go to /res/drawable and look for stat_sys_battery and stat_sys_battery_charge you will find replacements in the chosen battery folder Now replace them

Next go to /res/drawable-hdpi and copy all png icons into that folder

If you want to change colour of your clock then go to \res\layout\tw_status_bar
Look for hex code in Red and edit
Code:
<com.android.systemui.statusbar.policy.Clock android:textSize="@dimen/status_bar_clock_text_size" android:textColor="#ff959595" android:ellipsize="none" android:gravity="left|center" android:id="@id/clock" android:paddingLeft="3.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:includeFontPadding="false" />
Change Hex Highlighted in Red to Colour you Like

If you want to edit time and date in Pulldown then go to \res\layout\tw_status_bar_expanded_header
Look for these lines
Changes clock and
Code:
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:textColor="#ffffffff" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="4.0dip" android:layout_marginTop="-3.0dip" android:singleLine="true" systemui:ampmSmall="true" />
Changes Date
Code:
<com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:textColor="#ffcbcbcb" android:ellipsize="none" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginRight="4.0dip"
If you want to change colour of statusbar then you have 2 ways, 1st way go to \res\layout\tw_status_bar
and edit
Code:
<com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:id="@id/status_bar" android:background="@drawable/status_bar_background" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"
Add Hex Highlighted in Red

Or go to res/values/drawables.xml and look for
Code:
<item type="drawable" name="status_bar_background">#ff000000</item>
edit code in red to whatever colour you like This colour tool will help you or just use png editing tools provided in first post
#FF****** ( Opaque ) #00****** (Transparent )


Proper home button lagfix

Already A Good Guide Here by Mirko ddd
Please Remember To Thanks Mirko ddd For His Guide


Potential Media Scanner Fix
Already a Good Guide Here by shoman94
Please Remember To Thanks shoman94 For His Guide


CRT-OFF
Already A Good Guide Here by Mirko ddd
Please Remember To Thanks Mirko ddd For His Guide


CRT-OFF+ Toggle
Already a Good Guide Here by shoman94
Please Remember To Thanks shoman94 For His Guide


Back to kill
Already A Good Guide Here by Mirko ddd
Please Remember To Thanks Mirko ddd For His Guide



More Info on PNG editing by HighlanderZA
[B]Some Extra Useful Information Guides From HighlanderZA editing by HighlanderZA
Until i can change from PDF Files you will need Adobe Reader XI To Read but worth looking at
The Following 92 Users Say Thank You to bombaybadboy For This Useful Post: [ View ] Gift bombaybadboy Ad-Free
 
 
14th May 2013, 02:58 PM |#2  
bombaybadboy's Avatar
OP Senior Member
Flag Wolverhampton
Thanks Meter: 17,867
 
More
23 Toggles Notification Panel

Thanks to Wanam-Lidroid-Goldieking-Majdinj-Engloa

This one is a little Harder so Take your Time

Decompile SystemUI.apk
Go to res\layout folder and open tw_status_bar_expanded.xml Add the Blue Lines and Delete the Redand modify the Green

Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@id/notification_panel" android:background="@drawable/notification_panel_bg" android:paddingTop="@dimen/notification_panel_padding_top" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/notification_panel_margin_left"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
    <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="@dimen/tw_close_handle_underlap">
        <include android:layout_width="fill_parent" android:layout_height="@dimen/tw_notification_panel_header_height" layout="@layout/tw_status_bar_expanded_header" />
        <TextView android:gravity="center" android:id="@id/emergency_calls_only" android:paddingBottom="4.0dip" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" />
        <View android:background="#ff091a24" android:layout_width="fill_parent" android:layout_height="1.0dip" android:layout_marginTop="@dimen/tw_notification_panel_header_height" />
        <HorizontalScrollView android:id="@id/quicksetting_scroller" android:visibility="gone" android:scrollbars="none" android:layout_width="wrap_content" android:layout_height="@dimen/quick_setting_button_height" android:layout_marginTop="@dimen/tw_notification_panel_header_height">
            <com.android.systemui.statusbar.policy.quicksetting.QuickSettingPanel android:orientation="horizontal" android:id="@id/quicksetting_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:divider="@drawable/tw_black_bg" android:showDividers="middle" />
        </HorizontalScrollView>
        <com.wanam.systemui.quickpanel.PowerWidget android:id="@id/exp_power_stat" android:layout_width="wrap_content" android:layout_height="@dimen/quick_setting_button_height" android:layout_marginTop="@dimen/tw_notification_panel_header_height" />
        <LinearLayout android:orientation="vertical" android:id="@id/brightness_controller" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="56.0dip" android:layout_marginTop="@dimen/notification_panel_quicksettingbtn_height">
            <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="55.0dip">
                <ImageView android:id="@id/brightness_icon" android:clickable="true" android:layout_width="25.0dip" android:layout_height="fill_parent" android:layout_marginLeft="13.0dip" android:src="@drawable/ic_sysbar_brightness" android:contentDescription="@string/accessibility_brightness_icon" />
                <FrameLayout android:id="@id/brightness_group" android:layout_width="fill_parent" android:layout_height="fill_parent">
                    <com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
                    <com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/auto_brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
                </FrameLayout>
            </LinearLayout>
            <View android:background="#ff091a24" android:layout_width="fill_parent" android:layout_height="1.0dip" />
        </LinearLayout>
        <ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="@dimen/notification_panel_notification_top_margin" android:overScrollMode="ifContentScrolls">
            <LinearLayout android:orientation="vertical" android:id="@id/scrollCart" android:layout_width="fill_parent" android:layout_height="wrap_content">
                <HorizontalScrollView android:id="@id/quicksetting_scroller" android:scrollbars="none" android:layout_width="wrap_content" android:layout_height="@dimen/quick_setting_button_height">
                    <com.android.systemui.statusbar.policy.quicksetting.QuickSettingPanel android:orientation="horizontal" android:id="@id/quicksetting_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:divider="@drawable/tw_black_bg" android:showDividers="middle" />
                </HorizontalScrollView>
                <LinearLayout android:orientation="vertical" android:id="@id/brightness_controller" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="56.0dip">
                    <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="55.0dip">
                        <ImageView android:id="@id/brightness_icon" android:clickable="true" android:layout_width="25.0dip" android:layout_height="fill_parent" android:layout_marginLeft="13.0dip" android:src="@drawable/ic_sysbar_brightness" android:contentDescription="@string/accessibility_brightness_icon" />
                        <FrameLayout android:id="@id/brightness_group" android:layout_width="fill_parent" android:layout_height="fill_parent">
                            <com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
                            <com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/auto_brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
                        </FrameLayout>
                    </LinearLayout>
                    <View android:background="#ff091a24" android:layout_width="fill_parent" android:layout_height="1.0dip" />
                </LinearLayout>
                <LinearLayout android:orientation="vertical" android:id="@id/noNotificationsTitle" android:focusable="true" android:layout_width="fill_parent" android:layout_height="wrap_content">
                    <TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/noNotificationsText" android:paddingLeft="11.0dip" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height" android:text="@string/status_bar_no_notifications_title" />
                </LinearLayout>
                <LinearLayout android:orientation="vertical" android:id="@id/onGoingCart" android:background="#ff293945" android:focusable="true" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height">
                    <TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/onGoingNotificationText" android:paddingLeft="11.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/status_bar_ongoing_events_title" />
                </LinearLayout>
                <com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/onGoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
                <LinearLayout android:orientation="vertical" android:id="@id/notificationCart" android:background="#ff293945" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height">
                    <RelativeLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
                        <TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/latestNotificationText" android:paddingLeft="11.0dip" android:layout_width="180.0dip" android:layout_height="fill_parent" android:text="@string/status_bar_latest_events_title" android:layout_alignParentLeft="true" />
                        <TextView android:textSize="@dimen/status_bar_expanded_notification_clear_button_text_size" android:textColor="@color/tw_status_bar_clear_btn_text" android:gravity="center" android:id="@id/clear_all_button" android:background="@drawable/tw_btn_default_small" android:padding="0.100000024dip" android:focusable="true" android:clickable="true" android:layout_width="@dimen/status_bar_expanded_clear_button_width" android:layout_height="fill_parent" android:layout_marginRight="4.0dip" android:text="@string/status_bar_clear_all_button" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_clear_all" />
                    </RelativeLayout>
                </LinearLayout>
                <com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/notificationItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
                <com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
            </LinearLayout>
        </ScrollView>
    </FrameLayout>
    <com.android.systemui.statusbar.phone.CloseDragHandle android:layout_gravity="bottom" android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height">
        <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
            <ImageView android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height" android:src="@drawable/tw_status_bar_close" android:scaleType="fitXY" />
            <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network" android:gravity="center" android:layout_gravity="bottom" android:id="@id/carrier_label" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height" android:layout_marginBottom="10.0dip" />
        </RelativeLayout>
    </com.android.systemui.statusbar.phone.CloseDragHandle>
</FrameLayout>
Here is an already modified tw_status_bar_expanded.xml

to res\values\ folder and open ids.xml add the following line at the end before </resources> line:
Code:
<item type="id" name="exp_power_stat">false</item>

Now you need to recompile SystemUI.apk in order to generate new ids in public.xml file for exp_power_stat. Then decompile the new SystemUI.apk and delete the old one so you dont get confused


Go to smali\com\android\systemui\statusbar\phone\PhoneStatusBar.smali

Search for .field mPostCollapseCleanup:Ljava/lang/Runnable;
add this line bellow it (the blue one here):
Code:
.field mPostCollapseCleanup:Ljava/lang/Runnable;

.field mPowerWidget:Lcom/wanam/systemui/quickpanel/PowerWidget;

.field mQueueLock:Ljava/lang/Object;
Now search for .method public addIcon Still in PhoneStatusBar.smali
Add the lines in Blueat the end of this method before the "return-void" line:
Code:
    invoke-virtual {v1, v0, p3, v2}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V

    .line 1170
    iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/wanam/systemui/quickpanel/PowerWidget;

    invoke-virtual {v1}, Lcom/wanam/systemui/quickpanel/PowerWidget;->updateWidget()V

    return-void
.end method
Now serch for .method protected makeStatusBarViewthen search forLandroid/widget/ScrollView;->setVerticalScrollBarEnabled(Z)Vthen add BlueLines
Code:
    invoke-virtual {v9, v10}, Landroid/widget/ScrollView;->setVerticalScrollBarEnabled(Z)V

    move-object/from16 v0, p0

    iget-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v10, 0x7fxxxxxx

    invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;

    move-result-object v9

    check-cast v9, Lcom/wanam/systemui/quickpanel/PowerWidget;

    move-object/from16 v0, p0

    iput-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/wanam/systemui/quickpanel/PowerWidget;

    .line 714
    new-instance v9, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$MyTicker;
You should use the newly generated id in public.xml (in res\values folder) for "exp_power_stat" in place of 0x7fxxxxxx

Still in PhoneStatusBar.smali Search for Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilterLandroid/content/Intent; Adds the lines in Blue

Code:
    invoke-virtual {v1, v9, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;

    move-object/from16 v0, p0

    iget-object v9, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/wanam/systemui/quickpanel/PowerWidget;

    invoke-virtual {v9}, Lcom/wanam/systemui/quickpanel/PowerWidget;->setupWidget()V

    .line 875
    sget-boolean v9, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->useTouchWizGUI:Z
Now save and close

Now you edit bigginning of AndroidManifest.xmlin SystemUI.apk to make torch+Reboot work

Before:
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="16" android:versionName="4.1.2-I9100XXLSS" package="com.android.systemui" coreApp="true"
  xmlns:android="http://schemas.android.com/apk/res/android">
After:
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="16" android:versionName="4.1.2-I9100XXLSS" package="com.android.systemui" coreApp="true" android:sharedUserId="android.uid.system" android:process="system"
  xmlns:android="http://schemas.android.com/apk/res/android">
Now Download the wanam 23 Toggles apks and Folders
Add the the 1st wanam folder in smali and 2nd wanam folder smali/com folder in systemUI.apk
2 apks you need to add Lidroid-res.apk to /system/framework and Lidroid Settings apk to /preload/symlink/system/app

Now we have finished from modifying SystemUI.apk, RecompileAnd Sign SystemUI.apk

Since the systemUI is now signed, we will need to disable signature check on "services.jar

So backsmali services.jar
go to classout\com\android\server\pm folder and find PackageManagerService.smali search for .method static compareSignatures and change the entire method to:
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
    .registers 9
    .parameter "s1"
    .parameter "s2"

    .prologue
    const/4 v6, 0x0

    const-string v3, "Wanam: PackageManager"

    const-string v4, "Skip signature check."

    invoke-static {v3, v4}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I

    return v6

.end method
Recompile and push to device, if you did correctly you will now have 23 toggles


Center clock in Statusbar
Thanks To majdinj & raubkatze
Decompile SystemUI.apk
If you want a center clock then go to /res/layout/ and look for tw_status_bar.xml
Look for
Code:
<LinearLayout android:orientation="horizontal" android:id="@id/icons" android:paddingLeft="0.0dip" android:paddingRight="2.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <LinearLayout android:orientation="horizontal" android:id="@id/left_icons" android:paddingLeft="4.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
            <TextView android:textSize="15.0dip" android:gravity="center_vertical" android:id="@id/carrierLabel" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
            <ImageView android:id="@id/operatorLogoIcon" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/tw_stat_notify_operator_logo" />
            <ImageView android:id="@id/doNotDisturbIcon" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tw_dnd" android:alpha="0.7" android:scaleX="0.85" android:scaleY="0.85" />
            <com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />
            <com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />
        </LinearLayout>
        <LinearLayout android:orientation="horizontal" android:id="@id/right_icons" android:paddingRight="4.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentRight="true">
            <LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
            <LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">
                <include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/tw_signal_cluster_view" />
                <TextView android:textSize="12.0dip" android:textColor="#ffa6a6a6" android:layout_gravity="center" android:id="@id/battery_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_network_name_separator" />
                <ImageView android:gravity="center" android:id="@id/battery" android:layout_width="wrap_content" android:layout_height="wrap_content" />
            </LinearLayout>
            <com.android.systemui.statusbar.policy.Clock android:textSize="@dimen/status_bar_clock_text_size" android:textColor="#ff959595" android:ellipsize="none" android:gravity="left|center" android:id="@id/clock" android:paddingLeft="3.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:includeFontPadding="false" />
        </LinearLayout>
Change to
Code:
<LinearLayout android:orientation="horizontal" android:id="@id/icons" android:paddingLeft="1.0dip" android:paddingRight="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <LinearLayout android:orientation="horizontal" android:id="@id/left_icons" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
            <TextView android:textSize="15.0dip" android:gravity="center_vertical" android:id="@id/carrierLabel" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
            <ImageView android:id="@id/operatorLogoIcon" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/tw_stat_notify_operator_logo" />
            <ImageView android:id="@id/doNotDisturbIcon" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/tw_dnd" android:alpha="0.7" android:scaleX="0.85" android:scaleY="0.85" />
            <com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />
            <com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />
        </LinearLayout>
        <LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent">
            <com.android.systemui.statusbar.policy.Clock android:textSize="@dimen/status_bar_clock_text_size" android:textColor="#ffffffff" android:gravity="center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
        </LinearLayout>
        <LinearLayout android:gravity="right|center" android:orientation="horizontal" android:id="@id/right_icons" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentRight="true">
            <LinearLayout android:gravity="right|center" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="wrap_content" android:layout_height="fill_parent" />
            <LinearLayout android:gravity="right|center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">
                <include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/tw_signal_cluster_view" />
                <TextView android:textSize="12.0dip" android:textColor="#ffa6a6a6" android:layout_gravity="center" android:id="@id/battery_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_network_name_separator" />
                <ImageView android:gravity="center" android:id="@id/battery" android:layout_width="wrap_content" android:layout_height="wrap_content" />
            </LinearLayout>
        </LinearLayout>
Dont forget to add your colour to Policy clock
Recompile and done


Transparent Statusbar

decompile SystemUI.apk
edit with Notepad++ /res/layout/tw_super_status_bar.xml
Code:
<com.android.systemui.statusbar.phone.StatusBarWindowView android:background="#00000000" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
Then look in \res\layout\tw_status_bar
Code:
<com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:id="@id/status_bar" android:background="@drawable/status_bar_background" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"
Some people change here to hex
But I Check @drawable/status_bar_background

Is there and Move onto res/values/drawables

Note some members add the hex code here, try and see what you prefer

But I look for \res\values\drawables.xml
Code:
<item type="drawable" name="status_bar_background">#ff1e1e1e</item>
Or any other transparency value you like
#00000000 - 100% transparency
#3F000000 - 75% transparency
#7F000000 - 50% transparency
#BF000000 - 25% transparency

http://forum.xda-developers.com/show....php?t=2384892

Experimental, You dont need to use this
Im still trying to decide if this helps also
SystemUI\smali\com\android\system ui\statusbar\phone PhoneStatusBar$FastColorDrawable.smali

You can edit
Code:
# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
    .locals 2
    .parameter "canvas"

    .prologue
    .line 3824
    iget v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$FastColorDrawable;->mColor:I

    sget-object v1, Landroid/graphics/PorterDuff$Mode;->SRC:Landroid/graphics/PorterDuff$Mode;
To
Code:
# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
    .locals 2
    .parameter "canvas"

    .prologue
    .line 3824
    const v0, 0x00000000 

    sget-object v1, Landroid/graphics/PorterDuff$Mode;->SRC:Landroid/graphics/PorterDuff$Mode;
TRANSPARENCY VALUES
0x00000000 (100%)
0x88000000 (75%)
0x7f000000 (50%)
0xd8000000 (25%)

But thats a WIP
Recompile and your done


MultiWindows

MULTIWINDOWS
Please Thank mythtrandyr For His Guide


Easy Method to Make a Flashable Zip
Already a Good Guide here by majdinj HERE
Please remember to thank him for his work


Transparant status bar background and pull-down menu
Already a Good Guide here by majdinj HERE
Please remember to thank him for his work


More Mods found By Another Member

A few of them i havent tried myself so i put them all together here till i have time to Try
QUAD TARGED AOSP
Please Thank ICS_XD For His Guide
Volume Rocker mod LSJ
Please Thank Mirko ddd For His Guide
Add Another Thread in Settings | About Device
Please Thank Taimur Akmal For his Guide
The Following 45 Users Say Thank You to bombaybadboy For This Useful Post: [ View ] Gift bombaybadboy Ad-Free
14th May 2013, 03:01 PM |#3  
ICS_XD's Avatar
Senior Member
Flag Hidden Leaf Village
Thanks Meter: 13,270
 
Donate to Me
More
i also can help ))
The Following 9 Users Say Thank You to ICS_XD For This Useful Post: [ View ] Gift ICS_XD Ad-Free
14th May 2013, 03:05 PM |#4  
bombaybadboy's Avatar
OP Senior Member
Flag Wolverhampton
Thanks Meter: 17,867
 
More
AOSP STYLE CLEAR-ALL BUTTON
Good Guide By daveyannihilation Here
Please remember to thank him for his work


How To Mod Stock Samsung Apps For Multi DPI
Good Guide By MyLifeRocks10
Please remember to thank him for his work
Questions to MyLifeRocks10 thread please


4-Way Reboot
Good Guide Here By kahvitahra
Please remember to thank him for his work


Bottom Toggles guide for 23 toggle mods
Great Guide By churapa Here
Please remember to thank churapa for his work


Another Thread of Guides
HOW TO THEME SystemUI.apk for TOTALLY newbie
Please remember to thank joehanh88 for his work


Remove Brightness slider on 23 Toggle Mods
First i would like to thank churapa for his Guidence on this mod
So if it works ok Thank churapa if it doesnt work Blame me.

First decompile SystemUI.apk then go to res/layout/tw_status_bar_expanded and find this line
Code:
<FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="@dimen/tw_close_handle_underlap">
Then replace from that line everything with this
Code:
<FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="@dimen/tw_close_handle_underlap">
        <include android:layout_width="fill_parent" android:layout_height="@dimen/tw_notification_panel_header_height" layout="@layout/tw_status_bar_expanded_header" />
        <TextView android:gravity="center" android:id="@id/emergency_calls_only" android:paddingBottom="4.0dip" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" />
        <View android:background="#ff091a24" android:layout_width="fill_parent" android:layout_height="1.0dip" android:layout_marginTop="@dimen/tw_notification_panel_header_height" />
        <ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="@dimen/tw_notification_panel_header_line_height" android:overScrollMode="ifContentScrolls">
            <LinearLayout android:orientation="vertical" android:id="@id/scrollCart" android:layout_width="fill_parent" android:layout_height="wrap_content">
                <HorizontalScrollView android:id="@id/quicksetting_scroller" android:visibility="gone" android:scrollbars="none" android:layout_width="wrap_content" android:layout_height="@dimen/quick_setting_button_height">
                    <com.android.systemui.statusbar.policy.quicksetting.QuickSettingPanel android:orientation="horizontal" android:id="@id/quicksetting_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:divider="@drawable/tw_black_bg" android:showDividers="middle" />
                </HorizontalScrollView>
                <com.wanam.systemui.quickpanel.PowerWidget android:id="@id/exp_power_stat" android:layout_width="wrap_content" android:layout_height="@dimen/quick_setting_button_height" />
                <LinearLayout android:orientation="vertical" android:id="@id/brightness_controller" android:background="#ff000000" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="0.0dip">
                    <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="55.0dip">
                        <ImageView android:id="@id/brightness_icon" android:clickable="true" android:layout_width="25.0dip" android:layout_height="fill_parent" android:layout_marginLeft="13.0dip" android:src="@drawable/ic_sysbar_brightness" android:contentDescription="@string/accessibility_brightness_icon" />
                        <FrameLayout android:id="@id/brightness_group" android:layout_width="fill_parent" android:layout_height="fill_parent">
                            <com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
                            <com.android.systemui.statusbar.policy.ToggleSlider android:id="@id/auto_brightness" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:text="@string/status_bar_settings_auto_brightness_label" />
                        </FrameLayout>
                    </LinearLayout>
                    <View android:background="#ff091a24" android:layout_width="fill_parent" android:layout_height="1.0dip" />
                </LinearLayout>
                <LinearLayout android:orientation="vertical" android:id="@id/noNotificationsTitle" android:focusable="true" android:layout_width="fill_parent" android:layout_height="wrap_content">
                    <TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/noNotificationsText" android:paddingLeft="11.0dip" android:layout_width="fill_parent" android:layout_height="@dimen/status_bar_expanded_notification_category_height" android:text="@string/status_bar_no_notifications_title" />
                </LinearLayout>
                <LinearLayout android:orientation="vertical" android:id="@id/onGoingCart" android:background="#ff293945" android:focusable="true" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="0.0dip">
                    <TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/onGoingNotificationText" android:paddingLeft="11.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/status_bar_ongoing_events_title" />
                </LinearLayout>
                <com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/onGoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
                <LinearLayout android:orientation="vertical" android:id="@id/notificationCart" android:background="#ff293945" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="0.0dip">
                    <RelativeLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
                        <TextView android:textSize="@dimen/status_bar_expanded_notification_category_text_size" android:textColor="@color/notification_category_color" android:gravity="left|center" android:id="@id/latestNotificationText" android:paddingLeft="11.0dip" android:layout_width="180.0dip" android:layout_height="fill_parent" android:text="@string/status_bar_latest_events_title" android:layout_alignParentLeft="true" />
                        <TextView android:textSize="@dimen/status_bar_expanded_notification_clear_button_text_size" android:textColor="@color/tw_status_bar_clear_btn_text" android:gravity="center" android:id="@id/clear_all_button" android:background="@drawable/tw_btn_default_small" android:padding="0.100000024dip" android:focusable="true" android:clickable="true" android:layout_width="@dimen/status_bar_expanded_clear_button_width" android:layout_height="fill_parent" android:layout_marginRight="4.0dip" android:text="@string/status_bar_clear_all_button" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_clear_all" />
                    </RelativeLayout>
                </LinearLayout>
                <com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/notificationItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
                <com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/tw_notification_row_min_height" />
            </LinearLayout>
        </ScrollView>
    </FrameLayout>
    <com.android.systemui.statusbar.phone.CloseDragHandle android:layout_gravity="bottom" android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height">
        <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
            <ImageView android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height" android:src="@drawable/tw_status_bar_close" android:scaleType="fitXY" />
            <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network" android:gravity="center" android:layout_gravity="bottom" android:id="@id/carrier_label" android:layout_width="fill_parent" android:layout_height="@dimen/tw_close_handle_height" android:layout_marginBottom="10.0dip" />
        </RelativeLayout>
    </com.android.systemui.statusbar.phone.CloseDragHandle>
</FrameLayout>
THIS is one i made so you can compare or use
Thats it recompile and you have No Brightness Slider. You May want to all clear all from one of the other guides above


AOSP 5 LOCKSCREEN SHORTCUTS
This Is a guide from Didact74 I only needed to edit a couple of lines and resize the images so PLEASE thank him here HERE

You will need
framework-res.apk
SecSettings.apk
android.policy.jar
framework2.jar

Decompile framework-res.apk

Navigate to res/layout/keyguard_screen_tab_unlock.xml

Locate the following code

add code in Blue

Code:
<TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:textColor="?textColorSecondary" android:ellipsize="marquee" android:gravity="center_horizontal" android:id="@id/carrier" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="12.0dip" android:singleLine="true" android:layout_alignParentBottom="true" />
        <TextView android:textAppearance="?textAppearanceMedium" android:ellipsize="marquee" android:id="@id/statement" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12.0dip" android:singleLine="true" android:drawablePadding="4.0dip" android:layout_below="@id/carrier" android:layout_centerHorizontal="true" android:marqueeRepeatLimit="marquee_forever" />
Download new pngs and .xml from HERE


Code:
Using the supplied zip file put the following files in the following locations.
ic_lockscreen_phone_activated.png
ic_lockscreen_phone_normal.png
ic_lockscreen_sms_activated.png
ic_lockscreen_sms_normal.png 
....all go in /res/drawable-hdpi

Using the supplied zip file put the following files in the following locations.
ic_lockscreen_phone.xml
ic_lockscreen_sms.xml
......all go in /res/drawable

Navigate to res/values/arrays

and find line
Code:
<array name="lockscreen_targets_with_camera">
edit to look like this
Code:
<array name="lockscreen_targets_with_camera">
        <item>@drawable/ic_lockscreen_unlock</item>
        <item>@drawable/ic_lockscreen_sms</item>
        <item>@drawable/ic_action_assist_generic</item>
        <item>@drawable/ic_lockscreen_phone</item>
        <item>@drawable/ic_lockscreen_camera</item>
        <item>@null</item>
        <item>@null</item>
        <item>@null</item>
    </array>
Then find
Code:
<string-array name="lockscreen_target_descriptions_with_camera">
edit to look like this
Code:
<string-array name="lockscreen_target_descriptions_with_camera">
        <item>@string/description_target_unlock</item>
        <item>@string/description_target_sms</item>
        <item>@string/description_target_search</item>
        <item>@string/description_target_phone</item>
        <item>@string/description_target_camera</item>
        <item>@null</item>
        <item>@null</item>
        <item>@null</item>
    </string-array>

Then goto res/values/strings and add the following at the end before </resources>
Code:
<string name="description_target_sms">Sms</string>
    <string name="description_target_phone">Phone</string>
then you need to recompile framework-res and then decompile it to generate public IDs

Then go to res/values/public

Find the following lines and write down thier IDs in the order you see them below and set aside for a step later in the tutorial. Make sure you have the correct ID, some will have more than one instance but only one will look EXACTLY like whats below.

Code:
ic_action_assist_generic
ic_lockscreen_camera
ic_lockscreen_silent
ic_lockscreen_unlock
ic_lockscreen_unlock_phantom
ic_lockscreen_phone
ic_lockscreen_sms
Example only
Code:
<public type="drawable" name="ic_action_assist_generic" id="0x010802cd" />
<public type="drawable" name="ic_lockscreen_camera" id="0x01080328" />
<public type="drawable" name="ic_lockscreen_silent" id="0x01080344" />
<public type="drawable" name="ic_lockscreen_unlock" id="0x0108034f" />
<public type="drawable" name="ic_lockscreen_unlock_phantom" id="0x01080352" />
<public type="drawable" name="ic_lockscreen_phone" id="0x01080a4f" />
<public type="drawable" name="ic_lockscreen_sms" id="0x01080a52" />

Recompile framework-res

Now Follow the rest of the Guide by Didact74 For AOSP LockScreen with Toggle and then AOSP Lockscreen shortcuts HERE


Edge Zoom + Toggle
Jeboo's Guide here
Please remember to thank Jeboo for his work

2 edits need to be changed from this guide as found by shoman94 In post 9 = No Need to edit public.xml Other change is Post 23 by shoman94 HERE
Please remember to thank shoman94 for his work

Also remember to add Edge Zoom From shoman94 Guide


Sense Style Recents Apps

Good Guide by Jeetu
Please remember to thank Jeetu for his work


Bottom Recent apps and lockScreen Toggles

Thanks To apurvapatel For Guide You can thank him Here

Decompile SystemUI.apk

Then Download png's Here and drop in \res\drawable-hdpi

Go to res/layout/tw_status_bar_expanded

Look for </RelativeLayout> At the end of the file

Add the following lines right above it
Code:
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/back" android:paddingLeft="2.0dip" android:paddingRight="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lock" android:layout_weight="1.0" android:contentDescription="@string/accessibility_back" systemui:keyCode="26" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/recent_apps" android:paddingLeft="2.0dip" android:paddingRight="1.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_recent" android:layout_weight="1.0" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_recent" systemui:keyCode="187" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
then recompile and your done

If you want toggles reversed from left to right then use these lines instead of above Lines

Code:
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/recent_apps" android:paddingLeft="2.0dip" android:paddingRight="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_recent" android:layout_weight="1.0" android:contentDescription="@string/accessibility_recent" systemui:keyCode="187" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/back" android:paddingLeft="2.0dip" android:paddingRight="1.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_lock" android:layout_weight="1.0" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_back" systemui:keyCode="26" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
Enjoy


Single Line Date In Notification Statusbar

Tired Storeman's JB 4.1.2 Tutorials
Please remember to thank Tired Storeman for his work


Remove cloudy overlay and improve ripple on Ripple Lockscreen
Great Guide By Goldieking Here
Please remember to thank Goldieking for his work


Understanding and Creating Smali Mods & General Smali Questions
Great Guide By Goldieking Here
Please remember to thank Goldieking for his work


More Mods found By tdunham

These Guides are For Other Devices but You May find changes are similar

Enable/disable brightness slider with toggle!
Please remember to thank him for his work

ICS+ Tabbed settings(MIUI Like)
Please remember to thank him for his work

New Power Menu JB
Please remember to thank tdunham for his work

Various guides from majdinj
Please remember to thank majdinj for his work
Excellent Guides here Worth Looking at

Guides For i9300
Please remember to thank Didact74 for his work

Lockscreen and Recent app shortcut, Notification text color on drop panel
Please remember to thank kmokhtar79 for his work
The Following 25 Users Say Thank You to bombaybadboy For This Useful Post: [ View ] Gift bombaybadboy Ad-Free
15th May 2013, 08:36 AM |#5  
Vivek_Neel's Avatar
Recognized Contributor / Themer
Flag Chennai
Thanks Meter: 25,039
 
Donate to Me
More
Mate..much useful for me..
Great work..and thanks BBB my friend..:thumbup:

Subscribed.

Sent from my GT-I9100 using xda app-developers app

---------- Post added at 07:36 AM ---------- Previous post was at 07:28 AM ----------

Quote:
Originally Posted by ICS_XD

i also can help ))

Bhai legend hai thu..he he

Sent from my GT-I9100 using xda app-developers app
The Following 4 Users Say Thank You to Vivek_Neel For This Useful Post: [ View ] Gift Vivek_Neel Ad-Free
15th May 2013, 01:03 PM |#6  
_Sale_'s Avatar
Inactive Recognized Developer
Thanks Meter: 53,731
 
Donate to Me
More
Good job BBB, keep it up
(5s )
The Following 5 Users Say Thank You to _Sale_ For This Useful Post: [ View ] Gift _Sale_ Ad-Free
15th May 2013, 01:57 PM |#7  
bombaybadboy's Avatar
OP Senior Member
Flag Wolverhampton
Thanks Meter: 17,867
 
More
Quote:
Originally Posted by salesale

Good job BBB, keep it up
(5s )

Thankyou m8, hard work building these threads but hoping I have made it user friendly

Sent from my GT-I9100 using xda premium
The Following 6 Users Say Thank You to bombaybadboy For This Useful Post: [ View ] Gift bombaybadboy Ad-Free
15th May 2013, 02:06 PM |#8  
shoman94's Avatar
Recognized Contributor
Flag Maine
Thanks Meter: 12,359
 
Donate to Me
More
One stop shop is nice.
The Following 5 Users Say Thank You to shoman94 For This Useful Post: [ View ] Gift shoman94 Ad-Free
15th May 2013, 05:15 PM |#9  
hacklana's Avatar
Senior Member
Maryland
Thanks Meter: 629
 
More
great all in one thread. no need to find many threads anymore

Sent from my GT-I9100 using xda app-developers app
The Following 2 Users Say Thank You to hacklana For This Useful Post: [ View ] Gift hacklana Ad-Free
16th May 2013, 10:36 PM |#10  
churapa's Avatar
Senior Member
Thanks Meter: 5,135
 
More
Finally a very well thought guide, kudos buddy!
Attached Thumbnails
Click image for larger version

Name:	5stars.jpg
Views:	2475
Size:	15.5 KB
ID:	1967828  
The Following 4 Users Say Thank You to churapa For This Useful Post: [ View ] Gift churapa Ad-Free
16th May 2013, 10:48 PM |#11  
bombaybadboy's Avatar
OP Senior Member
Flag Wolverhampton
Thanks Meter: 17,867
 
More
Quote:
Originally Posted by churapa

Finally a very well thought guide, kudos buddy!

Thanks m8 I was just worried that some great guides would get lost or buried. This was my attempt at getting new members to try themselves. Its a good feeling to succeed at building something yourself and find it works. Well it is for a noob like me

Sent from my GT-I9100 using xda premium
The Following 3 Users Say Thank You to bombaybadboy For This Useful Post: [ View ] Gift bombaybadboy Ad-Free
Post Reply Subscribe to Thread

Tags
4.1.2 s2, guides, jellybean, links, stock deodexed

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes