Tuesday, January 28, 2014

[GUIDE][MEDIATEK][ALL] HOW TO MAKE JB 4.1 STATUSBAR LIKE JB 4.2 (update)

How to make JB 4.1 Stautusbar like JB 4.2, Hallo droiders, gmna kabar ?? baik kan pasti :-) setelah beberapa waktu lalu ane ngeshare cara membuat dual panel statusbar di JB, kali ini ane mau ngeshare tutorial yaitu HOW TO MAKE JB 4.1 STATUSBAR LIKE JB 4.2 , suka bosen ga liat statusbar khususnya ekspanded di jb 4.1 yang biasa aja ?? kalo ane sih iya haha mankanya ane mau ngeshare cara ngebuatnya biar kaya JB 4.2, langsung aja bro ::

Bahan-bahan ::
Langkah-langkahnya ::
  • Decompile SystemUI.
  • Ekstrak file yang di download tadi, lalu taroh di tempat masing masing.
  • Buka Statusbar_ekspanded_header.xml lalu tambahkan <com.spacecaker.ButtonBurst android:id="@id/spacebuttonburst" android:layout_width="40.0dip" android:layout_height="40.0dip" android:layout_alignParentRight="true" /> SS ::
  • Lalu buka layout/statusbar_ekspanded.xml kalo MTK gemini_statusbar_ekspanded.xml
  • Lalu compare dengan ekspanded ane, ambil disini (base stock A7S)(kalo masih pure, bisa langsung timpa pake punya ane tadi) compare seperlunya aja.
  • Open layoutkosong.xml , isi semau ente, bisa di isi togle, gambar, slider, bebas dan kreasi sendiri :-)
  • Buka values/ids tambahkan di paling bawah <item type="id" name="spacebuttonburst">false</item>
  • Lalu Compile, kalo udah Decompile kembali
  • Buka Values/public (jangan di close)
  • Buka juga smali/com/spacecake/ButtonBurst, lalu cari 0x7f020248 (buka public ente lalu ctrl+f <public type="drawable" name="btn_tg") lalu replace 0x7f020248 dengan kode public ente
  • Masi di smali/com/spacecake/ButtonBurst, cari 0x7f020249 (buka public ente lalu ctrl+f <public type="drawable" name="btn_toggles_normal") lalu replace 0x7f020249 dengan kode public ente.
  • Save, lalu recompile
  • Done Selamat JB 4.1 ente uda kaya 4.2 :-)
Menambahkan Tileview
  • Buka layoutkosong.xml isikan dengan ini :
  • <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"
      xmlns:android="http://schemas.android.com/apk/res/android">
        <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
            <ScrollView android:id="@id/scroll" android:scrollbars="none" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="wrap_content" android:overScrollMode="never">
                <LinearLayout android:gravity="center" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
                    <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="110.899994dip">
                        <RelativeLayout android:background="#ff2d6176" android:layout_width="0.0dip" android:layout_height="110.899994dip" android:layout_weight="1.0">
                            <ImageView android:layout_gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_display" android:onClick="display" />
                            <TextView android:gravity="center" android:layout_gravity="top|center" android:background="#00000000" android:paddingTop="76.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="2.0px" android:text="Display" style="@style/TextAppearance.StatusBar.TextButton" />
                        </RelativeLayout>
                        <FrameLayout android:background="#ff2d6176" android:layout_width="0.0dip" android:layout_height="110.899994dip" android:layout_weight="1.0">
                            <ImageView android:layout_gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_bluetooth" android:onClick="Bluetooth" />
                            <TextView android:gravity="center" android:layout_gravity="top|center" android:background="#00000000" android:paddingTop="76.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="2.0px" android:text="Bluetooth" style="@style/TextAppearance.StatusBar.TextButton" />
                        </FrameLayout>
                        <FrameLayout android:id="@id/settings_button" android:background="#ff2d6176" android:layout_width="0.0dip" android:layout_height="110.899994dip" android:layout_weight="1.0">
                            <ImageView android:layout_gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_wifi" android:onClick="Wifi" />
                            <TextView android:gravity="center" android:layout_gravity="top|center" android:background="#00000000" android:paddingTop="76.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="2.0px" android:text="Wifi" style="@style/TextAppearance.StatusBar.TextButton" />
                        </FrameLayout>
                    </LinearLayout>
                </LinearLayout>
            </ScrollView>
        </FrameLayout>
    </FrameLayout>
  • Lalu buka smali/com/android/systemui/SystemUIService.smali lalu search # virtual methods
  • Lalu tambahkan persis di bawahnya :
  • .method public Bluetooth(Landroid/view/View;)V
        .locals 3
        .parameter "v"

        .prologue
        .line 2431
        new-instance v0, Landroid/content/Intent;

        invoke-direct {v0}, Landroid/content/Intent;-><init>()V

        .line 2432
        const-string v1, "com.android.settings"

        const-string v2, "com.android.settings.bluetooth.BluetoothSettings"

        invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;

        const/high16 v2, 0x1000

        invoke-virtual {v0, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;

        move-result-object v0

        .line 2433
        invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V

        const-string v1, "statusbar"

        invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

        move-result-object v0

        check-cast v0, Landroid/app/StatusBarManager;

        invoke-virtual {v0}, Landroid/app/StatusBarManager;->collapse()V

        .line 1720
        return-void
    .end method

    .method public Wifi(Landroid/view/View;)V
        .locals 3
        .parameter "v"

        .prologue
        .line 2431
        new-instance v0, Landroid/content/Intent;

        invoke-direct {v0}, Landroid/content/Intent;-><init>()V

        .line 2432
        const-string v1, "com.android.settings"

        const-string v2, "com.android.settings.wifi.WifiSettings"

        invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;

        const/high16 v2, 0x1000

        invoke-virtual {v0, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;

        move-result-object v0

        .line 2433
        invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V

        const-string v1, "statusbar"

        invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

        move-result-object v0

        check-cast v0, Landroid/app/StatusBarManager;

        invoke-virtual {v0}, Landroid/app/StatusBarManager;->collapse()V

        .line 1720
        return-void
    .end method

    .method public display(Landroid/view/View;)V
        .locals 3
        .parameter "v"

        .prologue
        .line 2431
        new-instance v0, Landroid/content/Intent;

        invoke-direct {v0}, Landroid/content/Intent;-><init>()V

        .line 2432
        const-string v1, "com.android.settings"

        const-string v2, "com.android.settings.DisplaySettings"

        invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;

        const/high16 v2, 0x1000

        invoke-virtual {v0, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;

        move-result-object v0

        .line 2433
        invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V

        const-string v1, "statusbar"

        invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

        move-result-object v0

        check-cast v0, Landroid/app/StatusBarManager;

        invoke-virtual {v0}, Landroid/app/StatusBarManager;->collapse()V

        .line 1720
        return-void
    .end method
  • Download filenya disini lalu ekstrak dan taroh di tempat masing-masing
  • Done, recompile dehhh :-)
SS dari stockjbmod ane yah, kalo mau compare download aja di postingan di bawah ::
#NB :: Tidak termasuk lidroid, tab sama slider yah pastinya nanti :-)

Thanks To ::
ALLAH SWT
SpaceCaker@xda
Eko Pujianto@facebook
Batiklicious devteam
You

HAPPY NGOPREK :-)

#NB :: Hargai pembuat tutor, kalo ente ga sanggup minta izin seenggaknya sumber di cantumkan :v

35 komentar

kurang lengkap neh tutornya gan,buat nubi kek ane bingung itu layoutkosong.xml nya mohon di upload punya agan apa namanya layoutkosong.xml ja atau bukan,klo lihat di tutor asli dari spacecaker nya keknya panjang tp sy gk faham pake edit2 smali

Knapa ane kasi layoutkosong ?? Karna itu biar eksplorasi, ok nanti ane tambahin buat nambahin tileview, tapi kudu main smali, tapi simple kok, wait ya

sesuai request ente, udah lengkap yah, tested di A7S ane, itu ane cuma kasi contoh 3 togle, kalo mau banyakan bisa download StockJBMod ane :-)

