Friday, February 7, 2014

[GUIDE][JB 4.1 and 4.2] HOW TO SENSE RECENT APPS (update)

How to sense recent apps, Hallo droiders, gimana kabarnya ?? kali ini ane mau ngeshare sebuah tutorial yang cukup bagus, yaitu HOW TO SENSE RECENT APPS. Kalian udah tau kan feature yang satu ini ?? apalagi pengguna HTC, nah ini caranya buat HP kita yang non HTC bisa ngerasain feature yang udah ada bawaan HTC ini.

Oiya tutor HOW TO SENSE RECENT APPS yang bakal ane share yaitu buat JB 4.1 , kalo ICS bisa, cuman mungkin tidak sama dengan ini. Tested on JB 4.1 A7S, ok langsung aja deh yahh ::

Bahan-bahan ::
  • APK MULTI TOOLSAPK TOOLS atau alat untuk compile/decompile lainnya.
  • framework-res.apk
  • SystemUI.apk
  • Smali untuk SystemUI bisa download disini
  • Niat
Langkah-langkah ::
  • Decompile framework-res
  • Buka values/dimens
  • Lalu ubah 2 ukuran line menjadi seperti ini::
  • <dimen name="thumbnail_height">267.0dip</dimen>
    <dimen name="thumbnail_width">168.0dip</dimen>
  • Recompile
  • Done, editing framework-res finish
 Editing SystemUI
  • Decompile SystemUI
  • Extract file yg tadi di download, lalu letakkan di smali/com/android/systemui/recen/ *disini REPLACE saja dengan file ini.
  • Buka values/bools, lalu edit ini ::
  • <bool name="config_recents_thumbnail_image_fits_to_xy">false</bool>
  • Ubah false menjadi true
  • Buka string, lalu tambahkan ::
  • <string name="recent_apps_title">Recent apps</string>
  • Buka id, lalu tambahkan
  • <item type="id" name="recents_clear">false</item>
  • Buka SystemUI/res/layout/status_bar_no_recent_apps.xml , lalu replace semua kodenya dengan ini ::
  • <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent"
      xmlns:android="http://schemas.android.com/apk/res/android">
        <TextView android:textSize="20.0dip" android:textColor="@*android:color/white" android:gravity="center_horizontal" android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_no_recent_apps" />
    </FrameLayout>
  • Buka SystemUI/res/layout-land/status_bar_recent_item.xml, lalu replace semua kodenya dengan ini ::
  • <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout android:paddingLeft="@dimen/status_bar_recents_item_padding" android:paddingRight="@dimen/status_bar_recents_item_padding" android:layout_width="wrap_content" android:layout_height="fill_parent"
      xmlns:android="http://schemas.android.com/apk/res/android">
        <RelativeLayout android:layout_gravity="center_vertical" android:id="@id/recent_item" android:paddingTop="@*android:dimen/status_bar_height" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true">
            <FrameLayout android:id="@id/app_thumbnail" android:background="#00000000" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" android:layout_marginRight="15.0dip" android:foreground="#00000000" android:layout_centerInParent="true">
                <ImageView android:id="@id/app_thumbnail_image" android:layout_width="137.0dip" android:layout_height="217.0dip" android:layout_marginTop="10.0dip" android:layout_marginBottom="20.0dip" />
            </FrameLayout>
            <ImageView android:gravity="center_horizontal" android:id="@id/app_icon" android:layout_width="50.0dip" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="10.0dip" android:scaleType="centerInside" android:adjustViewBounds="true" android:maxWidth="35.0dip" android:maxHeight="35.0dip" android:layout_below="@id/app_thumbnail" />
            <TextView android:textSize="@dimen/status_bar_recents_app_label_text_size" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:gravity="center" android:id="@id/app_label" android:paddingTop="0.0dip" android:fadingEdge="none" android:fadingEdgeLength="0.0dip" android:layout_width="70.0dip" android:layout_height="fill_parent" android:scrollHorizontally="true" android:singleLine="true" android:layout_toRightOf="@id/app_icon" android:layout_below="@id/app_thumbnail" />
            <TextView android:textSize="@dimen/status_bar_recents_app_description_text_size" android:ellipsize="marquee" android:id="@id/app_description" android:visibility="gone" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_text_fading_edge_length" android:layout_width="@dimen/status_bar_recents_app_label_width" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/status_bar_recents_app_label_left_margin" android:layout_marginTop="40.0dip" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/app_label" android:layout_alignParentBottom="true" />
        </RelativeLayout>
    </FrameLayout>
  • Buka SystemUI/res/layout-land/status_bar_recent_panel.xml, lalu replace semua kodenya dengan ini ::
  • <?xml version="1.0" encoding="utf-8"?>
    <com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:background="@drawable/sense_land" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:recentItemLayout="@layout/status_bar_recent_item"
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
        <View android:id="@id/recents_transition_background" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" />
        <FrameLayout android:id="@id/recents_bg_protect" android:background="#00000000" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentBottom="true">
            <ImageView android:id="@id/recents_transition_placeholder_icon" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" />
            <com.android.systemui.recent.RecentsHorizontalScrollView android:layout_gravity="bottom|right|center" android:orientation="horizontal" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_scroll_fading_edge_length" android:clipChildren="false" android:clipToPadding="false" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="@dimen/status_bar_recents_right_glow_margin" android:stackFromBottom="true" android:divider="@null">
                <LinearLayout android:orientation="horizontal" android:id="@id/recents_linear_layout" android:clipChildren="false" android:clipToPadding="false" android:layout_width="wrap_content" android:layout_height="fill_parent" />
            </com.android.systemui.recent.RecentsHorizontalScrollView>
            <TextView android:textSize="18.0dip" android:textColor="@color/status_bar_recents_app_label_color" android:gravity="center_horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="5.0dip" android:text="@string/recent_apps_title" />
        </FrameLayout>
        <include android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
    </com.android.systemui.recent.RecentsPanelView>
  • Buka SystemUI/res/layout-port/status_bar_recent_item.xml, lalu replace semua kodenya dengan ini ::
  • <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout android:paddingLeft="@dimen/status_bar_recents_item_padding" android:paddingRight="@dimen/status_bar_recents_item_padding" android:layout_width="wrap_content" android:layout_height="fill_parent"
      xmlns:android="http://schemas.android.com/apk/res/android">
        <RelativeLayout android:layout_gravity="center_vertical" android:id="@id/recent_item" android:paddingTop="@*android:dimen/status_bar_height" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true">
            <FrameLayout android:id="@id/app_thumbnail" android:background="#00000000" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15.0dip" android:layout_marginRight="15.0dip" android:foreground="#00000000" android:layout_centerInParent="true">
                <ImageView android:id="@id/app_thumbnail_image" android:layout_width="192.0dip" android:layout_height="305.0dip" android:layout_marginTop="25.0dip" android:layout_marginBottom="15.0dip" />
            </FrameLayout>
            <ImageView android:gravity="center_horizontal" android:id="@id/app_icon" android:layout_width="192.0dip" android:layout_height="wrap_content" android:layout_marginTop="27.0dip" android:scaleType="centerInside" android:adjustViewBounds="true" android:maxWidth="@dimen/status_bar_recents_app_icon_max_width" android:maxHeight="@dimen/status_bar_recents_app_icon_max_height" android:layout_below="@id/app_thumbnail" />
            <TextView android:textSize="@dimen/status_bar_recents_app_label_text_size" android:textColor="@color/status_bar_recents_app_label_color" android:ellipsize="marquee" android:gravity="center_horizontal" android:id="@id/app_label" android:paddingTop="0.0dip" android:fadingEdge="none" android:fadingEdgeLength="0.0dip" android:layout_width="192.0dip" android:layout_height="fill_parent" android:layout_marginTop="7.0dip" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/app_icon" android:layout_alignParentBottom="true" />
            <TextView android:textSize="@dimen/status_bar_recents_app_description_text_size" android:ellipsize="marquee" android:id="@id/app_description" android:fadingEdge="horizontal" android:fadingEdgeLength="@dimen/status_bar_recents_text_fading_edge_length" android:layout_width="@dimen/status_bar_recents_app_label_width" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/status_bar_recents_app_label_left_margin" android:layout_marginTop="30.0dip" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/app_label" android:layout_alignParentBottom="true" />
        </RelativeLayout>
    </FrameLayout>
  • Buka SystemUI/res/layout-port/status_bar_recent_panel.xml, lalu replace semua kodenya dengan ini ::
  • <?xml version="1.0" encoding="utf-8"?>
    <com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" android:background="@drawable/sense_port" android:layout_width="fill_parent" android:layout_height="fill_parent" systemui:recentItemLayout="@layout/status_bar_recent_item"
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
        <View android:id="@id/recents_transition_background" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" />
        <FrameLayout android:id="@id/recents_bg_protect" android:background="#00000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerVertical="true">
            <ImageView android:id="@id/recents_transition_placeholder_icon" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" />
            <com.android.systemui.recent.RecentsHorizontalScrollView android:layout_gravity="bottom|left|center" android:id="@id/recents_container" android:scrollbars="none" android:fadingEdge="none" android:fadingEdgeLength="0.0dip" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="0.0dip" android:stackFromBottom="true" android:divider="@null">
                <LinearLayout android:orientation="horizontal" android:id="@id/recents_linear_layout" android:clipChildren="false" android:clipToPadding="false" android:layout_width="fill_parent" android:layout_height="wrap_content" />
            </com.android.systemui.recent.RecentsHorizontalScrollView>
            <TextView android:textSize="18.0dip" android:textColor="@color/status_bar_recents_app_label_color" android:gravity="center_horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="43.0dip" android:text="@string/recent_apps_title" />
        </FrameLayout>
        <include android:id="@id/recents_no_apps" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_no_recent_apps" />
    </com.android.systemui.recent.RecentsPanelView>
  • Download file ini, ekstrack lalu taroh di drawable-nodpi.
  • Recompile
  • Done.
  • Push ke system 2 file tadi, atau buat flashable.zip.
  • Kalo ada yg FC biasakan pake Catlog biar tau dimana errornya, bisa liat di Cara memakai CatLog 
