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
4 Lockscreen Shortcuts
Water Ripple Effect+Toggle
android.policy.jar
com/android/internal/policy/impl/sec/CircleLockScreen.smali
After
Now for the Toggle
Secsettings.apk
com/android/settings/LockScreenSettings.smali
After:
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
Replace that entire method with this:
Recompile and Done
You can thank shoman94 on 3rd post Here
% Battery-icons
Proper home button lagfix
Potential Media Scanner Fix
CRT-OFF
CRT-OFF+ Toggle
Back to kill
More Info on PNG editing by HighlanderZA
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
To:
Save the file, recompile and push the apk to your phone.
See Easy:fingers-crossed:
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">[COLOR="Red"]true[/COLOR]</bool>
Code:
<bool name="config_fixedWallpaperOffset">[COLOR="Blue"]false[/COLOR]</bool>
See Easy:fingers-crossed:
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
To:
Recompile and Done
There is also a guide for 5 Lockscreen shortcuts by Mirko dddHere
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
[COLOR="Red"][B]const/4 v0, 0x3[/B][/COLOR]
sput v0, Lcom/android/settings/lockscreenshortcut/LockScreenShortcutSettings;->MAX_SHORTCUT_ICON:I
Code:
# direct methods
.method static constructor ()V
.locals 2
.prologue
const/4 v1, 0x0
.line 79
[B][COLOR="Blue"]const/4 v0, 0x4[/COLOR][/B]
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
[COLOR="Red"]# if-eqz v22, :cond_61f[/COLOR]
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;
[COLOR="Red"]# invoke-virtual {v9, v10}, Landroid/preference/PreferenceScreen;->removePreference(Landroid/preference/Preference;)Z
[/COLOR]
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:
[B].method public onTouchEvent(Landroid/view/MotionEvent;)Z[/B]
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
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
Changes Date
If you want to change colour of statusbar then you have 2 ways, 1st way go to \res\layout\tw_status_bar
and edit
Add Hex Highlighted in Red
Or go to res/values/drawables.xml and look for
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 )
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="[COLOR="Red"]#ff959595[/COLOR]" 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
Code:
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" />
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="[COLOR="Red"]@drawable/status_bar_background[/COLOR]" android:focusable="true" android:fitsSystemWindows="true" android:descendantFocusability="afterDescendants"
Or go to res/values/drawables.xml and look for
Code:
<item type="drawable" name="status_bar_background">[COLOR="Red"]#ff000000[/COLOR]</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
Potential Media Scanner Fix
CRT-OFF
CRT-OFF+ Toggle
Back to kill
More Info on PNG editing by HighlanderZA
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
Until i can change from PDF Files you will need Adobe Reader XI To Read but worth looking at
Last edited: