BitmapTransformation.smali
.class public abstract Lcom/bumptech/glide/load/resource/bitmap/BitmapTransformation;
.super Ljava/lang/Object;
.source "BitmapTransformation.java"
# interfaces
.implements Lcom/bumptech/glide/load/Transformation;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/bumptech/glide/load/Transformation<",
"Landroid/graphics/Bitmap;",
">;"
}
.end annotation
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 67
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method protected abstract transform(Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap;
.end method
.method public final transform(Landroid/content/Context;Lcom/bumptech/glide/load/engine/Resource;II)Lcom/bumptech/glide/load/engine/Resource;
.registers 11
.param p1, "context" # Landroid/content/Context;
.param p3, "outWidth" # I
.param p4, "outHeight" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Lcom/bumptech/glide/load/engine/Resource<",
"Landroid/graphics/Bitmap;",
">;II)",
"Lcom/bumptech/glide/load/engine/Resource<",
"Landroid/graphics/Bitmap;",
">;"
}
.end annotation
.line 73
.local p2, "resource":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<Landroid/graphics/Bitmap;>;"
invoke-static {p3, p4}, Lcom/bumptech/glide/util/Util;->isValidDimensions(II)Z
move-result v0
if-eqz v0, :cond_37
.line 81
invoke-static {p1}, Lcom/bumptech/glide/Glide;->get(Landroid/content/Context;)Lcom/bumptech/glide/Glide;
move-result-object v0
invoke-virtual {v0}, Lcom/bumptech/glide/Glide;->getBitmapPool()Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;
move-result-object v0
.line 82
.local v0, "bitmapPool":Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;
invoke-interface {p2}, Lcom/bumptech/glide/load/engine/Resource;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/graphics/Bitmap;
.line 83
.local v1, "toTransform":Landroid/graphics/Bitmap;
const/high16 v2, -0x80000000
if-ne p3, v2, :cond_1d
invoke-virtual {v1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v3
goto :goto_1e
:cond_1d
move v3, p3
.line 84
.local v3, "targetWidth":I
:goto_1e
if-ne p4, v2, :cond_25
invoke-virtual {v1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v2
goto :goto_26
:cond_25
move v2, p4
.line 85
.local v2, "targetHeight":I
:goto_26
invoke-virtual {p0, v0, v1, v3, v2}, Lcom/bumptech/glide/load/resource/bitmap/BitmapTransformation;->transform(Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap;
move-result-object v4
.line 88
.local v4, "transformed":Landroid/graphics/Bitmap;
invoke-virtual {v1, v4}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_32
.line 89
move-object v5, p2
.local v5, "result":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<Landroid/graphics/Bitmap;>;"
goto :goto_36
.line 91
.end local v5 # "result":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<Landroid/graphics/Bitmap;>;"
:cond_32
invoke-static {v4, v0}, Lcom/bumptech/glide/load/resource/bitmap/BitmapResource;->obtain(Landroid/graphics/Bitmap;Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;)Lcom/bumptech/glide/load/resource/bitmap/BitmapResource;
move-result-object v5
.line 93
.restart local v5 # "result":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<Landroid/graphics/Bitmap;>;"
:goto_36
return-object v5
.line 74
.end local v0 # "bitmapPool":Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;
.end local v1 # "toTransform":Landroid/graphics/Bitmap;
.end local v2 # "targetHeight":I
.end local v3 # "targetWidth":I
.end local v4 # "transformed":Landroid/graphics/Bitmap;
.end local v5 # "result":Lcom/bumptech/glide/load/engine/Resource;, "Lcom/bumptech/glide/load/engine/Resource<Landroid/graphics/Bitmap;>;"
:cond_37
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Cannot apply transformation on width: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " or height: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " less than or equal to zero and not Target.SIZE_ORIGINAL"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method