ClipViewLayout$1.smali
.class final Lcom/imo/android/imoim/clipimage/ClipViewLayout$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/imo/android/imoim/clipimage/ClipViewLayout;->setImageSrc(Landroid/net/Uri;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic a:Landroid/net/Uri;
.field final synthetic b:Lcom/imo/android/imoim/clipimage/ClipViewLayout;
# direct methods
.method constructor <init>(Lcom/imo/android/imoim/clipimage/ClipViewLayout;Landroid/net/Uri;)V
.registers 3
.line 130
iput-object p1, p0, Lcom/imo/android/imoim/clipimage/ClipViewLayout$1;->b:Lcom/imo/android/imoim/clipimage/ClipViewLayout;
iput-object p2, p0, Lcom/imo/android/imoim/clipimage/ClipViewLayout$1;->a:Landroid/net/Uri;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final onGlobalLayout()V
.registers 29
move-object/from16 v0, p0
.line 132
iget-object v1, v0, Lcom/imo/android/imoim/clipimage/ClipViewLayout$1;->b:Lcom/imo/android/imoim/clipimage/ClipViewLayout;
iget-object v2, v0, Lcom/imo/android/imoim/clipimage/ClipViewLayout$1;->a:Landroid/net/Uri;
if-eqz v2, :cond_125
.line 1148
invoke-virtual {v1}, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->getContext()Landroid/content/Context;
move-result-object v3
invoke-static {v3, v2}, Lcom/imo/android/imoim/util/ei;->b(Landroid/content/Context;Landroid/net/Uri;)Ljava/lang/String;
move-result-object v2
.line 1149
invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
const-string v4, "**********clip_view path******* "
invoke-virtual {v4, v3}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
const-string v4, "evan"
.line 2071
invoke-static {v4, v3}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 1150
invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_125
.line 1154
invoke-static {v2}, Lcom/imo/android/imoim/clipimage/a;->a(Ljava/lang/String;)[I
move-result-object v3
const/4 v4, 0x0
.line 1155
aget v5, v3, v4
const/4 v6, 0x1
.line 1156
aget v3, v3, v6
.line 1158
iget v7, v1, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->c:I
const/high16 v8, 0x3f800000 # 1.0f
if-le v3, v5, :cond_3d
int-to-float v9, v5
mul-float v9, v9, v8
int-to-float v7, v7
div-float/2addr v9, v7
int-to-float v10, v3
div-float/2addr v10, v9
goto :goto_44
:cond_3d
int-to-float v9, v3
mul-float v9, v9, v8
int-to-float v10, v7
div-float/2addr v9, v10
int-to-float v7, v5
div-float/2addr v7, v9
:goto_44
const/4 v9, 0x2
new-array v11, v9, [I
float-to-int v7, v7
aput v7, v11, v4
float-to-int v7, v10
aput v7, v11, v6
.line 1163
iget v7, v1, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->d:I
if-le v5, v7, :cond_53
iget v5, v1, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->d:I
:cond_53
iget v7, v1, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->e:I
if-le v3, v7, :cond_59
iget v3, v1, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->e:I
.line 3430
:cond_59
new-instance v7, Landroid/graphics/BitmapFactory$Options;
invoke-direct {v7}, Landroid/graphics/BitmapFactory$Options;-><init>()V
.line 3431
iput-boolean v6, v7, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z
.line 3432
sget-object v10, Landroid/graphics/Bitmap$Config;->RGB_565:Landroid/graphics/Bitmap$Config;
iput-object v10, v7, Landroid/graphics/BitmapFactory$Options;->inPreferredConfig:Landroid/graphics/Bitmap$Config;
.line 3456
iget v10, v7, Landroid/graphics/BitmapFactory$Options;->outHeight:I
.line 3457
iget v12, v7, Landroid/graphics/BitmapFactory$Options;->outWidth:I
const/16 v13, 0x8
if-gt v10, v3, :cond_71
if-le v12, v5, :cond_6f
goto :goto_71
:cond_6f
const/4 v13, 0x1
goto :goto_93
:cond_71
:goto_71
int-to-float v10, v10
int-to-float v3, v3
div-float/2addr v10, v3
.line 3464
invoke-static {v10}, Ljava/lang/Math;->round(F)I
move-result v3
int-to-float v10, v12
int-to-float v5, v5
div-float/2addr v10, v5
.line 3466
invoke-static {v10}, Ljava/lang/Math;->round(F)I
move-result v5
if-ge v3, v5, :cond_82
goto :goto_83
:cond_82
move v3, v5
:goto_83
const/4 v5, 0x3
if-lt v3, v5, :cond_92
int-to-double v14, v3
const-wide/high16 v16, 0x401a000000000000L # 6.5
cmpg-double v5, v14, v16
if-gez v5, :cond_8f
const/4 v13, 0x4
goto :goto_93
:cond_8f
if-ge v3, v13, :cond_92
goto :goto_93
:cond_92
move v13, v3
.line 3435
:goto_93
iput v13, v7, Landroid/graphics/BitmapFactory$Options;->inSampleSize:I
.line 3439
iput-boolean v4, v7, Landroid/graphics/BitmapFactory$Options;->inJustDecodeBounds:Z
.line 3440
invoke-static {v2, v7}, Landroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
move-result-object v14
.line 1164
aget v3, v11, v4
aget v4, v11, v6
.line 4020
invoke-virtual {v14}, Landroid/graphics/Bitmap;->getWidth()I
move-result v5
.line 4021
invoke-virtual {v14}, Landroid/graphics/Bitmap;->getHeight()I
move-result v6
int-to-float v3, v3
int-to-float v7, v5
div-float/2addr v3, v7
int-to-float v4, v4
int-to-float v7, v6
div-float/2addr v4, v7
.line 4024
new-instance v7, Landroid/graphics/Matrix;
invoke-direct {v7}, Landroid/graphics/Matrix;-><init>()V
.line 4025
invoke-virtual {v7, v3, v4}, Landroid/graphics/Matrix;->postScale(FF)Z
const/4 v15, 0x0
const/16 v16, 0x0
const/16 v20, 0x1
move/from16 v17, v5
move/from16 v18, v6
move-object/from16 v19, v7
.line 4026
invoke-static/range {v14 .. v20}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;
move-result-object v21
if-eqz v21, :cond_125
.line 1171
invoke-static {v2}, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->a(Ljava/lang/String;)I
move-result v2
.line 1172
new-instance v3, Landroid/graphics/Matrix;
invoke-direct {v3}, Landroid/graphics/Matrix;-><init>()V
int-to-float v2, v2
.line 1173
invoke-virtual {v3, v2}, Landroid/graphics/Matrix;->setRotate(F)V
const/16 v22, 0x0
const/16 v23, 0x0
.line 1174
invoke-virtual/range {v21 .. v21}, Landroid/graphics/Bitmap;->getWidth()I
move-result v24
invoke-virtual/range {v21 .. v21}, Landroid/graphics/Bitmap;->getHeight()I
move-result v25
const/16 v27, 0x1
move-object/from16 v26, v3
invoke-static/range {v21 .. v27}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;
move-result-object v2
.line 1203
iget-object v3, v1, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->a:Landroid/widget/ImageView;
invoke-virtual {v3}, Landroid/widget/ImageView;->getWidth()I
move-result v3
div-int/2addr v3, v9
.line 1205
iget-object v4, v1, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->a:Landroid/widget/ImageView;
invoke-virtual {v4}, Landroid/widget/ImageView;->getHeight()I
move-result v4
div-int/2addr v4, v9
.line 1207
invoke-virtual {v2}, Landroid/graphics/Bitmap;->getWidth()I
move-result v5
int-to-float v5, v5
mul-float v5, v5, v8
const/high16 v6, 0x40000000 # 2.0f
div-float/2addr v5, v6
float-to-int v5, v5
.line 1209
invoke-virtual {v2}, Landroid/graphics/Bitmap;->getHeight()I
move-result v7
int-to-float v7, v7
mul-float v7, v7, v8
div-float/2addr v7, v6
float-to-int v6, v7
.line 1210
iget-object v7, v1, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->b:Landroid/graphics/Matrix;
sub-int/2addr v3, v5
int-to-float v3, v3
sub-int/2addr v4, v6
int-to-float v4, v4
invoke-virtual {v7, v3, v4}, Landroid/graphics/Matrix;->postTranslate(FF)Z
.line 1211
iget-object v3, v1, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->a: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 1212
iget-object v3, v1, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->a:Landroid/widget/ImageView;
iget-object v4, v1, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->b:Landroid/graphics/Matrix;
invoke-virtual {v3, v4}, Landroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V
.line 1213
iget-object v1, v1, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->a:Landroid/widget/ImageView;
invoke-virtual {v1, v2}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V
.line 133
:cond_125
iget-object v1, v0, Lcom/imo/android/imoim/clipimage/ClipViewLayout$1;->b:Lcom/imo/android/imoim/clipimage/ClipViewLayout;
invoke-static {v1}, Lcom/imo/android/imoim/clipimage/ClipViewLayout;->a(Lcom/imo/android/imoim/clipimage/ClipViewLayout;)Landroid/widget/ImageView;
move-result-object v1
invoke-virtual {v1}, Landroid/widget/ImageView;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
move-result-object v1
invoke-virtual {v1, v0}, Landroid/view/ViewTreeObserver;->removeGlobalOnLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
return-void
.end method