[TUTOR][ICS][JB] Menambahkan Music Lidroid Toggle




Bismillah...

Langsung aja

Syarat:
*Mengerti decompile & recompile
*Sabar & teliti
*SystemUI yg di edit sudah ada Lidroid Toggle


*** EDIT SystemUI.apk ***

LANGKAH PERTAMA

** Decompile SystemUI.apk
** Merger bahan sesuai tempatnya
** Buka string.xml lalu tambahkan ini di atas: </resources>

    <string name="quickpanel_playpause_text">Play/Pause</string>

    <string name="quickpanel_next_text">Next</string>

    <string name="quickpanel_previous_text">Previous</string>


** Save & recompile

LANGKAH KEDUA

** Decompile SystemUI.apk hasil dari langkah pertama
** Buka public.xml dan biarkan terbuka
** Buka PowerButton.smali ada di smali\com\lidroid\systemui\quickpanel\
** Cari codding: 

.field public static final BUTTON_AIRPLANE:Ljava/lang/String; = "toggleAirplane"


** Tambahkan codding berikut ini di atasnya:

.field public static final BUTTON_ADIMEDIANEXT:Ljava/lang/String; = "toggleAdiMediaNext"


.field public static final BUTTON_ADIMEDIAPLAYPAUSE:Ljava/lang/String; = "toggleAdiMediaPlayPause"


.field public static final BUTTON_ADIMEDIAPREVIOUS:Ljava/lang/String; = "toggleAdiMediaPrevious"



** Cari .method static constructor <clinit>()V
* Tambahkan codding ini:

    .line 75

    sget-object v0, Lcom/lidroid/systemui/quickpanel/PowerButton;->BUTTONS:Ljava/util/HashMap;


    const-string v1, "toggleAdiMediaNext"


    const-class v2, Lcom/lidroid/systemui/quickpanel/MediaNextButton;


    invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;


    .line 75

    sget-object v0, Lcom/lidroid/systemui/quickpanel/PowerButton;->BUTTONS:Ljava/util/HashMap;


    const-string v1, "toggleAdiMediaPlayPause"


    const-class v2, Lcom/lidroid/systemui/quickpanel/MediaPlayPauseButton;


    invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;


    .line 75

    sget-object v0, Lcom/lidroid/systemui/quickpanel/PowerButton;->BUTTONS:Ljava/util/HashMap;


    const-string v1, "toggleAdiMediaPrevious"


    const-class v2, Lcom/lidroid/systemui/quickpanel/MediaPreviousButton;


    invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;



* Diatas codding:

    .line 72

    new-instance v0, Ljava/util/HashMap;


    invoke-direct {v0}, Ljava/util/HashMap;-><init>()V


    sput-object v0, Lcom/lidroid/systemui/quickpanel/PowerButton;->BUTTONS_LOADED:Ljava/util/HashMap;


    .line 81

    sput-object v3, Lcom/lidroid/systemui/quickpanel/PowerButton;->GLOBAL_ON_CLICK_LISTENER:Landroid/view/View$OnClickListener;


    .line 84

    sput-object v3, Lcom/lidroid/systemui/quickpanel/PowerButton;->GLOBAL_ON_LONG_CLICK_LISTENER:Landroid/view/View$OnLongClickListener;


    return-void

.end method


** Buka MediaNextButton.smali

0x7f090104    <public type="string" name="quickpanel_next_text" id="0x7f090xxx" />

0x7f0202f6    <public type="drawable" name="stat_media_next" id="0x7f020xxx" />


** MediaPlayPauseButton.smali

0x7f090103    <public type="string" name="quickpanel_playpause_text" id="0x7f090xxx" />

0x7f0202f7    <public type="drawable" name="stat_media_pause" id="0x7f020xxx" />

0x7f0202f8    <public type="drawable" name="stat_media_play" id="0x7f020xxx" />


** MediaPreviousButton.smali

0x7f090105    <public type="string" name="quickpanel_previous_text" id="0x7f090xxx" />

0x7f0202f9    <public type="drawable" name="stat_media_previous" id="0x7f020xxx" />


** Save lalu recompile & Sign
** Push ke system (SystemUI.apk & lidroid_set.apk)
** Reboot

*** Didalam tutor sudah ane sertakan lidroid_set.apk yg sudah ane edit tambahin music lidroid toggle
*** Apabila lidroid_set.apk yg ane sertakan tidak support atau agan ingin mengedit lidroid_set.apk sendiri, ikuti langkah di bawah ini

=========================================================================

*** EDIT lidroid_set.apk ***

LANGKAH PERTAMA

** Decompile lidroid_set.apk punya agan
** Buka string.xml lalu tambahkan ini di atas: </resources>

    <string name="title_toggle_next">Play Next</string>

    <string name="title_toggle_play_pause">Play/Pause</string>

    <string name="title_toggle_previous">Play Previous</string>


** Save lalu recompile


LANGKAH KEDUA

** Decompile lidroid_set.apk hasil dari langkah pertama
** Buka public.xml dan biarkan terbuka
** Buka StatusBar.smali ada di smali\com\lidroid\settings\statusbar\
** Cari codding:

.field public static final BUTTON_AIRPLANE:Ljava/lang/String; = "toggleAirplane"