TAMABAHAN BUAT EDITING SMALI (karna itu basenya JB 4.1.2 A7S)
  • Buka smali/com/android/systemui/recen/RecentsPanelView.smali , ctrl+f kode ini
.method private updateThumbnail(Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;Landroid/graphics/Bitmap;ZZ)V
  • Hapus linenya sampai .end method, dan replace dengan ini
.method private updateThumbnail(Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;Landroid/graphics/Bitmap;ZZ)V
    .locals 30
    .parameter "h"
    .parameter "thumbnail"
    .parameter "show"
    .parameter "anim"

    .prologue
    .line 865
    if-eqz p2, :cond_4

    .line 869
    const/16 v26, 0x4

    invoke-virtual/range {p2 .. p2}, Landroid/graphics/Bitmap;->getWidth()I

    .line 873
    move-result v6

    invoke-virtual/range {p2 .. p2}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v24

    new-instance v8, Landroid/graphics/Matrix;

    invoke-direct {v8}, Landroid/graphics/Matrix;-><init>()V

    const/high16 v3, 0x3f80

    const/high16 v4, -0x4080

    invoke-virtual {v8, v3, v4}, Landroid/graphics/Matrix;->preScale(FF)Z

    const/4 v4, 0x0

    mul-int/lit8 v3, v24, 0x2

    div-int/lit8 v5, v3, 0x3

    div-int/lit8 v7, v24, 0x3

    const/4 v9, 0x0

    move-object/from16 v3, p2

    invoke-static/range {v3 .. v9}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;

    move-result-object v27

    div-int/lit8 v3, v24, 0x3

    add-int v3, v3, v24

    sget-object v4, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;

    invoke-static {v6, v3, v4}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;

    move-result-object v23

    new-instance v9, Landroid/graphics/Canvas;

    move-object/from16 v0, v23

    invoke-direct {v9, v0}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V

    const/4 v3, 0x0

    const/4 v4, 0x0

    const/4 v5, 0x0

    move-object/from16 v0, p2

    invoke-virtual {v9, v0, v3, v4, v5}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V

    new-instance v14, Landroid/graphics/Paint;

    invoke-direct {v14}, Landroid/graphics/Paint;-><init>()V

    const/4 v10, 0x0

    move/from16 v0, v24

    int-to-float v11, v0

    int-to-float v12, v6

    add-int/lit8 v3, v24, 0x4

    int-to-float v13, v3

    invoke-virtual/range {v9 .. v14}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V

    const/4 v3, 0x0

    add-int/lit8 v4, v24, 0x4

    int-to-float v4, v4

    const/4 v5, 0x0

    move-object/from16 v0, v27

    invoke-virtual {v9, v0, v3, v4, v5}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V

    new-instance v25, Landroid/graphics/Paint;

    invoke-direct/range {v25 .. v25}, Landroid/graphics/Paint;-><init>()V

    new-instance v15, Landroid/graphics/LinearGradient;

    const/16 v16, 0x0

    invoke-virtual/range {p2 .. p2}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v3

    int-to-float v0, v3

    move/from16 v17, v0

    const/16 v18, 0x0

    invoke-virtual/range {v23 .. v23}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v3

    add-int/lit8 v3, v3, 0x4

    int-to-float v0, v3

    move/from16 v19, v0

    const v20, 0x70ffffff

    const v21, 0xffffff

    sget-object v22, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;

    invoke-direct/range {v15 .. v22}, Landroid/graphics/LinearGradient;-><init>(FFFFIILandroid/graphics/Shader$TileMode;)V

    move-object/from16 v0, v25

    invoke-virtual {v0, v15}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;

    new-instance v3, Landroid/graphics/PorterDuffXfermode;

    sget-object v4, Landroid/graphics/PorterDuff$Mode;->DST_IN:Landroid/graphics/PorterDuff$Mode;

    invoke-direct {v3, v4}, Landroid/graphics/PorterDuffXfermode;-><init>(Landroid/graphics/PorterDuff$Mode;)V

    move-object/from16 v0, v25

    invoke-virtual {v0, v3}, Landroid/graphics/Paint;->setXfermode(Landroid/graphics/Xfermode;)Landroid/graphics/Xfermode;

    const/16 v17, 0x0

    move/from16 v0, v24

    int-to-float v0, v0

    move/from16 v18, v0

    int-to-float v0, v6

    move/from16 v19, v0

    invoke-virtual/range {v23 .. v23}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v3

    add-int/lit8 v3, v3, 0x4

    int-to-float v0, v3

    move/from16 v20, v0

    move-object/from16 v16, v9

    move-object/from16 v21, v25

    invoke-virtual/range {v16 .. v21}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V

    move-object/from16 v0, p1

    iget-object v3, v0, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->thumbnailViewImage:Landroid/widget/ImageView;

    move-object/from16 v0, v23

    invoke-virtual {v3, v0}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V

    move-object/from16 v0, p1

    iget-object v3, v0, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->thumbnailViewImageBitmap:Landroid/graphics/Bitmap;

    if-eqz v3, :cond_0

    move-object/from16 v0, p1

    iget-object v3, v0, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->thumbnailViewImageBitmap:Landroid/graphics/Bitmap;

    invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I

    move-result v3

    invoke-virtual/range {p2 .. p2}, Landroid/graphics/Bitmap;->getWidth()I

    move-result v4

    if-ne v3, v4, :cond_0

    move-object/from16 v0, p1

    iget-object v3, v0, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->thumbnailViewImageBitmap:Landroid/graphics/Bitmap;

    invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v3

    invoke-virtual/range {p2 .. p2}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v4

    if-eq v3, v4, :cond_1

    .line 876
    :cond_0
    move-object/from16 v0, p0

    iget-boolean v3, v0, Lcom/android/systemui/recent/RecentsPanelView;->mFitThumbnailToXY:Z

    if-eqz v3, :cond_5

    .line 877
    move-object/from16 v0, p1

    iget-object v3, v0, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->thumbnailViewImage:Landroid/widget/ImageView;

    const/high16 v4, 0x41c8

    invoke-virtual {v3, v4}, Landroid/widget/ImageView;->setRotationY(F)V

    .line 886
    :cond_1
    :goto_0
    if-eqz p3, :cond_3

    move-object/from16 v0, p1

    iget-object v3, v0, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->thumbnailView:Landroid/view/View;

    invoke-virtual {v3}, Landroid/view/View;->getVisibility()I

    move-result v3

    if-eqz v3, :cond_3

    .line 887
    if-eqz p4, :cond_2

    .line 888
    move-object/from16 v0, p1

    iget-object v3, v0, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->thumbnailView:Landroid/view/View;

    move-object/from16 v0, p0

    iget-object v4, v0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;

    const v5, 0x7f040011

    invoke-static {v4, v5}, Landroid/view/animation/AnimationUtils;->loadAnimation(Landroid/content/Context;I)Landroid/view/animation/Animation;

    move-result-object v4

    invoke-virtual {v3, v4}, Landroid/view/View;->setAnimation(Landroid/view/animation/Animation;)V

    .line 891
    :cond_2
    move-object/from16 v0, p1

    iget-object v3, v0, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->thumbnailView:Landroid/view/View;

    const/4 v4, 0x0

    invoke-virtual {v3, v4}, Landroid/view/View;->setVisibility(I)V

    .line 893
    :cond_3
    move-object/from16 v0, p2

    move-object/from16 v1, p1

    iput-object v0, v1, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->thumbnailViewImageBitmap:Landroid/graphics/Bitmap;

    .line 895
    :cond_4
    return-void

    .line 879
    :cond_5
    new-instance v29, Landroid/graphics/Matrix;

    invoke-direct/range {v29 .. v29}, Landroid/graphics/Matrix;-><init>()V

    .line 880
    .local v1, scaleMatrix:Landroid/graphics/Matrix;
    move-object/from16 v0, p0

    iget v3, v0, Lcom/android/systemui/recent/RecentsPanelView;->mThumbnailWidth:I

    int-to-float v3, v3

    invoke-virtual/range {p2 .. p2}, Landroid/graphics/Bitmap;->getWidth()I

    move-result v4

    int-to-float v4, v4

    .line 881
    .local v0, scale:F
    div-float v28, v3, v4

    .line 882
    move-object/from16 v0, v29

    move/from16 v1, v28

    move/from16 v2, v28

    .line 883
    invoke-virtual {v0, v1, v2}, Landroid/graphics/Matrix;->setScale(FF)V

    move-object/from16 v0, p1

    iget-object v3, v0, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->thumbnailViewImage:Landroid/widget/ImageView;

    sget-object v4, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType;

    invoke-virtual {v3, v4}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V

    move-object/from16 v0, p1

    iget-object v3, v0, Lcom/android/systemui/recent/RecentsPanelView$ViewHolder;->thumbnailViewImage:Landroid/widget/ImageView;

    move-object/from16 v0, v29

    invoke-virtual {v3, v0}, Landroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V

    goto :goto_0
