Showing posts with label android mod. Show all posts
Showing posts with label android mod. Show all posts

Saturday, February 15, 2014

SystemUI With Sense Recent App







ane yakin beda device beda scriptnya so bandingkan/compare dengan punya anda + feel :p
ty to  maanz "L" xda developer

1. Apktool
2. bisa decompile dan compile
3. 7zip
4. notepad++
5. backsmali


bismillahirrahmanirrahim...

1. Decompile framework-res.apk,
- /res/values/dimens.xml : rubah thumbnailnya:



Quote:
<dimen name="thumbnail_height">267.0dip</dimen>
<dimen name="thumbnail_width">168.0dip</dimen>
ente dapat menggantinya sesuai dg hh ente
compile framework-res.apk


2. Decompile SystemUI.apk,
- /res/values/bools.xml ganti:


Quote:
<bool name="config_recents_thumbnail_image_fits_to_xy">true</bool>

- /res/values/strings.xml:
tambahkan script di bawah

Quote:
<string name="recent_apps_title">Recent apps</string>

--/res/values/ids.xml:
tambahkan script di bawah ini gan

Quote:
<item type="id" name="recents_transition_background" />
<item type="id" name="recents_transition_placeholder_icon" />
<item type="id" name="recents_clear" />

- /res/layout/status_bar_no_recent_apps.xml:

Code:
<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" />

- /res/layout/status_bar_expanded_header.xml:

Code:
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false"

- /res/layout/status_bar_recent_item.xml               tambahkan kode warna merah :

Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:paddingTop="@dimen/status_bar_recents_item_padding" android:paddingBottom="@dimen/status_bar_recents_item_padding" android:layout_width="fill_parent" android:layout_height="wrap_content"
  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="15.0dip" android:layout_marginBottom="15.0dip" />
        </FrameLayout>
        <ImageView android:gravity="center_horizontal" android:id="@id/app_icon" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="405.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" />
        <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="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="3.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="40.0dip" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/app_label" android:layout_alignParentBottom="true" />
    </RelativeLayout>
</FrameLayout>

- /res/layout/tw_status_bar_recent_panel.xml            tambahkan kode warna merah:  

Code:
xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
    <FrameLayout android:id="@id/recents_bg_protect" android:background="@drawable/status_bar_recents_background" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_centerVertical="true">
        <ImageView android:gravity="center" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="0.0dip" android:src="@drawable/status_bar_recents_background" />
        <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="20.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" />
        <ImageView android:layout_gravity="top|right|center" android:id="@id/recents_clear" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_notify_clear" />
        <LinearLayout android:layout_gravity.......................

- /res/layout-land/status_bar_recent_item.xml:

Code:
<?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:paddingTop="40.0dip" android:layout_width="192.0dip" android:layout_height="305.0dip" android:scaleType="centerInside" />
        </FrameLayout>
        <ImageView android:gravity="center_horizontal" android:id="@id/app_icon" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="225.0dip" android:scaleType="centerInside" android:adjustViewBounds="true" android:maxWidth="20.0dip" android:maxHeight="20.0dip" />
        <TextView android:textSize="12.0dip" 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="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="0.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="none" android:fadingEdgeLength="0.0dip" 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="3.0dip" android:scrollHorizontally="true" android:singleLine="true" android:layout_below="@id/app_label" android:layout_alignParentBottom="true" />
    </RelativeLayout>
</FrameLayout>

- /res/layout-land/tw_status_bar_recent_panel.xml:

Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.recent.RecentsPanelView android:id="@id/recents_root" 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">
    <FrameLayout android:id="@id/recents_bg_protect" android:background="@drawable/status_bar_recents_background" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_centerVertical="true">
        <ImageView android:gravity="center" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="0.0dip" android:src="@drawable/status_bar_recents_background" />
        <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="20.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" />
        <ImageView android:layout_gravity="top|right|center" android:id="@id/recents_clear" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_notify_clear" />
        <LinearLayout android:layout_gravity..........................

download background untuk recent app nya di sini.
extract gambarnya ke       /res/drawable-nodpi/.

