Kamis, 05 Maret 2015

Membuat Statusbar dan Statusbar expanded transparant


Bahan-bahan
  • Apk Multi Tool / Apktool atau alat untuk compile/decompile lainnya. 
  • Saran saya pake Apktool biar gampang edit Jarnya tinggal pake baksmali 
  • SystemUI
  • Android.policy.jar

android.poliy.jar
  • Decompile android.policy.ja
  • Lalu buka :


    android.poliy.jar.out/smali/com/android/internal/policy/impl/PhoneWindowManager.smali

    lalu Cari , disetiap tempat beda letak dan lain lain Gan tapi saya coba dari JB 4.2.2 sampe 4.4.2 ada kok
  • iput v0, p1, Landroid/graphics/Rect;->bottom:I
  • Lihat line ini
  • iput v0, p1, Landroid/graphics/Rect;->bottom:I

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

        if-eqz v0, :cond_0

        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 2581
        :goto_0
        return v0

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

        if-eqz v0, :cond_1

        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_0

        .line 2581                  -----> bisa beda tiap device
        :cond_1
        const/4 v0, 0x0

        goto :goto_0             -----> ganti dengan return v0
    .end method
  •  Ubah Sesuaikan Sehingga menjadi seperti ini
  • iput v0, p1, Landroid/graphics/Rect;->bottom:I

        .line 2581            -----> sesuaikan
        const/4 v0, 0x0

        return v0
    .end method
  • Selesai  Recompile

SystemUI
  • Decompile SystemUI
  • Res/drawable-hdpi hapus 3 file ini Notification_panel_bg.9.png ,Notification_header_bg.9.png, Status_bar_bg_tile.9.png dan hapus juga Notification_panel_bg.9.png di folder lainnya juga.
  • Masuk ke values/drawables.xml, lalu tambahkan line

        <item type="drawable" name="notification_header_bg">#00000000</item>
        <item type="drawable" name="notification_panel_bg">#00000000</item>
        <item type="drawable" name="status_bar_bg_tile">#00000000</item>
        <item type="drawable" name="status_bar_background">#00000000</item>
  • Lalu buka smali/com/android/systemui/statusbar/phone/PhoneStatusBar$FastColorDrawable.smali lalu search
  • .parameter "canvas"
  • Lalu ganti line ini menjadi const v0, 0x0
  • iget v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$FastColorDrawable;->mColor:I
  • Recompile SystemUI

     
Selesai :D Sumber Tutor Archiveandroid