.end method
SS ::
lihat sendiri aja haha, feature ini uda include di StockJBMod Update 1 kok, jadi jangan takut gagal :-) :-D
Pembaca yang baik tidak lupa untuk berkomentar :-)

35 komentar

gan, systemUi di hh ane gkda status_bar_recent_item.xml & status_bar_recent_panel.xml di layout-port. jd brut deh

aapt: warning: string 'data_connection_datach_timeout_error_msg' has no default
translation in D:\Bobby's\APK-Multi-Tool\other\..\projects\SystemUI.apk\res; fou
nd: de es fr in it ms pt ru th tr vi zh_TW
aapt: warning: string 'dreams_dock_launcher' has no default translation in D:\Bo
bby's\APK-Multi-Tool\other\..\projects\SystemUI.apk\res; found: km_KH my_MM
D:\Bobby's\APK-Multi-Tool\other\..\projects\SystemUI.apk\res\layout-land\status_
bar_recent_panel.xml:5: error: Error: No resource found that matches the given n
ame (at 'id' with value '@id/recents_transition_background').
D:\Bobby's\APK-Multi-Tool\other\..\projects\SystemUI.apk\res\layout-land\status_
bar_recent_panel.xml:7: error: Error: No resource found that matches the given n
ame (at 'id' with value '@id/recents_transition_placeholder_icon').
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.Androl
ibException: brut.common.BrutException: could not exec command: [aapt, p, --min-
sdk-version, 17, --target-sdk-version, 17, -F, C:\Users\GAMERS\AppData\Local\Tem
p\APKTOOL4757053689946812490.tmp, -I, C:\Users\GAMERS\apktool\framework\1.apk, -
S, D:\Bobby's\APK-Multi-Tool\other\..\projects\SystemUI.apk\res, -M, D:\Bobby's\
APK-Multi-Tool\other\..\projects\SystemUI.apk\AndroidManifest.xml]
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:358)
at brut.androlib.Androlib.buildResources(Androlib.java:283)
at brut.androlib.Androlib.build(Androlib.java:206)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not
exec command: [aapt, p, --min-sdk-version, 17, --target-sdk-version, 17, -F, C:
\Users\GAMERS\AppData\Local\Temp\APKTOOL4757053689946812490.tmp, -I, C:\Users\GA
MERS\apktool\framework\1.apk, -S, D:\Bobby's\APK-Multi-Tool\other\..\projects\Sy
stemUI.apk\res, -M, D:\Bobby's\APK-Multi-Tool\other\..\projects\SystemUI.apk\And
roidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:357)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:336)
... 5 more
Caused by: brut.common.BrutException: could not exec command: [aapt, p, --min-sd
k-version, 17, --target-sdk-version, 17, -F, C:\Users\GAMERS\AppData\Local\Temp\
APKTOOL4757053689946812490.tmp, -I, C:\Users\GAMERS\apktool\framework\1.apk, -S,
D:\Bobby's\APK-Multi-Tool\other\..\projects\SystemUI.apk\res, -M, D:\Bobby's\AP
K-Multi-Tool\other\..\projects\SystemUI.apk\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:89)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:355)

