BitmapDrawableDecoder.smali
.class public Lcom/bumptech/glide/load/resource/bitmap/BitmapDrawableDecoder;
.super Ljava/lang/Object;
.source "BitmapDrawableDecoder.java"
# interfaces
.implements Lcom/bumptech/glide/load/ResourceDecoder;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<DataType:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lcom/bumptech/glide/load/ResourceDecoder<",
"TDataType;",
"Landroid/graphics/drawable/BitmapDrawable;",
">;"
}
.end annotation
# instance fields
.field private final bitmapPool:Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;
.field private final decoder:Lcom/bumptech/glide/load/ResourceDecoder;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/bumptech/glide/load/ResourceDecoder<",
"TDataType;",
"Landroid/graphics/Bitmap;",
">;"
}
.end annotation
.end field
.field private final resources:Landroid/content/res/Resources;
# direct methods
.method public constructor <init>(Landroid/content/Context;Lcom/bumptech/glide/load/ResourceDecoder;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Lcom/bumptech/glide/load/ResourceDecoder<",
"TDataType;",
"Landroid/graphics/Bitmap;",
">;)V"
}
.end annotation
.line 27
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-static {p1}, Lcom/bumptech/glide/Glide;->get(Landroid/content/Context;)Lcom/bumptech/glide/Glide;
move-result-object p1
invoke-virtual {p1}, Lcom/bumptech/glide/Glide;->getBitmapPool()Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;
move-result-object p1
invoke-direct {p0, v0, p1, p2}, Lcom/bumptech/glide/load/resource/bitmap/BitmapDrawableDecoder;-><init>(Landroid/content/res/Resources;Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;Lcom/bumptech/glide/load/ResourceDecoder;)V
return-void
.end method
.method public constructor <init>(Landroid/content/res/Resources;Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;Lcom/bumptech/glide/load/ResourceDecoder;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/res/Resources;",
"Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;",
"Lcom/bumptech/glide/load/ResourceDecoder<",
"TDataType;",
"Landroid/graphics/Bitmap;",
">;)V"
}
.end annotation
.line 31
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 32
invoke-static {p1}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/content/res/Resources;
iput-object p1, p0, Lcom/bumptech/glide/load/resource/bitmap/BitmapDrawableDecoder;->resources:Landroid/content/res/Resources;
.line 33
invoke-static {p2}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;
iput-object p1, p0, Lcom/bumptech/glide/load/resource/bitmap/BitmapDrawableDecoder;->bitmapPool:Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;
.line 34
invoke-static {p3}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/bumptech/glide/load/ResourceDecoder;
iput-object p1, p0, Lcom/bumptech/glide/load/resource/bitmap/BitmapDrawableDecoder;->decoder:Lcom/bumptech/glide/load/ResourceDecoder;
return-void
.end method
# virtual methods
.method public decode(Ljava/lang/Object;IILcom/bumptech/glide/load/Options;)Lcom/bumptech/glide/load/engine/Resource;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(TDataType;II",
"Lcom/bumptech/glide/load/Options;",
")",
"Lcom/bumptech/glide/load/engine/Resource<",
"Landroid/graphics/drawable/BitmapDrawable;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 45
iget-object v0, p0, Lcom/bumptech/glide/load/resource/bitmap/BitmapDrawableDecoder;->decoder:Lcom/bumptech/glide/load/ResourceDecoder;
invoke-interface {v0, p1, p2, p3, p4}, Lcom/bumptech/glide/load/ResourceDecoder;->decode(Ljava/lang/Object;IILcom/bumptech/glide/load/Options;)Lcom/bumptech/glide/load/engine/Resource;
move-result-object p1
if-nez p1, :cond_a
const/4 p1, 0x0
return-object p1
.line 50
:cond_a
iget-object p2, p0, Lcom/bumptech/glide/load/resource/bitmap/BitmapDrawableDecoder;->resources:Landroid/content/res/Resources;
iget-object p3, p0, Lcom/bumptech/glide/load/resource/bitmap/BitmapDrawableDecoder;->bitmapPool:Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;
invoke-interface {p1}, Lcom/bumptech/glide/load/engine/Resource;->get()Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/graphics/Bitmap;
invoke-static {p2, p3, p1}, Lcom/bumptech/glide/load/resource/bitmap/LazyBitmapDrawableResource;->obtain(Landroid/content/res/Resources;Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool;Landroid/graphics/Bitmap;)Lcom/bumptech/glide/load/resource/bitmap/LazyBitmapDrawableResource;
move-result-object p1
return-object p1
.end method
.method public handles(Ljava/lang/Object;Lcom/bumptech/glide/load/Options;)Z
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(TDataType;",
"Lcom/bumptech/glide/load/Options;",
")Z"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 39
iget-object v0, p0, Lcom/bumptech/glide/load/resource/bitmap/BitmapDrawableDecoder;->decoder:Lcom/bumptech/glide/load/ResourceDecoder;
invoke-interface {v0, p1, p2}, Lcom/bumptech/glide/load/ResourceDecoder;->handles(Ljava/lang/Object;Lcom/bumptech/glide/load/Options;)Z
move-result p1
return p1
.end method