3. - smali/com/android/systemui/recent/RecentsPanelView.smali:
  bandingkan kode di bawah ini, dengan smali di systemui ente-

Code:
.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 783
    if-eqz p2, :cond_4

    .line 787
    const/16 v26, 0x4

    .line 789
    .local v26, reflectionGap:I
    invoke-virtual/range {p2 .. p2}, Landroid/graphics/Bitmap;->getWidth()I

    move-result v6

    .line 780
    .local v6, width:I
    invoke-virtual/range {p2 .. p2}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v24

    .line 782
    .local v24, height:I
    new-instance v8, Landroid/graphics/Matrix;

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

    .line 783
    .local v8, matrix:Landroid/graphics/Matrix;
    const/high16 v3, 0x3f80

    const/high16 v4, -0x4080

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

    .line 785
    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

    .line 786
    .local v27, reflectionImage:Landroid/graphics/Bitmap;
    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

    .line 788
    .local v23, bitmapWithReflection:Landroid/graphics/Bitmap;
    new-instance v9, Landroid/graphics/Canvas;

    move-object/from16 v0, v23

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

    .line 789
    .local v9, canvas:Landroid/graphics/Canvas;
    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

    .line 800
    new-instance v14, Landroid/graphics/Paint;

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

    .line 801
    .local v14, defaultPaint:Landroid/graphics/Paint;
    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

    .line 802
    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

    .line 804
    new-instance v25, Landroid/graphics/Paint;

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

    .line 805
    .local v25, paint:Landroid/graphics/Paint;
    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

    .line 808
    .local v15, shader:Landroid/graphics/LinearGradient;
    move-object/from16 v0, v25

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

    .line 809
    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;

    .line 810
    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

    .line 813
    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

    .line 817
    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 820
    :cond_0
    move-object/from16 v0, p0

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

    if-eqz v3, :cond_5

    .line 821
    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 830
    :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 831
    if-eqz p4, :cond_2

    .line 833
    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, 0x7f05000c

    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 837
    :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 839
    :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 841
    .end local v6           #width:I
    .end local v8           #matrix:Landroid/graphics/Matrix;
    .end local v9           #canvas:Landroid/graphics/Canvas;
    .end local v14           #defaultPaint:Landroid/graphics/Paint;
    .end local v15           #shader:Landroid/graphics/LinearGradient;
    .end local v23           #bitmapWithReflection:Landroid/graphics/Bitmap;
    .end local v24           #height:I
    .end local v25           #paint:Landroid/graphics/Paint;
    .end local v26           #reflectionGap:I
    .end local v27           #reflectionImage:Landroid/graphics/Bitmap;
    :cond_4
    return-void

    .line 823
    .restart local v6       #width:I
    .restart local v8       #matrix:Landroid/graphics/Matrix;
    .restart local v9       #canvas:Landroid/graphics/Canvas;
    .restart local v14       #defaultPaint:Landroid/graphics/Paint;
    .restart local v15       #shader:Landroid/graphics/LinearGradient;
    .restart local v23       #bitmapWithReflection:Landroid/graphics/Bitmap;
    .restart local v24       #height:I
    .restart local v25       #paint:Landroid/graphics/Paint;
    .restart local v26       #reflectionGap:I
    .restart local v27       #reflectionImage:Landroid/graphics/Bitmap;
    :cond_5
    new-instance v29, Landroid/graphics/Matrix;

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

    .line 824
    .local v29, 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

    div-float v28, v3, v4

    .line 825
    .local v28, scale:F
    move-object/from16 v0, v29

    move/from16 v1, v28

    move/from16 v2, v28

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

    .line 826
    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

    .line 827
    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

Sunday, February 9, 2014

Menambah Detik Jam Analog


SILAHKAN DISEBAR LUASKAN ASAL MENCANTUMKAN SUMBER :)

thx to Om Febiantoro Pebot dari Grup Smartfren Andro (SFA)
sebelumnya baca dulu cara compile decompile file.jar dan file.apk

1. download file ini
2. decompile framework.jar
3. decompile framework-res.apk