Link StockJBMod ente mana gan..
Mau ane compare sama Acer Liquid z2 ane..
:D

ada kok di bawah, ada StockJBMod, ambil yg update 1 aja, soalnya uda pake lidroid, dan smalinya uda banyak ane mainin kalo buat compare jadi mantep :-D

Gan Tio.. Ada akun Fb gak..
atau Pin BB nya..
Biar enak konsultasinya...

facebook.com/jamiel.prasetio kalo bbm ane males wkwk

Udah gan.. Makasih.. Ane Erwin yang tadi..
Powerwidget.smali di replace pake yang mana gan..
:D

dari smali source yg grid lidroid di postingan adi aishiteru gan

gan, itu compare/tutor dr adi yaa..
screen shot nya FC gg ?

laahhh ?? ini bukan tutor masang lidroid bro hehe

Gan link download stockmod jb ente ga ada gan? Ane mw liat xmlnya gan :-D

cari aja bro, di postingan ane yg lain :v

semua tutor tentang Jelly Bean ini bisa untuk semua hh dengan spek Jelly Bean ndak gan ?
hh ane Young 2 s6310 udah Jelly Bean gan
makasih

pokoknya selama ga ada embel embel MTK itu buat semua Jelly Bean bro :-)

ok wwkwkwk jarang2 yg doain ane wkwk

Maksudnya kode public ente itu apa?

ya di public kan ada kode2 tuh, nahh itu kode punya ente :-)

Cara isi di layoutkosong.xml gmn?

iya tinggal masukin apa yg mau di masukin, nah kan bisa liat di post ane yg lain, bisa volume slider, quick panel, dan lainnya :-)

Gan link download file nya error semua

Gak bisa didownload filenya...minta file nya dong

Ane selalu mismatched pas compare expanded gan :(

liat yg mismatched yg mana, perhatikan line2nya bro :-)

Kode public dapetnya dari mana..?

ente recompile terus decompile lagi, baca tutornya yg teliti um :-)

ga bisa di pencet ? udh sesuai guidenya kan um ?

bisa um, cuma butuh beberapa penyesuaian di layoutnya

Gan kalo mau rubah tampilan lidroid biar jadi tab view gmn yah? Ane ikutin tutor agan adi jadi nya slider view..posisi jb 4.1

kan langsung jadi um kalo bener um sesuai tuts om adi, ada yg terlewat mungkin um, ane ga ada HH jb4.1 um hehe

Berkomentarlah yang baik, tidak mencela postingan :-) . Gunakan bahasa yang sopan dan mudah di mengerti.

TERIMA KASIH TELAH BERKOMENTAR, karena pengunjung yang baik adalah pengunjung yang berkomentar :-) :v
EmoticonEmoticon