hhnya apa ?? errornya tuhh..

nih tambahkan di ids recents_transition_background sama recents_transition_placeholder_icon
itu sih yg ane baca dari log ente

Gan di ics bruut,bisa di bantu apa yg harus di tambahinny....


I: Smaling...
I: Building resources...
aapt: warning: string 'data_connection_datach_timeout_error_msg' has no default translation in /sdcard/a sgs/SystemUI_src/res; found: de es fr in it ms pt ru th tr vi zh_TW
/sdcard/a sgs/SystemUI_src/res/layout-land/status_bar_recent_item.xml:8: error: Error parsing XML: not well-formed (invalid token)
/sdcard/a sgs/SystemUI_src/res/layout-port/status_bar_recent_item.xml:9: error: Error parsing XML: not well-formed (invalid token)
/sdcard/a sgs/SystemUI_src/res/layout-land/status_bar_recent_panel.xml:2: error: No resource identifier found for attribute 'recentItemLayout' in package 'com.android.systemui'
/sdcard/a sgs/SystemUI_src/res/layout-land/status_bar_recent_panel.xml:5: error: Error: No resource found that matches the given name (at 'id' with value '@id/recents_transition_background').
/sdcard/a sgs/SystemUI_src/res/layout-land/status_bar_recent_panel.xml:7: error: Error: No resource found that matches the given name (at 'id' with value '@id/recents_transition_placeholder_icon').
/sdcard/a sgs/SystemUI_src/res/layout-land/status_bar_recent_panel.xml:8: error: Error: No resource found that matches the given name (at 'fadingEdgeLength' with value '@dimen/status_bar_recents_scroll_fading_edge_length').
/sdcard/a sgs/SystemUI_src/res/layout-port/status_bar_recent_panel.xml:2: error: No resource identifier found for attribute 'recentItemLayout' in package 'com.android.systemui'
/sdcard/a sgs/SystemUI_src/res/layout-port/status_bar_recent_panel.xml:5: error: Error: No resource found that matches the given name (at 'id' with value '@id/recents_transition_background').
/sdcard/a sgs/SystemUI_src/res/layout-port/status_bar_recent_panel.xml:7: error: Error: No resource found that matches the given name (at 'id' with value '@id/recents_transition_placeholder_icon').
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [/data/data/per.pqy.apktool/lix/aapt, p, --min-sdk-version, 15, --target-sdk-version, 15, -F, /data/data/per.pqy.apktool/APKTOOL6465958370750322389.tmp, -0, arsc, -I, ?/apktool/framework/1.apk, -S, /sdcard/a sgs/SystemUI_src/res, -M, /sdcard/a sgs/SystemUI_src/AndroidManifest.xml]