4. paste file fwres ke dalam folder framework-res.apk punya anda
dan compare/bandingkan fwjar ke dalam folder framework.jar punya anda, jika banyak yang cocok copy paste saja 3 file smali tsb

5. compile  framework-res.apk lagi untuk mendapatkan public id dari clock_hand_second

6. buka file framework-res\res\values\public.xml
7. buka file framework\android\widget\AnalogClock.smali

cari di AnalogClock.smali pakai value kiri,

lalu cari di public.xml pakai value kanan,

ambil id nya, pastekan di AnalogClock.smali dengan format 0x01080xxx --> ditulis 0x1080xxx

value kiri <==> value kanan

0x1080215  <==> public type="drawable" name="clock_dial"

0x1080216  <==> public type="drawable" name="clock_hand_hour"


0x1080217  <==> public type="drawable" name="clock_hand_minute"

0x1080615  <==> public type="drawable" name="clock_hand_second"

8. compile framework.jar
9. compile framework-res.apk
10. push


DWYOR

Mengganti Gambar Jam Analog



cari dulu gambar jam analog di gugel banyak :p
  • ambil framework-res.apk
  • masuk ke res/draweble-hdpi
ganti
clock_dial
clock_hand_hour
clock_hand_minute


done :D

Menambah Jam Analog Di Statusbar Expanded



> Decompile SystemUI.apk
> masuk ke /res/layout/
> Open status_bar_expanded.xml (for JB devices)
> cari kode
Code:
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
> dibawah kode tadi tambahkan kode dibawah ini
Code:
<AnalogClock android:layout_gravity="bottom" android:id="@id/analogClock1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="100.0dip" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" />

compare/bandingkan kode warna merah dengan punya anda

>done and compile

thx to
xda

mengganti jam digital menjadi analog


1. Masuk folder hasil decompile /res/layout/ cari file msim_status_bar.xml atau statusbar.xml

2. Cari kode 

<com.android.systemui.statusbar.policy.clock . . . . .

  ganti dengan

<analogclock . . . . . .

3. done

membuat background systemui transparan

background statusbar expanded menjadi transparan


1. Ekstrak SystemUI menggunakan Winrar/app sejenisnya 
2. Masuk /res/drawable-hdpi dan cari icon bernama notification_panel_bg.png
3. Edit icon tersebut dengan Photoshop/sejenisnya agar menjadi transparent
4. Drag icon yang telah anda edit ke SystemUI yg anda buka dengan Winrar
5. Done


==Note:: Semua Icon yang ada di folder /res/drawable-hdpi dapat anda ubah sesuai selera. misalnya signal, battery,dll.==


Thx to :                                                                                                            
1. Allah SWT                                                                 
2. XDA
3. Antasena                                                                                                  

BATTERY 1% – 100%

1.            Masuk /res/drawable/ edit file stat_sys_battery.xml dengan notepad++

2.            Buatlah kode

<?xml version="1.0" encoding="utf-8"?>
<level-list
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/stat_sys_battery_0" android:maxLevel="0" />
    <item android:drawable="@drawable/stat_sys_battery_1" android:maxLevel="1" />
    <item android:drawable="@drawable/stat_sys_battery_2" android:maxLevel="2" />
    <item android:drawable="@drawable/stat_sys_battery_3" android:maxLevel="3" />
    <item android:drawable="@drawable/stat_sys_battery_4" android:maxLevel="4" />

Sampai dengan……..

    <item android:drawable="@drawable/stat_sys_battery_96" android:maxLevel="96" />
    <item android:drawable="@drawable/stat_sys_battery_97" android:maxLevel="97" />
    <item android:drawable="@drawable/stat_sys_battery_98" android:maxLevel="98" />
    <item android:drawable="@drawable/stat_sys_battery_99" android:maxLevel="99" />
    <item android:drawable="@drawable/stat_sys_battery_100" android:maxLevel="100" />
</level-list>

3.            Masukan icon battery anda 1 – 100 .png ke /res/drawable-hdpi
4.            Save, recompile and Done



Thx to :                                                                                                           
1. Allah SWT                                                                 
2. XDA                                                                                                  
3. antasena

jam digital dengan detik

