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ớ
- đầ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
- thêm các code ứng với mỗi line như dưới đây vào
.line 1
.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
.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
.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
- 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
Bạn đang tìm kiếm cách phối đồ công sở để tự tin và chuyên nghiệp mỗi khi đến văn phòng? Hãy để chúng tôi giúp bạn! Trong bài viết này, chúng tôi sẽ cung cấp các gợi ý và hướng dẫn cách phối đồ công...
Cách Phối Đồ Công Sở Cho Nam: Hướng Dẫn Phong Cách và Ứng Dụng Tốt Nhất