itu id banyak yang harus di tambahkan, layoutnya banyak yang parsing, soalnya ane buat tutor ini kan basenya jb bro :-)

Klo boleh Manta tlong di buatin yg ics donk mastah....
Hehehe
Msh nubie...

ok bro, nanti kalo ane downgrade yah hehe, ane masih di jb haha

Link smalinya tewas gan :) ReUpload dong gan.. :D

bisa kok gan, ane udh cek barusan :-)

Iya udah bisa di download gan, di layout-port gak ada status_bar_recent_item.xml & status_bar_recent_panel.xml gmn nih gan?

punya gw SystemUI nya ilang yo -__-
yg salah dimana ya ?

A7S gan, posisi rom IMO S89 :)

waahh sama tapi ane belum cek hehe, ga pake rom imo soalnya

coba lanjutin tanpa yg di layout port deh hehe

Udah ane coba gan, tapi malah error :D

wahh nanti ane nyoba deh, oiya mungkin kenanya ke smali, coba liat postnya, uda ane update :-)

Makasih gan, tetap error hasilnya gan, mungkin memang beda basenya. :D

coba kirim log nya gan ?? barangkali ane bisa bantu :-)

Ini gan, maaf ane upload ke mediafire soalnya komen disini kepanjangan gan. :D

https://www.mediafire.com/?xl06k3nxg8qxu78