1. Masuk folder hasil decompile /res/layout/ cari file msim_status_bar.xml atau statusbar.xml

2. Cari kode 

<com.android.systemui.statusbar.policy.clock . . . . .

  ganti dengan

<digitalclock . . . . . .


3. Done :)



Thx to :                                                                                                          
1. Allah SWT                                                               
2. XDA
3. antasena                                                                                                           

menambah traffic data di statusbar



download file ini trafficdata

1.Masuk ke /smali/com/android/systemui/statusbar/policy/"ekstrak hasil download disini"
2.Masuk /res/layout/ buka msim_status_bar.xml atau statusbar.xml dengan notepad++

Tambahkan kode 

<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" />

di atas kode 

<ImageView android:id="@id/battery" android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />

3. Masuk /res/value/ cari file ids.xml. Open using notepad++

 Tambahkan kode

<item type="id" name="traffic">false</item>

 dipaling bawah sebelum kode 

</resources>


4. Masuk /res/value/ buka dengan notepad++ Styles.xml 

 Paste kode berikut sebelum kode </resources>.
 Sehingga pada line paling bawah akan kita dapatkan kode seperti ini

<style name="TextAppearance.StatusBar.Traffic" parent="@style/TextAppearance.StatusBar.Clock">
<item name="android:textSize">14.0dip</item>  
<item name="android:textStyle">normal</item>   
<item name="android:textColor">#ffffffff</item>    
<item name="android:textAllCaps">false</item>
</style>
</resources>


5. recompile

Mengganti warna dan ukuran font jam

1. Masuk folder /res/value/ cari file bernama styles.xml ,buka dengan notepad++
2. Cari kode 

<style name="TextAppearance.StatusBar.Clock" parent="@*android:style/TextAppearance.StatusBar.Icon">
<item name="android:textSize">16.0dip</item>   
<item name="android:textStyle">normal</item>      
<item name="android:textColor">#ffffffff</item>

3. Rubah #ffffffff dengan kode color sesuai keinginan anda untuk warna nya.

    Untuk size font silahkan ubah angka 16.0dip 


thx to

  • allah swt
  • xda
  • antasena

membuat jam statusbar di tengah


step by step

1. Decompile SystemUI.apk
2. Masuk folder hasil decompile /res/layout/ cari file msim_status_bar.xml atau statusbar.xml

cari kode berikut


ganti dg kode



paste kode tsb dibawah kode xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">


Agar nantinya tidak overlaping waktu ada notif masuk maka cari line dengan kode 

 <linearlayout android:orientation=horizontal android:id="@id/ticker">bla bla bla

 Tambahkan kode

android:background="@drawable/status_bar_bg_tile

 setelah kode 

"@id/ticker"




Done

thx to
  • allah swt
  • xda
  • antasena

Saturday, February 1, 2014

Xperia Walkman Music Untuk Semua Android Phone (JB/ICS)


maaf kemarin saya pindah semua postingan dari blog lama ke blog yang baru ini biar rapi gan :D
sebelumnya terimakasih untuk Rizal Lovin - xda atas portingan Walkman Music For ALL

Feature:
  1. Walkman Music
  2. Music Widget
  3. Xperia Walkman Taste
  4. Sound Equalizer + Enhancement
  5. Clear Audio +
  6. Edit Music Info
  7. Sense Me
  8. and many more :D
syaratnya:
  1. hh telah di root
  2. terinstall cwm/twrp
  3. backup rom dulu, ntar kalo gak suka tinggal restore saja :)
  4. flash lewat cwm/twrp
  5. free space di system minimal 30 mb
  6. SEBELUM MELAKUKAN FLASHING BACA F.A.Q dulu biar lancar nantinya gan :)
F.A.Q:

* download music info ForceClose terus gan? gimana fixnya?
= hapus SemcMetaDataCleanup.apk in system>app terus reboot  tapi ntar ente gak bisa Edit Music Info & Sense Me

* Sound Equalizer + Enhancement ForceClose?
= hapus SoundEnhancement.apk in system>app & reboot  dan gunakan equalizer yang lain

