5 Maret 2013

[Tutor] Kontrol Lidroidmu

Leave a Comment
By Wahyu Chandra

http://forum.xda-developers.com/showthread.php?t=1952943

All credit goes to om Jmkl Six. Ane cuma bantu translatein aja supaya kita bisa belajar bareng-bareng.

Sekedar tips buat yang gagal ngikutin tutor ini. Kalo bisa, kode buat smali dan statusbarexpanded nya jangan langsung copas dari bawah. Mending copas langsung dari thread om jim di xda. Walaupun kodenya sama, tapi kalo agan langsung kopas dari sini ke smalinya pasti jadi berantakan dan bakalan error pas di compile. Barusan ane udah praktekin lagi dan sukses kok. Asal teliti aja.



Bahan-bahan:

  1. Systemui.apk( Ambil dari System kalian masing2)
  2. Apk Manager/Apktool (Google it!)
  3. Notepad++ (Google it!), untuk linux coba pake Sublime Text
  4. Kesabaran & ketelitian

Tutorial :
1). Decompile Systemui pake Apktool/Apkmanager. Kalo ane sih pake apkmanager, kl di linux bs juga pake Apkmanager for linux atau bisa pake punya um ncez albertus di Grup FB official agalaxy young

2). Setelah selesai di decompile, langsung meluncur ke SystemUI.apk\smali\com\android\systemui\statusbar. Cari file Statusbarservice.smali. Buka deh pake Notepad++.

3).Kalo udah, paste kode dibawah ini tepat dibawah #instance fields (Ctrl+F biar cepet) trus save.:

.field l1:Landroid/widget/LinearLayout;

Jangan di close dulu.

4). Lanjut, pergi ke SystemUI.apk\res\values, buka public .xml trus cari type=id yang paling terakhir. Di kasus ane, type=id terakhir itu <public type="id" name="brightness_button" id="0x7f09002b" />. Nah, agan tambahin deh tuh dibawahnya buat id lidroid kita. Kasih nama: "AwesomeLidroid" dan idnya jadi nambah satu dari id yang terakhir diatas. Jadinya kaya gini berikut id terakhir tadi:

<public type="id" name="brightness_button" id="0x7f09002b" />
    <public type="id" name="awesomelidroid" id="0x7f09002c" />

Udah? Save!

5). Masih di folder values, buka ids.xml. Tambahin id baru yang namanya "AwesomeLidroid" trus kasih values: False sebelum line </resources>. jangan lupa save. Nih contohnya:

<item type="id" name="awesomelidroid">false</item>
</resources>

6).Balik lagi deh ke StatusbarService.smali tadi. Ctrl+F buat nyamperin .line 336 trus paste kode dibawah ini dibawah group line itu:

.line 337
const v2, 0x7f09002c

invoke-virtual {v1, v2}, Lcom/android/systemui/statusbar/ExpandedView;->findViewById(I)Landroid/view/View;

move-result-object v2
check-cast v2, Landroid/widget/LinearLayout;

iput-object v2, p0, Lcom/android/systemui/statusbar/StatusBarService;->l1:Landroid/widget/LinearLayout;


Note: Yang ane bold itu adalah id number dari awesomelidroid yang agan tambahin di public.xml tadi. Karena id awesomelidroid ane adalah 0x7f09002c, jadinya kaya gitu. tapi kalo id agan beda, ya harus ditulis yang sesuai sama id agan di public.xml tadi. Ane pernah gagal gara-gara ga teliti sama id ini. Jadi sekali lagi pointnya: Harus teliti!

7). CTRL+F lagi buat nengok ke .line 344 atau .line 352(mereka sama) dan ganti semua kode yang ada di line itu dengan kode ini:

.line 344
.local v3, qsv:Lcom/lidroid/systemui/quickpanel/PowerWidget;
const/4 v8, 0x0

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

iget-object v2, p0, Lcom/android/systemui/statusbar/StatusBarService;->l1:Landroid/widget/LinearLayout;

invoke-virtual {v2, v3, v8}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;I)V

Jangan lupa save.

8). Udah puyeng-puyengan main sama smalinya? Nah, sekarang coba buka itu statusbarexpanded.xml yang ada di SystemUI.apk\res\layout. Buat satu grup linearlayout dan tempatin dimana aja agan mau itu lidroid nongol. Kalo mau kaya punya ane yang ada diatas brightness, agan taro aja kode di bawah ini di atas grupnya si brightness itu:

<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/awesomelidroid" android:background="@drawable/lidroid_bg" android:paddingTop="5.0dip" android:layout_width="fill_parent" android:layout_height="60.0dip" >
</LinearLayout>

Nah, berhubung itu ane tambahin buat background lidroidnya, agan jangan lupa tambahin juga 1 gambar buat background trus kasih nama Lidroid_bg.png. Terserah deh mau di taro di drawable ldpi/hdpi.

9). Compile it!

10). Finish...yey..


Susah? Engga ah. Asal agan sabar dan teliti aja ngebaca tutorialnya. Happy grepe-ing!

UPDATE...!!!buat yg pake apktool buat compile ato decompile, ntar masukin juga resource.arsc sama file2 td yg udh di recompile ke SystemUI kita..., biar ng FC status barnya

Credit: Official Group Galaxy Young

0 komentar:

Posting Komentar

Keep comment and Learning :)

Do With Ur Own Risk !