niihhh ente kurangnya, tambahkan ini di values/ids

@id/recents_transition_background
@id/recents_transition_placeholder_icon

coba deh, kalo masi error kabarin ane

di compilenya berhasil gan, tapi pas di cobain "Sayangnya, SistemUI telah berhenti".
Gpp deh gan, ane jadi ngerepotin agan terus nih. Makasih buat ilmunya gan. :)

wahhh padahal ane basenya JB 4.2 loh gan, ane main nekat aja ke JB 4.1 eh taunya bisa :-)

lahh ane buat tutor kan biar di repotin hehe

hehe.. Kalau agan bersedia tolong dong gan editin. :D

kemaren aq nyoba k rom base stock sukses... skrg nyoba lg k rom lain..permasalahanx sama,,g da status_bar_recent_panel ma item d layout-port... ane lewatin lgkg tu mlh brut... trus q cb tmbhin sndri 2 xml tud layout-port sama nmbhin recent_transition_background n recent_transition_placeholder_icon d ids.xml bsa g brut sygx pas diaplikasikan nahan tombol home lama systemui lgsg fc... kira2 gmn bnerinx??

om ane kan udah sukses tuh ya nurutin step2'y,,tapi kenapa pas udh ane pasang trus ane teken tuh tombol home,sysui'y jd fc..
kira2 salah'y di mana yah? :(

