Laman

Rabu, 27 November 2013

[TUTORIAL][MODING][SYSTEMUI] NAVBAR TRANSPARAN ICS/JB ALL ROM & TAMBAH CARRIER NAME DI STATUSBAR KIRI/TENGAH/KANAN]]

Kali ini saya akan berbagi ilmu edit systemUI yang saya pelajari dari forum xda.. dan saya terapkan di max c saya

[CARA MEMBUAT TRANSPARAN NAVBAR]

Syarat:
-Punya pc/laptop
-Harus tau compile/decompile kalo belum cari tau di google.com
-Apktool
-Notepad++
-Pintar, Sabar & Teliti

1. DECOMPILE android.policy.jar
    \com\android\internal\policy\impl\ PhoneWindowManager.smali


Cari kode ini dan hapus line tebal miring:


.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/police/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


Tiban sama code ini :
const/4 v0, 0x0
     return v0
.end method


SELESAI & COMPILE

2. DECOMPILE SystemUI.apk   
    com/android/systemui/statusbar/phone/PhoneStatusBar.smali

- Cari line ini :

Hapus line Miring Dan tambahkan line Tebal



.method private getNavigationBarLayoutParams()Landroid/view/WindowManager$LayoutParams;
    .locals 6

    .prologue
     const/4 v1, -0x1

    .line 943
    new-instance v0, Landroid/view/WindowManager$LayoutParams;

    const/16 v3, 0x7e3

    const v4, 0x840068

    const/4 v5, -0x3

    move v2, v1

    move v5, v1

    invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;-><init>(IIIII)V

    .line 954
    invoke-static {}, Landroid/app/ActivityManager;->isHighEndGfx()Z

    move-result v1

    if-eqz v1, :cond_0

    .line 955
    iget v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I

    const/high16 v2, 0x100

    or-int/2addr v1, v2

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I

    .line 958
    :cond_0
    const-string v1, "NavigationBar"

    invoke-virtual {v0, v1}, Landroid/view/WindowManager$LayoutParams;->setTitle(Ljava/lang/CharSequence;)V

    .line 959
    const/4 v1, 0x0

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I

    .line 960
    return-object v0
.end method


- NEXT :
Pergi ke : SystemUI.apk\res\layout\navigation_bar.xml

Edit Line TEBAL seperti ini:
CONTOH:

code:

<com.android.systemui.statusbar.phone.navigationbarview android:background="&lt;strong">"#88000000" android:layout_width="fill_parent" android:layout_height="fill_parent"</com.android.systemui.statusbar.phone.navigationbarview>

Dan edit line tebal sepeti ini:

SystemUI.apk\res\layout-sw600dp\navigation_bar.xml

Code:

<com.android.systemui.statusbar.phone.navigationbarview>android:background="#88000000" android:layout_width="fill_parent" android:layout_height="fill_parent"

SystemUI.apk\res\values\drawables.xml
Code:

<item type="drawable" name="system_bar_background">#88000000</item> <item type="drawable" name="notification_icon_area_smoke">#88000000</item>

PENTING!!
-Kalo Line Ke2 & Ke3 diatas ga ada lewatin aja.
-Untuk yang ics ga usah edit android.police.jar


DONE AND COMPILE


[Cara Nambahin Carrier Name di Statusbar]


1. Decompile SystemUI.apk
2. Pergi ke res/layout/msim_status_bar.xml
3. Buka msim_status_bar.xml pake notepad++
4. Copy line ini ikutin contoh!


Code:

<textview android:textappearance="@style/TextAppearance.StatusBar.Clock">android:gravity="left|center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="@string/hello" android:singleLine="true" />


Kalo mau ubah posisi nya tinggal edit android gravity

contoh :
Kiri
android:gravity="left|center"
Kanan
android:gravity="right|center"
Tengah
android:gravity="center"

Ni Penampakan Punya ane sendiri:
SS https://www.facebook.com/photo.php?fbid=261018577381267&set=gm.334172286725823&type=1&theater

Code:

    <?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.phonestatusbarview android:orientation=vertical>
android:background="@drawable/status_bar_background" android:focusable="true" android:descendantFocusability="afterDescendants"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
    <LinearLayout android:orientation="horizontal" android:id="@id/icons" android:paddingLeft="1.0dip" android:paddingRight="1.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <LinearLayout android:orientation="horizontal" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
            <include android:id="@id/msim_signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" layout="@layout/msim_signal_cluster_view" />
            <com.android.systemui.statusbar.policy.Traffic android:textAppearance="@style/TextAppearance.StatusBar.Traffic" android:gravity="left|center" android:id="@id/traffic" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
            <com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:paddingLeft="3.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentLeft="true" />
        </LinearLayout>
            <TextView android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:text="@string/hello" android:singleLine="true" />
        <LinearLayout android:gravity="right|center" android:orientation="horizontal" android:id="@id/statusIcons" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">
           <LinearLayout android:gravity="right|center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="3.0dip">
               <ImageView android:id="@id/battery" android:paddingLeft="3.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>         
<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="right|center" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
        </LinearLayout> 
</LinearLayout> 
<LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:paddingLeft="6.0dip" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent">
       <ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginRight="4.0dip">
           <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />
            <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />
        </ImageSwitcher>        <com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:paddingRight="10.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
            <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
            <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />        </com.android.systemui.statusbar.phone.TickerView>
    </LinearLayout>
</com.android.systemui.statusbar.phone.PhoneStatusBarView>


5) Step Terakhir:
Pergi ke res/values/string
Pastekan kode ini dan yang garis miring edit nama agan/sesuka agan

Code:

<string name="hello">Your text here</string>

Contoh punya ane:

Code:

<string name="hotspot_select_action">HotSpot</string>
<string name="profile_action">Profile</string>   
<string name="sync_action">Sync</string>   
<string name="rotate_select_action">Rotate</string>   
<string name="slient_select_action">Ringer mode</string>   
<string name="brightness_select_action">Brightness</string>   
<string name="automatic_brightness">Auto Brightness</string>   
<string name="airplanemode_action">Airplane mode</string>   
<string name="available_when_foreign_roaming_tip">GSM data connection Available only for foreign roaming,please use CDMA first</string>   
<item type="string" name="APKTOOL_DUMMY_0096">false</item>   
<string name="brightness_settings_automatic">AUTO</string>   
<string name="brightness_settings_title" />   
<string name="hello">abie</string></resources>

6. Recompile enjoy!!

Thanks to all member grub Andromax C Community dan Forum xda

SUMBER : http://forum.xda-developers.com