** Tambahkan codding berikut ini di atasnya:

.field public static final BUTTON_ADIMEDIANEXT:Ljava/lang/String; = "toggleAdiMediaNext"


.field public static final BUTTON_ADIMEDIAPLAYPAUSE:Ljava/lang/String; = "toggleAdiMediaPlayPause"


.field public static final BUTTON_ADIMEDIAPREVIOUS:Ljava/lang/String; = "toggleAdiMediaPrevious"



** Buka PowerWidgetUtil.smali
** Cari .method public static getButtons(Landroid/content/Context;)Ljava/util/HashMap;
* Ganti

    .line 189

    :cond_14

    sget-object v1, Lcom/lidroid/settings/statusbar/PowerWidgetUtil;->BUTTONS:Ljava/util/HashMap;


    goto/16 :goto_0

.end method


* Jadi seperti ini:

    .line 189

    :cond_14

    const-string v1, "toggleAdiMediaNext"


    invoke-virtual {v0, v1, v7}, Lcom/lidroid/settings/Features;->has(Ljava/lang/String;Z)Z


    move-result v1


    if-eqz v1, :cond_15


    .line 165

    sget-object v1, Lcom/lidroid/settings/statusbar/PowerWidgetUtil;->BUTTONS:Ljava/util/HashMap;


    const-string v2, "toggleAdiMediaNext"


    new-instance v3, Lcom/lidroid/settings/statusbar/PowerWidgetUtil$ButtonInfo;


    const-string v4, "toggleAdiMediaNext"


    const v5, 0x7f09009f


    const-string v6, "lidroid:drawable/stat_media_next"


    invoke-direct {v3, v4, v5, v6}, Lcom/lidroid/settings/statusbar/PowerWidgetUtil$ButtonInfo;-><init>(Ljava/lang/String;ILjava/lang/String;)V


    invoke-virtual {v1, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;


    .line 189

    :cond_15

    const-string v1, "toggleAdiMediaPlayPause"


    invoke-virtual {v0, v1, v7}, Lcom/lidroid/settings/Features;->has(Ljava/lang/String;Z)Z


    move-result v1


    if-eqz v1, :cond_16


    .line 165

    sget-object v1, Lcom/lidroid/settings/statusbar/PowerWidgetUtil;->BUTTONS:Ljava/util/HashMap;


    const-string v2, "toggleAdiMediaPlayPause"


    new-instance v3, Lcom/lidroid/settings/statusbar/PowerWidgetUtil$ButtonInfo;


    const-string v4, "toggleAdiMediaPlayPause"


    const v5, 0x7f0900a0


    const-string v6, "lidroid:drawable/stat_media_play"


    invoke-direct {v3, v4, v5, v6}, Lcom/lidroid/settings/statusbar/PowerWidgetUtil$ButtonInfo;-><init>(Ljava/lang/String;ILjava/lang/String;)V


    invoke-virtual {v1, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;


    .line 189

    :cond_16

    const-string v1, "toggleAdiMediaPrevious"


    invoke-virtual {v0, v1, v7}, Lcom/lidroid/settings/Features;->has(Ljava/lang/String;Z)Z


    move-result v1


    if-eqz v1, :cond_17


    .line 165

    sget-object v1, Lcom/lidroid/settings/statusbar/PowerWidgetUtil;->BUTTONS:Ljava/util/HashMap;


    const-string v2, "toggleAdiMediaPrevious"


    new-instance v3, Lcom/lidroid/settings/statusbar/PowerWidgetUtil$ButtonInfo;


    const-string v4, "toggleAdiMediaPrevious"


    const v5, 0x7f0900a1


    const-string v6, "lidroid:drawable/stat_media_previous"


    invoke-direct {v3, v4, v5, v6}, Lcom/lidroid/settings/statusbar/PowerWidgetUtil$ButtonInfo;-><init>(Ljava/lang/String;ILjava/lang/String;)V


    invoke-virtual {v1, v2, v3}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;


    .line 189

    :cond_17

    sget-object v1, Lcom/lidroid/settings/statusbar/PowerWidgetUtil;->BUTTONS:Ljava/util/HashMap;


    goto/16 :goto_0

.end method



** Ganti public id berikut yg ada di PowerWidgetUtil.smali dengan value/nilai yg ada di public.xml

0x7f09009f    <public type="string" name="title_toggle_next" id="0x7f090xxx" />

0x7f0900a0    <public type="string" name="title_toggle_play_pause" id="0x7f090xxx" />

0x7f0900a1    <public type="string" name="title_toggle_previous" id="0x7f090xxx" />


** Save lalu recompile & Sign
** Push ke system & reboot

Bahan:
Happy modding :)
Tutor by Jun Adilah Suryaman

Thank's to:
Allah swt
My lovely family
Om guru Adi Aisiteru (xda master) yg sudah ane port music lidroid togglenya
xda forum
SFA Big Family
Mastah & Admin Group facebook Android
You



Komentar

Postingan populer dari blog ini

[JB][GUIDE] 5 Tabs SystemUI with Flip Anim (Bagian-3)

[JB][ICS][GB][GUIDE] CHANGE SETTINGS BACKGROUND