-
03-06-2014, 01:27 AM #21snbonline Guest
11.sense recent app for 4.3
- với samsung
1. decompile framework-res.apk,
- /res/values/dimens.xml : chỉnh kích thước ảnh như hình
tìm
Mã:<dimen name="thumbnail_height">145.0dip</dimen> <dimen name="thumbnail_width">164.0dip</dimen>
Mã:<dimen name="thumbnail_height">267.0dip</dimen> <dimen name="thumbnail_width">168.0dip</dimen>
2. decompile systemui.apk,
- /res/values/bools.xml
tìm
Mã:<bool name="config_recents_thumbnail_image_fits_to_xy">false</bool>
Mã:<bool name="config_recents_thumbnail_image_fits_to_xy">true</bool>
add thêm dòng này
Mã:<string name="recent_apps_title">recent apps</string>
add thêm dòng này
Mã:<item type="id" name="recents_transition_background" /> <item type="id" name="recents_transition_placeholder_icon" /> <item type="id" name="recents_clear" />
tìm
Mã:<textview android:textsize="20.0dip" android:textcolor="@*android:color/holo_blue_light" 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" />
Mã:<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" />
tìm
Mã:<relativelayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/header" android:background="@drawable/notification_header_bg" android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_height" android:baselinealigned="false"
Mã:<relativelayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/header" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_height" android:baselinealigned="false"
thay cả file bằng code này
Mã:<?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>
tìm
Mã:<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_alignparentbottom="true"> <com.android.systemui.recent.recentsverticalscrollview android:layout_gravity="bottom|left|center" android:id="@id/recents_container" android:paddingbottom="@dimen/tw_status_bar_recent_panel_vertical_scrollview_bottom_padding" android:scrollbars="none" android:fadingedge="vertical" android:fadingedgelength="@dimen/status_bar_recents_scroll_fading_edge_length" 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="vertical" 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.recentsverticalscrollview>
Mã:<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" />
thay cả file bằng
Mã:<?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>
tìm
Mã:<framelayout android:id="@id/recents_bg_protect" android:background="@drawable/status_bar_recents_background" android:clipchildren="false" android:cliptopadding="false" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignparentbottom="true"> <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>
Mã:<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" />
https://www.dropbox.com/s/ug69n8lvgcczd5c/drawable-nodpi.zip
3. - smali/com/android/systemui/recent/recentspanelview.smali:
tìm
Mã:.method private updatethumbnail(lcom/android/systemui/recent/recentspanelview$viewholder;landroid/graphics/bitmap;zz)v .locals 5 .parameter "h" .parameter "thumbnail" .parameter "show" .parameter "anim" .prologue .line 825 if-eqz p2, :cond_4 .line 829 iget-object v2, p1, lcom/android/systemui/recent/recentspanelview$viewholder;->thumbnailviewimage:landroid/widget/imageview; invoke-virtual {v2, p2}, landroid/widget/imageview;->setimagebitmap(landroid/graphics/bitmap;)v .line 833 iget-object v2, p1, lcom/android/systemui/recent/recentspanelview$viewholder;->thumbnailviewimagebitmap:landroid/graphics/bitmap; if-eqz v2, :cond_0 iget-object v2, p1, lcom/android/systemui/recent/recentspanelview$viewholder;->thumbnailviewimagebitmap:landroid/graphics/bitmap; invoke-virtual {v2}, landroid/graphics/bitmap;->getwidth()i move-result v2 invoke-virtual {p2}, landroid/graphics/bitmap;->getwidth()i move-result v3 if-ne v2, v3, :cond_0 iget-object v2, p1, lcom/android/systemui/recent/recentspanelview$viewholder;->thumbnailviewimagebitmap:landroid/graphics/bitmap; invoke-virtual {v2}, landroid/graphics/bitmap;->getheight()i move-result v2 invoke-virtual {p2}, landroid/graphics/bitmap;->getheight()i move-result v3 if-eq v2, v3, :cond_1 .line 836 :cond_0 iget-boolean v2, p0, lcom/android/systemui/recent/recentspanelview;->mfitthumbnailtoxy:z if-eqz v2, :cond_5 .line 837 iget-object v2, p1, lcom/android/systemui/recent/recentspanelview$viewholder;->thumbnailviewimage:landroid/widget/imageview; sget-object v3, landroid/widget/imageview$scaletype;->fit_xy:landroid/widget/imageview$scaletype; invoke-virtual {v2, v3}, landroid/widget/imageview;->setscaletype(landroid/widget/imageview$scaletype;)v .line 846 :cond_1 :goto_0 if-eqz p3, :cond_3 iget-object v2, p1, lcom/android/systemui/recent/recentspanelview$viewholder;->thumbnailview:landroid/view/view; invoke-virtual {v2}, landroid/view/view;->getvisibility()i move-result v2 if-eqz v2, :cond_3 .line 847 if-eqz p4, :cond_2 .line 848 iget-object v2, p1, lcom/android/systemui/recent/recentspanelview$viewholder;->thumbnailview:landroid/view/view; iget-object v3, p0, lcom/android/systemui/recent/recentspanelview;->mcontext:landroid/content/context; const v4, 0x7f05000e invoke-static {v3, v4}, landroid/view/animation/animationutils;->loadanimation(landroid/content/context;i)landroid/view/animation/animation; move-result-object v3 invoke-virtual {v2, v3}, landroid/view/view;->setanimation(landroid/view/animation/animation;)v .line 851 :cond_2 iget-object v2, p1, lcom/android/systemui/recent/recentspanelview$viewholder;->thumbnailview:landroid/view/view; const/4 v3, 0x0 invoke-virtual {v2, v3}, landroid/view/view;->setvisibility(i)v .line 853 :cond_3 iput-object p2, p1, lcom/android/systemui/recent/recentspanelview$viewholder;->thumbnailviewimagebitmap:landroid/graphics/bitmap; .line 855 :cond_4 return-void .line 839 :cond_5 new-instance v1, landroid/graphics/matrix; invoke-direct {v1}, landroid/graphics/matrix;-><init>()v .line 840 .local v1, scalematrix:landroid/graphics/matrix; iget v2, p0, lcom/android/systemui/recent/recentspanelview;->mthumbnailwidth:i int-to-float v2, v2 invoke-virtual {p2}, landroid/graphics/bitmap;->getwidth()i move-result v3 int-to-float v3, v3 div-float v0, v2, v3 .line 841 .local v0, scale:f invoke-virtual {v1, v0, v0}, landroid/graphics/matrix;->setscale(ff)v .line 842 iget-object v2, p1, lcom/android/systemui/recent/recentspanelview$viewholder;->thumbnailviewimage:landroid/widget/imageview; sget-object v3, landroid/widget/imageview$scaletype;->matrix:landroid/widget/imageview$scaletype; invoke-virtual {v2, v3}, landroid/widget/imageview;->setscaletype(landroid/widget/imageview$scaletype;)v .line 843 iget-object v2, p1, lcom/android/systemui/recent/recentspanelview$viewholder;->thumbnailviewimage:landroid/widget/imageview; invoke-virtual {v2, v1}, landroid/widget/imageview;->setimagematrix(landroid/graphics/matrix;)v goto :goto_0 .end method
Mã:.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 825 if-eqz p2, :cond_4 .line 830 const/16 v26, 0x4 .line 833 .local v26, reflectiongap:i invoke-virtual/range {p2 .. p2}, landroid/graphics/bitmap;->getwidth()i move-result v6 .line 834 .local v6, width:i invoke-virtual/range {p2 .. p2}, landroid/graphics/bitmap;->getheight()i move-result v24 .line 836 .local v24, height:i new-instance v8, landroid/graphics/matrix; invoke-direct {v8}, landroid/graphics/matrix;-><init>()v .line 837 .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 839 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 840 .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 842 .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 843 .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 844 new-instance v14, landroid/graphics/paint; invoke-direct {v14}, landroid/graphics/paint;-><init>()v .line 845 .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 846 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 848 new-instance v25, landroid/graphics/paint; invoke-direct/range {v25 .. v25}, landroid/graphics/paint;-><init>()v .line 849 .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 853 .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 854 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 855 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 858 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 862 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 865 :cond_0 move-object/from16 v0, p0 iget-boolean v3, v0, lcom/android/systemui/recent/recentspanelview;->mfitthumbnailtoxy:z if-eqz v3, :cond_5 .line 866 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 875 :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 876 if-eqz p4, :cond_2 .line 878 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 882 :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 885 :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 887 .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 868 .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 869 .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 870 .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 871 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 872 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
1. decompile framework-res.apk
2. vào framework-res.apk/res/drawable-nodpi chỉnh sửa 2 file background_holo_dark.png và tw_background_holo_dark.png thành trong suốt
3. vào framework-res.apk/res/values/style.xml mở file style.xml lên
tìm dòng code sau:
Mã:<style name="theme.holo" parent="@style/theme">
Mã:<item name="windowshowwallpaper">false</item>
Mã:<item name="windowshowwallpaper">true</item>
Mã:<style name="theme.holo.inputmethod" parent="@style/theme.holo.light.panel">
Mã:<item name="windowshowwallpaper">false</item>
Mã:<style name="theme.holo.dialog" parent="@style/theme.holo">
Mã:<item name="windowshowwallpaper">false</item>
Mã:<style name="theme.devicedefault.inputmethod" parent="@style/theme.devicedefault">
Mã:<item name="windowshowwallpaper">false</item>
1. down file này về
https://www.dropbox.com/s/h8ar673ot50nj0v/pin dong.rar
2. file trong drawable thì chép đè vào systemui
es\drawable\
3. file icon pin thì chép vào systemui
es\drawable-xhdpi\
4. xong
down ogbattery pin ở đây
http://forum.xda-developers.com/showthread.php?t=2181766
1. bạn tạo 1 folder chứa icon pin mà bạn muốn.
folder này chứa 202 icon pin mà bạn muốn add vào.
tên folder bạn tuỳ chọn. mình lấy luôn drawable-xhdpi là folder có chứa sẵn 202 icon pin trong systemui.apk
2. chạy ogbatterymod.exe và chọn như hình
3. bây giờ bạn add icon pin bạn thik vào tool nhé( add bao nhiêu bộ icon pin cũng được)
4. chọn như hình
5. thành công
kiểm tra có icon pin tròn vừa add vào tool
6. tạo 2 folder tên như hình và chứa các file của máy bạn như hình
7. chọn
8. chọn như hình với đường dẫn các file vừa tạo ở trên
9. chạy hơi lâu 1 chút. khoảng 10 phút.
ok là như hình.
+ ogbattreymod_flashable.zip là file bạn flash để mod
+ backup_flashable.zip là file nếu muốn về lại như cũ thì flash
10.
+ kích 3 lần vào icon pin để chọn pin
+ hoặc vào settings >> display >> battery style >> chọn pin
11. các bạn muốn hiện icon ogbattery mod trong launcher thì chỉnh sửa như thế này(mặc định nó ẩn icon đi rồi)
ogbatterymod/androidmanifest.xml
thêm code này như hình
Mã:<action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" />
12. xong
dùng pm này đổi tên hàng loạt cho nhanh
https://www.dropbox.com/s/oo63pxr5qdxc9l2/chiase360.com_doitenfile.rar
sent from my gt-i9300 using tapatalk
đây video hương dan âp hiều kiểu pin đây @@thanhfhuongf nhé
↑
không phải kiếm tự mình tạo ra chứ cần gì phải kiếm mình bảo cách nhanh nhát nhé dùng cái này ogbatterymod v2.1.0 app icon này mỗi lần cho app 17 kiểu icon mình đổi tên thoải mái ,đỏi song lạ
vào https://www.dropbox.com/home đây dow hết kiểu pin chác tầm gần nghìn:d của mình về nhưng cũng phải đổi tên .mật khẩ[email protected] pasa 04061981
↑
của bác đây. 150 kiểu pin
https://www.dropbox.com/s/y944yf9ftn6iib2/150kieupin hung.zip
1. system\csc\feature.xml
add code như hình
Mã:<!-- calendar --> <cscfeature_calendar_enablelocalholidaydisplay>china</cscfeature_calendar_enablelocalholidaydisplay> <cscfeature_calendar_setdaysinfirstweek>eur</cscfeature_calendar_setdaysinfirstweek> <cscfeature_calendar_enablelunar>true</cscfeature_calendar_enablelunar> <cscfeature_calendar_displaylunarcalendar>true</cscfeature_calendar_displaylunarcalendar> <cscfeature_calendar_supportsdcardimex>true</cscfeature_calendar_supportsdcardimex> <cscfeature_calendar_supportsmemo>true</cscfeature_calendar_supportsmemo> <cscfeature_calendar_setcolorofdays>***xxbr</cscfeature_calendar_setcolorofdays>
2. loại bỏ tiếng tàu.
- system/app/seccalendarprovider.apk
- seccalendarprovider/res/values/strings.xml
ai biết thì tự dịch nhé. ai ko biết thì google dịch tiếng tàu.:d
bạn có thể tham khảo file mình đã dịch
https://www.dropbox.com/sh/ovysuioi5l69m92/w07n5r2nsd
các bạn dịch trong đoạn này là đủ nhé. các chỗ khác ko cần. nó dành cho ngôn ngữ khác.
3. sau khi flash hoặc cop vào máy.
bạn phải clear data nơi lưu trữ lịch lần đầu sử dụng như hình
Mã:<public type="string" name="cpu_idle"
1. down file này về.
https://www.dropbox.com/s/9h21nose6i23fk7/quicklaunch files.zip
giải nén chọn hệ điều hành của pc bạn đang dùng
cop hết vào theo đường dẫn systemui/smali/com/android/systemui/statusbar/policy/
2. systemui/res/layout/status_bar_expanded.xml
thêm code như hình
Mã:<horizontalscrollview android:scrollbars="none" android:layout_width="fill_parent" android:layout_height="wrap_content"> <com.android.systemui.statusbar.policy.quicklaunch.quicklaunchcontainer android:gravity="center" android:layout_width="wrap_content" android:layout_height="fill_parent" /> </horizontalscrollview>
3. xong
update mod tốc độ mạng như hình :
- tải file này về chép vào đường dẫn : systemui.apk/smali/com/android/systemui/statusbar/
link :
http://www.mediafire.com/?ssghk2rxm0hks0h
https://www.dropbox.com/s/4c7okrnrg0m0fx7/traffic.zip
- chèn code này theo đường dẫn : systemui.apk/res/layout/statusbar.xml
Mã:<com.android.systemui.statusbar.traffic.traffic android:textsize="10.0dip" android:textcolor="#ffffffff" android:gravity="center|center_vertical" android:layout_width="22.0dip" android:layout_height="fill_parent" android:singleline="false" />
Mã:<linearlayout android:gravity="left" android:orientation="horizontal" android:id="@id/status_bar_contents" android:paddingleft="1.0dip" android:paddingright="0.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent"> <linearlayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notification_icon_area" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0"> <include android:id="@id/signal_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/gemini_signal_cluster_view" /> <com.android.systemui.statusbar.statusbariconview android:id="@id/moreicon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" /> <com.android.systemui.statusbar.phone.iconmerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationicons" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignparentleft="true" /> </linearlayout> <com.android.systemui.statusbar.policy.clock android:textappearance="@style/textappearance.statusbar.clock" android:gravity="center" android:id="@id/clock" android:paddingleft="6.0dip" android:paddingright="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleline="true" /> <linearlayout android:gravity="right" android:orientation="horizontal" android:id="@id/system_icon_area" android:layout_width="wrap_content" android:layout_height="fill_parent"> <linearlayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusicons" android:layout_width="wrap_content" android:layout_height="fill_parent" /> <linearlayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster" android:paddingleft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent"> <com.android.systemui.statusbar.traffic.traffic android:textsize="10.0dip" android:textcolor="#ffffffff" android:gravity="center|center_vertical" android:layout_width="22.0dip" android:layout_height="fill_parent" android:singleline="false" /> <textview android:textsize="15.0sp" android:textcolor="#ffffffff" android:id="@id/percentage" android:paddingleft="4.0dip" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <imageview android:id="@id/battery" android:paddingleft="0.0dip" android:paddingright="2.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </linearlayout> </linearlayout>
1. systemui
es\layout\
sửa 5 file này :
+ carrier_label.xml
+ carrier_label_layout.xml
+ jbp_carrier_label_layout.xml
+ status_bar_expanded.xml
+ status_bar_expanded_header.xml
dùng tính năng search của notepad++
tìm code này android:background
dạng như thế này
Mã:android:background="..................."
Mã:android:background="#00000000"
2. systemui
es\values\drawables.xml
sửa như hình
3. down file này về. chép toàn bộ file ảnh trong suốt vào theo đường dẫn.
còn file xml là để các bạn tham khảo cách mình làm
https://www.dropbox.com/s/3m8mxglnos8053p/trong suot notification.rar
4. xong
mod hiển thị cpu trong notification
1. cop cả folder này vô systemui/smali/com/android/
nhớ là ko được thay tên. vì nếu bạn biết sửa trong smali thì mới thay. khoảng 180 dòng smali
https://www.dropbox.com/s/od1wjdzdkynbnej/thanhfhuongf.zip
2. mở file status_bar_expanded.xml
chèn code như hình
Mã:<linearlayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/cpu" android:layout_width="fill_parent" android:layout_height="wrap_content"> <com.android.thanhfhuongf.cpuusageview android:textsize="12.0dip" android:textcolor="#ffffffff" android:background="#00000000" android:paddingleft="10.0px" android:paddingtop="5.0px" android:paddingbottom="5.0px" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </linearlayout>
3. systemui
es\values\id.xml
add thêm code này
Mã:<item type="id" name="cpu">false</item>
es\values\strings.xml
add thêm code này
Mã:<string name="cpu_idle">idle</string> <string name="cpu_text">cpu usage</string>
systemui
es\values\public.xml
tìm dòng này
Mã:<public type="string" name="cpu_idle"
vd như của mình là 7f0b020f
Mã:<public type="string" name="cpu_idle" id="0x7f0b020f" />
6. thay id vừa lấy được vào
systemui\smali\com\android\thanhfhuongf\cpuusagevi ew$1.smali
dòng line thứ 40 như hình nhé
7. giờ buil apk thôi. goodluck
mod âm lịch trong notification
1. cop cả folder thanhfhuongf này vô systemui/smali/com/android/
nhớ là ko được thay tên folder.
https://www.dropbox.com/s/wmxg1h2pmyq6vy7/amlich.zip
2. mở file status_bar_expanded_header.xml
thay code như hình.
Mã:<relativelayout android:id="@id/datetime" android:background="#00000000" android:focusable="true" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_torightof="@id/expanded_divider_1"> <com.android.systemui.statusbar.policy.clock android:textappearance="@style/textappearance.statusbar.expanded.clock" android:textcolor="@color/notification_header_clock_color" android:gravity="bottom" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginleft="@dimen/notification_panel_header_clock_margin_left" android:singleline="true" systemui:ampmsmall="true" /> <com.android.thanhfhuongf.amlich.duonglich2amlich android:textappearance="@style/textappearance.statusbar.expanded.date" android:textcolor="@color/notification_header_date_color" android:gravity="top" android:id="@id/amlich" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginleft="8.0dip" android:layout_margintop="-16.0dip" android:layout_marginright="@dimen/notification_panel_header_date_margin_right" android:layout_toendof="@id/clock" /> <com.android.systemui.statusbar.policy.dateview android:textappearance="@style/textappearance.statusbar.expanded.date" android:textcolor="@color/notification_header_date_color" android:gravity="bottom" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginleft="10.0dip" android:layout_marginright="@dimen/notification_panel_header_date_margin_right" android:layout_marginbottom="4.0dip" android:layout_toendof="@id/clock" /> </relativelayout>
3. systemui
es\values\id.xml
add thêm code này
Mã:<item type="id" name="amlich">false</item>
es\values\styles.xml
add thêm code này
Mã:<style name="textappearance.statusbar.dayofweek" parent="@*android:style/textappearance.statusbar.icon"> <item name="android:textsize">14.0sp</item> <item name="android:textstyle">normal</item> <item name="android:textcolor">#ffffffff</item> </style>
Mã:android:layout_margintop="-16.0dip"
Mã:<com.android.thanhfhuongf.amlich.duonglich2amlich android:textappearance="@style/textappearance.statusbar.expanded.date" android:textcolor="@color/notification_header_date_color" android:gravity="top" android:id="@id/amlich" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginleft="8.0dip" android:layout_margintop="-16.0dip" android:layout_marginright="@dimen/notification_panel_header_date_margin_right" android:layout_toendof="@id/clock" />
6. giờ buil apk thôi. goodluck
-
03-06-2014, 01:53 AM #22gamemb GuestGửi bởi dokyson
gửi từ im-a880s trên app choimobile.
-
03-06-2014, 01:59 AM #23susu GuestGửi bởi dokyson
gửi từ im-a880s trên app choimobile.
-
06-06-2014, 04:33 AM #24xiubu4779 GuestGửi bởi kttrungana
-
06-06-2014, 07:16 PM #25leminhnt0205 GuestGửi bởi dokyson
gửi từ im-a880s trên app choimobile.
-
06-06-2014, 10:11 PM #26kdonline GuestGửi bởi kttrungana
-
07-06-2014, 12:41 AM #27duongle237 GuestGửi bởi dokyson
gửi từ im-a880s trên app choimobile.
-
07-06-2014, 03:21 AM #28thanhphongit Guest
hướng dẫn đưa 2g/3g và flashligh lên systemui đi bác :d
-
07-06-2014, 04:12 AM #29nguyends Guest
cụ nào có icon sóng của iphone cho 4.4 ko e xin với.tks
-
07-06-2014, 06:50 AM #30maymiennam GuestGửi bởi gianhú991
Introducing the Rattan Pagoda Lantern—an exquisite fusion of traditional craftsmanship and modern design that adds warmth and sophistication to any setting. Crafted from natural rattan materials,...
Illuminate Your Space with...