Hướng dẫn Mod recent apps phong cách Sense UI cho các máy LG

Thảo luận trong 'Thủ thuật - Sử dụng Android' bắt đầu bởi Trần Anh, 28 Tháng hai 2014.

  1. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    Phần sửa smali, tìm đoạn như trên trong file gốc, cut rồi paste nó ra một file mới. Dùng notepad ++, mark all các dòng có .line, nó sẽ hiện lên màu đỏ. Có tất cả 16 .line trong đoạn này, các bạn đánh số từ 1 đến 16 cho dễ nhớ

    Screenshot (68).png

    - Đầu tiên sửa .locals thành 30
    - Tiếp theo, xoá hết các dòng code dưới mỗi line, chỉ để lại như thế này


    Screenshot (69).png


    - Thêm các code ứng với mỗi line như dưới đây vào


    .line 1

    Mã:
     if-eqz p2, :cond_4

    .line 2

    Mã:
     const/16 v26, 0x4
    
      invoke-virtual/range {p2 .. p2}, Landroid/graphics/Bitmap;->getWidth()I
    
    .line 3
    Mã:
      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 4
    Mã:
      :cond_0
    
      move-object/from16 v0, p0
    
    
      iget-boolean v3, v0, Lcom/android/systemui/recent/RecentsPanelView;->mFitThumbnailToXY:Z
    
    
    
      if-eqz v3, :cond_5
    
    .line 5
    Mã:
      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 6
    Mã:
      :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 7
    Mã:
      if-eqz p4, :cond_2
    
    
    .line 8
    Mã:
      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 9
    Mã:
      :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 10
    Mã:
      :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 11
    Mã:
      :cond_4
    
      return-void
    
    
    .line 12
    Mã:
      :cond_5
    
      new-instance v29, Landroid/graphics/Matrix;
    
    
      invoke-direct/range {v29 .. v29}, Landroid/graphics/Matrix;-><init>()V
    
    .line 13
    Mã:
      .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 14
    Mã:
      .local v0, scale:F
    
      div-float v28, v3, v4
    
    
    .line 15
    Mã:
      move-object/from16 v0, v29
    
    
      move/from16 v1, v28
    
    
      move/from16 v2, v28
    
    
    .line 16
    Mã:
      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
    
    Screenshot (70).png


    - Xoá những số bạn đã đánh dấu vào các .line
    - Copy trả lại đúng vị trí trong file gốc, lưu lại
     
    Last edited: 26 Tháng tư 2014
  2. LêDũng96

    LêDũng96 Well-Known Member Staff Member

    Tham gia ngày:
    8 Tháng sáu 2013
    Bài viết:
    3,183
    Đã được thích:
    682
    Cho xin luôn mấy file mod sẵn đê.

    Sent from my LG-LU6200 using LG Việt mobile app
     
  3. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    Đây là systemUI của rom sphinx cho LU6200 mình mod sẵn, có thể lấy về để xem code. Đang viết một cách sửa smali mới dễ hơn
    mọi người khi mod đến đoạn nào lỗi gì, hay ko tìm thấy thì chụp hình post lên đây mình xem hướng dẫn mình thiếu đoạn nào nhé
     

    Các file đính kèm:

    hungheo90 thích bài này.
  4. trieuchitrungg

    trieuchitrungg Đột tử

    Tham gia ngày:
    17 Tháng bảy 2013
    Bài viết:
    2,117
    Đã được thích:
    8
  5. shenlong8988

    shenlong8988 Member

    Tham gia ngày:
    18 Tháng một 2014
    Bài viết:
    84
    Đã được thích:
    3
    cài cái .apk này kiểu j bác ơi? mình cài ko được?
     
  6. hayumi9

    hayumi9 Active Member

    Tham gia ngày:
    11 Tháng sáu 2013
    Bài viết:
    423
    Đã được thích:
    111
    chắc là phải thay đổi cái dip, nó to hơn ròi nhưng chỉ đc nửa màn :oops:
    shot_000002.jpg
     
    Last edited: 28 Tháng hai 2014
  7. Trọng*Pro*VũngTàu

    Trọng*Pro*VũngTàu Member

    Tham gia ngày:
    19 Tháng sáu 2013
    Bài viết:
    213
    Đã được thích:
    20
    @Trần Anh minh đang dùng Sphinx của tàu 3/1 bạn có dùng bản đó thì share cho mình với,thank.
     
  8. pnapro_hvtc

    pnapro_hvtc Active Member

    Tham gia ngày:
    22 Tháng sáu 2013
    Bài viết:
    1,131
    Đã được thích:
    311
    Oánh dấu mai lôi e lte2 ra vọc :laugh:
     
  9. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    @shenlong8988 cái này là apk hệ thống, bạn đổi tên thành LGSystemUI.apk chép đè vào system/app
    @Trọng*Pro*VũngTàu sphinx nào cũng đc
    All; @hayumi9 xin lỗi mọi người, mình post nhầm code ở res/layout-port/status_bar_recent_item.xml nên mới chỉ đc một nửa màn hình như vậy :(
    Phần 4 trang 1
    Đã update lại, bạn thử lại nhé
     
  10. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281

    Các file đính kèm:

    chakcoralvine and Trốn nợ like this.
  11. Trốn nợ

    Trốn nợ Well-Known Member

    Tham gia ngày:
    10 Tháng sáu 2013
    Bài viết:
    2,982
    Đã được thích:
    996
    Trận trước làm mãi ko đc,giờ ko có lap thì lại có tut này:confused:
     
  12. chakcoralvine

    chakcoralvine Well-Known Member

    Tham gia ngày:
    5 Tháng chín 2013
    Bài viết:
    5,108
    Đã được thích:
    1,624
    No đó :D
     
  13. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    bỏ mấy cái gạch gạch chia đi thì dimens.xml, mấy cái padd hay padding mà liên quan đến quicksetting hay floating, brightness đưa về 0.0 hết
    Còn chuyển cái gạch sọc kia sang thì hơi rắc rối, cố hiểu nhé
    layout/status_bar_expanded_setting_layout.xml

    - dòng có @id/setting_divider kéo ra cuối dòng đấy thấy android:layout_toRightOf="@id/date" => nghĩa là nó ở bên phải date. Muốn chuyển nó sang bên phải thứ thì sửa thành android:layout_toRightOf="@id/dayofweek" (id này xem mấy dòng trên)
    - Ở cái id/setting_button cũng vayạ, mặc định nó ở bên phải của cái gạch sọc, chỉ cần sửa nó ở bên phải date là đc
    - Thêm tiếp android:layout_marginLeft="2.0dip" vào cả 2 dòng date và amlich, mục đích để 2 thằng này nó tránh xa cái gạch sọc kia cho đẹp. 2.0 tuỳ sửa sao cho đẹp
     
    chakcoralvine thích bài này.
  14. chakcoralvine

    chakcoralvine Well-Known Member

    Tham gia ngày:
    5 Tháng chín 2013
    Bài viết:
    5,108
    Đã được thích:
    1,624
    17t mà giỏi vãi :D like
     
  15. SunvicAn

    SunvicAn Member

    Tham gia ngày:
    24 Tháng mười 2013
    Bài viết:
    118
    Đã được thích:
    9
    Bác Trần Anh cho xin framework với systemui đi, đg dùng flex r
     
  16. pnapro_hvtc

    pnapro_hvtc Active Member

    Tham gia ngày:
    22 Tháng sáu 2013
    Bài viết:
    1,131
    Đã được thích:
    311
    Bác @Trần Anh để code thế nào chứ kiểu kia khi cop vào sửa toàn lệch dòng với thêm dòng lại p lọ mọ sửa từng cái :(, mà m sửa xong k recompile được LGSystemUI, xem thì hình như bị lỗi ở phần smali chắc cop sai chỗ nào:(
     
    Last edited: 1 Tháng ba 2014
  17. chakcoralvine

    chakcoralvine Well-Known Member

    Tham gia ngày:
    5 Tháng chín 2013
    Bài viết:
    5,108
    Đã được thích:
    1,624
    @Trần Anh fix dùm cho mấy dòng code đúng dòng đi :D cóp n cứ thụt ra thụt vào làm sợ lỗi gần chếc :D
     
  18. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    code xml ko cần căn đúng dòng đâu, miễn là có đầu có cuối
    bạn nào lỗi recompile chụp log lên mình xem giúp cho
     
  19. chakcoralvine

    chakcoralvine Well-Known Member

    Tham gia ngày:
    5 Tháng chín 2013
    Bài viết:
    5,108
    Đã được thích:
    1,624
    2014-03-01-11-49-02.png
    Biết cho cái khoanh tròn vào giữa k Tran Anh
     
  20. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    chắc nó ở lock screen. cách mò: Tìm string cái dòng nó hiện ở đấy, xem tên string là gì, rồi tìm cái tên đấy trong layout xem nó ở xml nào mở xml ấy ra mò tiếp
     
    chakcoralvine thích bài này.

Chia sẻ trang này