waahhh ane blm tau itu, soalnya ane blm nemu problem gitu hehe

oiya maaf banget ane lagi sibuk banget belakangan ini, jadi balesnya lama hehe

mungkin dimensinya bro, HH ente apa ??

mantep dah gan ....ane berhasil di max c , makasih atas ilmunya gan,
sukses sllu buat blognya ...

ssippp dehh, kmrn udah di test juga sama galang, dia udh ngeshare ke group max c juga kalo ga salah hehe

ane base room 4.2.2 error di smali error parameter 'h' sampe parameter 'show' di cocokin malah error dari line 9oo sampe bawah.. guid gan yg 4.2.2

Bro pnyaku gk da layout-port nya.. :'(
Xperia e1 stok 442

di maad ada fixnya um, entuk itu :-)

Sukses dcrc tp pas pncet recent app nya fc ane port ke stok 442...logcat nya gni gan


12-10 11:39:21.878 E/AndroidRuntime(2218): java.lang.NoSuchMethodError: com.android.systemui.recent.RecentsPanelView.updateThumbnail
12-10 11:39:21.878 E/AndroidRuntime(2218): at com.android.systemui.recent.RecentsPanelView.access$300(RecentsPanelView.java:80)
12-10 11:39:21.878 E/AndroidRuntime(2218): at com.android.systemui.recent.RecentsPanelView$TaskDescriptionAdapter.createView(RecentsPanelView.java:165)
12-10 11:39:21.878 E/AndroidRuntime(2218): at com.android.systemui.recent.RecentsHorizontalScrollView.setAdapter(RecentsHorizontalScrollView.java:581)
12-10 11:39:21.878 E/AndroidRuntime(2218): at com.android.systemui.recent.RecentsPanelView.onFinishInflate(RecentsPanelView.java:491)
12-10 11:39:21.878 E/AndroidRuntime(2218): at com.android.systemui.recent.RecentsActivity.onCreate(RecentsActivity.java:321)

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