.class public Lcom/forum/im/widget/BubbleImageView; .super Landroid/widget/ImageView; .source "BubbleImageView.java" # static fields .field private static final ERROR_INT:I = 0x0 .field private static final OK_INT:I = 0x1 # instance fields .field private bitmapHandler:Landroid/os/Handler; .field private context:Landroid/content/Context; .field private iconBitmap:Landroid/graphics/Bitmap; .field private res:I # direct methods .method static bridge synthetic -$$Nest$fgeticonBitmap(Lcom/forum/im/widget/BubbleImageView;)Landroid/graphics/Bitmap; .registers 1 iget-object p0, p0, Lcom/forum/im/widget/BubbleImageView;->iconBitmap:Landroid/graphics/Bitmap; return-object p0 .end method .method static bridge synthetic -$$Nest$fgetres(Lcom/forum/im/widget/BubbleImageView;)I .registers 1 iget p0, p0, Lcom/forum/im/widget/BubbleImageView;->res:I return p0 .end method .method public constructor (Landroid/content/Context;)V .registers 3 .line 47 invoke-direct {p0, p1}, Landroid/widget/ImageView;->(Landroid/content/Context;)V .line 30 new-instance v0, Lcom/forum/im/widget/BubbleImageView$1; invoke-direct {v0, p0}, Lcom/forum/im/widget/BubbleImageView$1;->(Lcom/forum/im/widget/BubbleImageView;)V iput-object v0, p0, Lcom/forum/im/widget/BubbleImageView;->bitmapHandler:Landroid/os/Handler; .line 48 iput-object p1, p0, Lcom/forum/im/widget/BubbleImageView;->context:Landroid/content/Context; return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .registers 3 .line 52 invoke-direct {p0, p1, p2}, Landroid/widget/ImageView;->(Landroid/content/Context;Landroid/util/AttributeSet;)V .line 30 new-instance p2, Lcom/forum/im/widget/BubbleImageView$1; invoke-direct {p2, p0}, Lcom/forum/im/widget/BubbleImageView$1;->(Lcom/forum/im/widget/BubbleImageView;)V iput-object p2, p0, Lcom/forum/im/widget/BubbleImageView;->bitmapHandler:Landroid/os/Handler; .line 53 iput-object p1, p0, Lcom/forum/im/widget/BubbleImageView;->context:Landroid/content/Context; return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .registers 4 .line 57 invoke-direct {p0, p1, p2, p3}, Landroid/widget/ImageView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 30 new-instance p2, Lcom/forum/im/widget/BubbleImageView$1; invoke-direct {p2, p0}, Lcom/forum/im/widget/BubbleImageView$1;->(Lcom/forum/im/widget/BubbleImageView;)V iput-object p2, p0, Lcom/forum/im/widget/BubbleImageView;->bitmapHandler:Landroid/os/Handler; .line 58 iput-object p1, p0, Lcom/forum/im/widget/BubbleImageView;->context:Landroid/content/Context; return-void .end method .method public static loadCover(Landroid/widget/ImageView;Ljava/lang/String;Landroid/content/Context;)V .registers 6 .line 90 sget-object v0, Landroid/widget/ImageView$ScaleType;->CENTER_CROP:Landroid/widget/ImageView$ScaleType; invoke-virtual {p0, v0}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V .line 94 invoke-static {p2}, Lcom/bumptech/glide/Glide;->with(Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; move-result-object p2 new-instance v0, Lcom/bumptech/glide/request/RequestOptions; invoke-direct {v0}, Lcom/bumptech/glide/request/RequestOptions;->()V const-wide/32 v1, 0xf4240 .line 97 invoke-virtual {v0, v1, v2}, Lcom/bumptech/glide/request/RequestOptions;->frame(J)Lcom/bumptech/glide/request/BaseRequestOptions; move-result-object v0 check-cast v0, Lcom/bumptech/glide/request/RequestOptions; .line 98 invoke-virtual {v0}, Lcom/bumptech/glide/request/RequestOptions;->centerCrop()Lcom/bumptech/glide/request/BaseRequestOptions; move-result-object v0 check-cast v0, Lcom/bumptech/glide/request/RequestOptions; .line 99 invoke-virtual {v0}, Lcom/bumptech/glide/request/RequestOptions;->fitCenter()Lcom/bumptech/glide/request/BaseRequestOptions; move-result-object v0 check-cast v0, Lcom/bumptech/glide/request/RequestOptions; const/16 v1, 0x190 .line 100 invoke-virtual {v0, v1, v1}, Lcom/bumptech/glide/request/RequestOptions;->override(II)Lcom/bumptech/glide/request/BaseRequestOptions; move-result-object v0 check-cast v0, Lcom/bumptech/glide/request/RequestOptions; const v1, 0x7f08011f .line 101 invoke-virtual {v0, v1}, Lcom/bumptech/glide/request/RequestOptions;->placeholder(I)Lcom/bumptech/glide/request/BaseRequestOptions; move-result-object v0 check-cast v0, Lcom/bumptech/glide/request/RequestOptions; .line 102 invoke-virtual {v0, v1}, Lcom/bumptech/glide/request/RequestOptions;->error(I)Lcom/bumptech/glide/request/BaseRequestOptions; move-result-object v0 check-cast v0, Lcom/bumptech/glide/request/RequestOptions; .line 95 invoke-virtual {p2, v0}, Lcom/bumptech/glide/RequestManager;->setDefaultRequestOptions(Lcom/bumptech/glide/request/RequestOptions;)Lcom/bumptech/glide/RequestManager; move-result-object p2 .line 104 invoke-virtual {p2, p1}, Lcom/bumptech/glide/RequestManager;->load(Ljava/lang/String;)Lcom/bumptech/glide/RequestBuilder; move-result-object p1 .line 105 invoke-virtual {p1, p0}, Lcom/bumptech/glide/RequestBuilder;->into(Landroid/widget/ImageView;)Lcom/bumptech/glide/request/target/ViewTarget; return-void .end method # virtual methods .method public getBitmapHeight()I .registers 2 .line 171 iget-object v0, p0, Lcom/forum/im/widget/BubbleImageView;->context:Landroid/content/Context; invoke-virtual {p0, v0}, Lcom/forum/im/widget/BubbleImageView;->getScreenHeight(Landroid/content/Context;)I move-result v0 div-int/lit8 v0, v0, 0x4 return v0 .end method .method public getBitmapWidth()I .registers 2 .line 167 iget-object v0, p0, Lcom/forum/im/widget/BubbleImageView;->context:Landroid/content/Context; invoke-virtual {p0, v0}, Lcom/forum/im/widget/BubbleImageView;->getScreenWidth(Landroid/content/Context;)I move-result v0 div-int/lit8 v0, v0, 0x3 return v0 .end method .method public getRoundCornerImage(Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap; .registers 11 .line 118 invoke-virtual {p2}, Landroid/graphics/Bitmap;->getWidth()I move-result v0 .line 119 invoke-virtual {p2}, Landroid/graphics/Bitmap;->getHeight()I move-result v1 if-eqz v1, :cond_22 int-to-double v2, v0 const-wide/high16 v4, 0x3ff0000000000000L # 1.0 mul-double/2addr v2, v4 int-to-double v4, v1 div-double/2addr v2, v4 if-lt v0, v1, :cond_1a .line 123 invoke-virtual {p0}, Lcom/forum/im/widget/BubbleImageView;->getBitmapWidth()I move-result v0 int-to-double v4, v0 div-double/2addr v4, v2 double-to-int v1, v4 goto :goto_25 .line 126 :cond_1a invoke-virtual {p0}, Lcom/forum/im/widget/BubbleImageView;->getBitmapHeight()I move-result v1 int-to-double v4, v1 mul-double/2addr v4, v2 double-to-int v0, v4 goto :goto_25 :cond_22 const/16 v0, 0x64 move v1, v0 .line 133 :goto_25 sget-object v2, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config; invoke-static {v0, v1, v2}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap; move-result-object v2 .line 135 new-instance v3, Landroid/graphics/Canvas; invoke-direct {v3, v2}, Landroid/graphics/Canvas;->(Landroid/graphics/Bitmap;)V .line 136 new-instance v4, Landroid/graphics/Paint; invoke-direct {v4}, Landroid/graphics/Paint;->()V .line 137 new-instance v5, Landroid/graphics/Rect; const/4 v6, 0x0 invoke-direct {v5, v6, v6, v0, v1}, Landroid/graphics/Rect;->(IIII)V .line 138 new-instance v0, Landroid/graphics/Rect; invoke-virtual {p2}, Landroid/graphics/Bitmap;->getWidth()I move-result v1 invoke-virtual {p2}, Landroid/graphics/Bitmap;->getHeight()I move-result v7 invoke-direct {v0, v6, v6, v1, v7}, Landroid/graphics/Rect;->(IIII)V const/4 v1, 0x1 .line 139 invoke-virtual {v4, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V .line 140 new-instance v1, Landroid/graphics/NinePatch; .line 141 invoke-virtual {p1}, Landroid/graphics/Bitmap;->getNinePatchChunk()[B move-result-object v6 const/4 v7, 0x0 invoke-direct {v1, p1, v6, v7}, Landroid/graphics/NinePatch;->(Landroid/graphics/Bitmap;[BLjava/lang/String;)V .line 142 invoke-virtual {v1, v3, v5}, Landroid/graphics/NinePatch;->draw(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V .line 143 new-instance p1, Landroid/graphics/PorterDuffXfermode; sget-object v1, Landroid/graphics/PorterDuff$Mode;->SRC_IN:Landroid/graphics/PorterDuff$Mode; invoke-direct {p1, v1}, Landroid/graphics/PorterDuffXfermode;->(Landroid/graphics/PorterDuff$Mode;)V invoke-virtual {v4, p1}, Landroid/graphics/Paint;->setXfermode(Landroid/graphics/Xfermode;)Landroid/graphics/Xfermode; .line 144 invoke-virtual {v3, p2, v0, v5, v4}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V return-object v2 .end method .method public getScreenHeight(Landroid/content/Context;)I .registers 3 .line 160 const-string v0, "window" .line 161 invoke-virtual {p1, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroid/view/WindowManager; .line 162 invoke-interface {p1}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display; move-result-object p1 .line 163 invoke-virtual {p1}, Landroid/view/Display;->getHeight()I move-result p1 return p1 .end method .method public getScreenWidth(Landroid/content/Context;)I .registers 3 .line 151 const-string v0, "window" .line 152 invoke-virtual {p1, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroid/view/WindowManager; .line 153 invoke-interface {p1}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display; move-result-object p1 .line 154 invoke-virtual {p1}, Landroid/view/Display;->getWidth()I move-result p1 return p1 .end method .method public load(Ljava/lang/String;II)V .registers 4 .line 62 invoke-virtual {p0, p3}, Lcom/forum/im/widget/BubbleImageView;->setImageResource(I)V .line 63 iput p2, p0, Lcom/forum/im/widget/BubbleImageView;->res:I .line 67 invoke-virtual {p0}, Lcom/forum/im/widget/BubbleImageView;->getContext()Landroid/content/Context; move-result-object p2 invoke-static {p0, p1, p2}, Lcom/forum/im/widget/BubbleImageView;->loadCover(Landroid/widget/ImageView;Ljava/lang/String;Landroid/content/Context;)V return-void .end method .method public setLocalImageBitmap(Landroid/graphics/Bitmap;I)V .registers 4 .line 112 invoke-virtual {p0}, Lcom/forum/im/widget/BubbleImageView;->getResources()Landroid/content/res/Resources; move-result-object v0 invoke-static {v0, p2}, Landroid/graphics/BitmapFactory;->decodeResource(Landroid/content/res/Resources;I)Landroid/graphics/Bitmap; move-result-object p2 .line 113 invoke-virtual {p0, p2, p1}, Lcom/forum/im/widget/BubbleImageView;->getRoundCornerImage(Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap; move-result-object p1 .line 114 invoke-virtual {p0, p1}, Lcom/forum/im/widget/BubbleImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V return-void .end method