Monday, 20 July 2015

Membuat Statusbar Transparan di Android

Tutorial ini bisa diterapkan untuk smartphone dengan base CM10 / CM10.1/ StockROM JB 4.1.1/ JB 4.1.2 / JB 4.2.1/JB 4.2.2/ JB 4.3


STEP 1

DECOMPILE android.policy.jar
cari file ini \com\android\internal\policy\impl\PhoneWindowManager.smali
kalo udah ketemu, buka file itu dengan notepad++ / editor lain, trus cari method ini:


Cari Kode : .method public getSystemDecorRectLw(Landroid/graphics/Rect;)I

scroll kebawah, kemudian hapus kode yang berwarna merah,dan ganti dengan kode yang berwarna biru.

.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
.registers 3
.parameter "systemRect"

.prologue
.line 3057
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemLeft:I

iput v0, p1, Landroid/graphics/Rect;->left:I

.line 3058
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemTop:I

iput v0, p1, Landroid/graphics/Rect;->top:I

.line 3059
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemRight:I

iput v0, p1, Landroid/graphics/Rect;->right:I

.line 3060
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I

iput v0, p1, Landroid/graphics/Rect;->bottom:I

.line 3061
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;

if-eqz v0, :cond_1b

iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;

invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I

move-result v0

.line 3063
:goto_1a
return v0

.line 3062
:cond_1b
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;

if-eqz v0, :cond_26

iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;

invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I

move-result v0

goto :goto_1a

.line 3063
:cond_26
const/4 v0, 0x0

goto :goto_1a
.end method

Ganti kode Merah dengan kode Biru ini:

const/4 v0, 0x0
return v0
.end method

Step 1 selesai, Recompile file android.policy.jar
Note : Jangan terlalu fokus sama linenya soalnya setiap  HH beda beda  
STEP 2
 
DECOMPILE SystemUI.apk
cari file ini /res/values/drawables.xml
kalo udah ketemu, buka file itu dengan notepad++ / editor lain. edit bagian ini :

Quote:
 <item type="drawable" name="notification_number_text_color">#ff000000</item>
<item type="drawable" name="ticker_background_color">#ff1d1d1d</item>
<item type="drawable" name="status_bar_background">#00000000</item>
<item type="drawable"name="status_bar_recents_app_thumbnail_background">#88000000</item>
<item type="drawable" name="status_bar_notification_row_background_color">#ff090909</item>
<item type="drawable" name="recents_callout_line">#99ffffff</item>
<item type="drawable" name="notification_item_background_legacy_color">#ffaaaaaa</item>
<item type="drawable" name="intruder_bg_pressed">#ff33b5e5</item>
<item type="drawable" name="notification_header_bg">#ff000000</item>
<item type="drawable" name="system_bar_background">#88000000</item>
<item type="drawable" name="notification_icon_area_smoke">#88000000</item>

100% Transparency : #00000000
80% Transparency : #88000000

pada bagian ini status_bar_background ubah menjadi nilainya menjadi = #00000000

selanjutnya cari file ini /res/values/dimens.xml
kalo udah ketemu, buka file itu dengan notepad++ / editor lain. edit bagian ini :
Quote: <item type="dimen" name="status_bar_icon_drawing_alpha">100.0%</item>
Step 2 selesai, Recompile file SystemUI.apk

Push file android.policy.jar dan SystemUI.apk ke system.
android.policy.jar ke /system/framework
SystemUI.apk ke /system/app

*rubah permission menjadi rw-r-r, dan reboot.
 



CREDIT & THANKS TO : - evilisto
- rodman01
- mulbyungjahri
- BOND1987
 - Adi Aisiteru Reborn
 - Iqbal Tamam (me)

 


 

No comments:

Post a Comment