* DSP Manager & Music FX Force Close on CM9/CM10 bagaimana fixnya gan?
= walkman ini tidak compatible denga DSP manager & Music FX solusinya Remove DSP Manager & Music FX di system>app & Reboot … ente dapat menggunakan Clear Audio+ Equalizer  tapi di andromax u saya bisa compatible gan :)

* tidak ada suaranya gan/mute/gak bisa di play, bagaimana gan?
= ganti audio_effect.conf in system>etc  dengan bawaan ROM asli ente

* Download Music Info gak work gan?
= penyebabnya karena terkait dengan sony drm gan, tapi saan mengedit MUSIC INFO & SENSE ME berjalan dg baik

* KOK music widgetnya gak work gan?
= solusinya ganti launcher, atau baca ini gan ==> Solusi Jika Walkman Music Widget Tidak muncul Setelah Flashing <==

DOWNLOAD

Walkman Altis With MiniLyrics


sebelumnya maaf buat semua reader setia :)
saya pindah semua postingan blog tentang android dari masyroful.blogspot.com ke blog yang baru ini untuk merapikan postingan saja gan :)

nyari Walkman yang mudah di install?
Walkman Altis With MiniLyrics adalah solusinya, cara instalnya kita gak perlu repot repot push ke system gan :P cukup Install biasa

feature Walkman Altis With MiniLyrics:
  • yang pastinya walkman nya :p
  • mini lyric
  • music widget

Solusi Jika Walkman Music Widget Tidak muncul Setelah Flashing


Walkman Music Widget.apk adalah solusi jika kita telah melakukan flashing walkman music, tapi kok widgetnya tidak muncul?
Walkman Music Widget sudah di desain untuk walkman, kita bisa mengcustom background widgetnya dengan mudah gan :)


(MOD,GUIDE) Tutorial Cara Mengganti Plat Logo Android DI Settings Beserta Text nya


Berikut akan saya jelaskan mengenai Cara Mengganti Plat Logo Android Dan Textnya Di Settings > Device Information > Android Version
sebaiknya backup dulu sebelum menjalankan ini ya :D monggo di sebar luaskan asal mencantumkan sumbernya ya

file yang di butuhkan:
  • apktool
  • smali baksmali jar file download disini (di dalamnya ada tutornya juga) thx to mbak nur sovianaa dan mas aam a.k.a kampret dari group max i :D
  • system/framework/framework-res.apk
  • system/framework/framework.jar
framework-res.apk  :
  1. decompile framework-res.apk 
  2. masuk ke res/draweble nodpi
  3. yg di ganti platlogo.png kalau platlogo_alt.png di ganti juga gakpapa
  4. recompile
framework.jar :
  1. untuk cara decompile recompile jar nya pakai file ini (didalamnya sudah ada tutornya)
  2. ekstrack file classes.dex dari framework.jar
  3. decompile classes.dex pakek cara yg ada di dalam file tadi
  4. masuk ke com/android/internal/app/PlatLogoActivity.smali
  5. edit dgn notepad++ biar gampang
  6. cara kode berikut

bisa ganti dengan


7. cari kode ini lagi



sget-object menunjukan dia akan mengambil dari script lain yaitu versi android yg ada di build prop kalau gak salah, sget-object bisa di ganti dengan const-strings seperti berikut


tapi dalam hal ini tidak ane ganti gan, ane biarkan saja kalau ente ganti juga gpp DWYOR :p. oke gan kita menuju script selanjutnya

8. cari kode lagi


bisa ente ganti dengan :p



9. recompile
10. timpa classes.dex ke framework.jar dg 7zip
11. push ke system/framework
12. selesai :D


BOOTLOOP ADALAH KESUKSESAN YANG TERTUNDA

Tinted Status Bar Android Like Ios 7

boleh copas asal menyertakan sumber + jgn di miror

seperti halnya versi Ios yg baru, statusbarnya berubah warna secara otomatis mengikuti head aplikasi gan
syaratnya hh ente harus di root :p

bahan:

caranya:
  1. masuk Xpose Installer
  2. pilih Modules
  3. centang tinted statusbar
  4. reboot


tags


 

Followers

Powered by Blogger.