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
Dự án cao cấp Altara Residences Quy Nhơn phát triển bởi Công ty CP Foodinco Quy Nhơn quản lý 5 sao không gian mở thuận lợi giao thông. Altara Residences Quy Nhơn quản lý 5 sao giá ưu đãi diện tích...
Altara Residences Quy Nhơn độc đáo bền vững khu công viên