ImageHeaderParserUtils.smali
.class public final Lcom/bumptech/glide/load/ImageHeaderParserUtils;
.super Ljava/lang/Object;
.source "ImageHeaderParserUtils.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/bumptech/glide/load/ImageHeaderParserUtils$OrientationReader;,
Lcom/bumptech/glide/load/ImageHeaderParserUtils$TypeReader;
}
.end annotation
# static fields
.field private static final MARK_READ_LIMIT:I = 0x500000
# direct methods
.method private constructor <init>()V
.registers 1
.line 23
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getOrientation(Ljava/util/List;Lcom/bumptech/glide/load/data/ParcelFileDescriptorRewinder;Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;)I
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/bumptech/glide/load/ImageHeaderParser;",
">;",
"Lcom/bumptech/glide/load/data/ParcelFileDescriptorRewinder;",
"Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;",
")I"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 162
new-instance v0, Lcom/bumptech/glide/load/ImageHeaderParserUtils$5;
invoke-direct {v0, p1, p2}, Lcom/bumptech/glide/load/ImageHeaderParserUtils$5;-><init>(Lcom/bumptech/glide/load/data/ParcelFileDescriptorRewinder;Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;)V
invoke-static {p0, v0}, Lcom/bumptech/glide/load/ImageHeaderParserUtils;->getOrientationInternal(Ljava/util/List;Lcom/bumptech/glide/load/ImageHeaderParserUtils$OrientationReader;)I
move-result p0
return p0
.end method
.method public static getOrientation(Ljava/util/List;Ljava/io/InputStream;Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;)I
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/bumptech/glide/load/ImageHeaderParser;",
">;",
"Ljava/io/InputStream;",
"Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;",
")I"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-nez p1, :cond_4
const/4 p0, -0x1
return p0
.line 136
:cond_4
invoke-virtual {p1}, Ljava/io/InputStream;->markSupported()Z
move-result v0
if-nez v0, :cond_10
.line 137
new-instance v0, Lcom/bumptech/glide/load/resource/bitmap/RecyclableBufferedInputStream;
invoke-direct {v0, p1, p2}, Lcom/bumptech/glide/load/resource/bitmap/RecyclableBufferedInputStream;-><init>(Ljava/io/InputStream;Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;)V
move-object p1, v0
:cond_10
const/high16 v0, 0x500000
.line 140
invoke-virtual {p1, v0}, Ljava/io/InputStream;->mark(I)V
.line 142
new-instance v0, Lcom/bumptech/glide/load/ImageHeaderParserUtils$4;
invoke-direct {v0, p1, p2}, Lcom/bumptech/glide/load/ImageHeaderParserUtils$4;-><init>(Ljava/io/InputStream;Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;)V
invoke-static {p0, v0}, Lcom/bumptech/glide/load/ImageHeaderParserUtils;->getOrientationInternal(Ljava/util/List;Lcom/bumptech/glide/load/ImageHeaderParserUtils$OrientationReader;)I
move-result p0
return p0
.end method
.method private static getOrientationInternal(Ljava/util/List;Lcom/bumptech/glide/load/ImageHeaderParserUtils$OrientationReader;)I
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/bumptech/glide/load/ImageHeaderParser;",
">;",
"Lcom/bumptech/glide/load/ImageHeaderParserUtils$OrientationReader;",
")I"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 194
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x0
:goto_5
const/4 v2, -0x1
if-ge v1, v0, :cond_18
.line 195
invoke-interface {p0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/bumptech/glide/load/ImageHeaderParser;
.line 196
invoke-interface {p1, v3}, Lcom/bumptech/glide/load/ImageHeaderParserUtils$OrientationReader;->getOrientation(Lcom/bumptech/glide/load/ImageHeaderParser;)I
move-result v3
if-eq v3, v2, :cond_15
return v3
:cond_15
add-int/lit8 v1, v1, 0x1
goto :goto_5
:cond_18
return v2
.end method
.method public static getType(Ljava/util/List;Lcom/bumptech/glide/load/data/ParcelFileDescriptorRewinder;Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;)Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/bumptech/glide/load/ImageHeaderParser;",
">;",
"Lcom/bumptech/glide/load/data/ParcelFileDescriptorRewinder;",
"Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;",
")",
"Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 82
new-instance v0, Lcom/bumptech/glide/load/ImageHeaderParserUtils$3;
invoke-direct {v0, p1, p2}, Lcom/bumptech/glide/load/ImageHeaderParserUtils$3;-><init>(Lcom/bumptech/glide/load/data/ParcelFileDescriptorRewinder;Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;)V
invoke-static {p0, v0}, Lcom/bumptech/glide/load/ImageHeaderParserUtils;->getTypeInternal(Ljava/util/List;Lcom/bumptech/glide/load/ImageHeaderParserUtils$TypeReader;)Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;
move-result-object p0
return-object p0
.end method
.method public static getType(Ljava/util/List;Ljava/io/InputStream;Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;)Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/bumptech/glide/load/ImageHeaderParser;",
">;",
"Ljava/io/InputStream;",
"Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;",
")",
"Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-nez p1, :cond_5
.line 33
sget-object p0, Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;->UNKNOWN:Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;
return-object p0
.line 36
:cond_5
invoke-virtual {p1}, Ljava/io/InputStream;->markSupported()Z
move-result v0
if-nez v0, :cond_11
.line 37
new-instance v0, Lcom/bumptech/glide/load/resource/bitmap/RecyclableBufferedInputStream;
invoke-direct {v0, p1, p2}, Lcom/bumptech/glide/load/resource/bitmap/RecyclableBufferedInputStream;-><init>(Ljava/io/InputStream;Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;)V
move-object p1, v0
:cond_11
const/high16 p2, 0x500000
.line 40
invoke-virtual {p1, p2}, Ljava/io/InputStream;->mark(I)V
.line 42
new-instance p2, Lcom/bumptech/glide/load/ImageHeaderParserUtils$1;
invoke-direct {p2, p1}, Lcom/bumptech/glide/load/ImageHeaderParserUtils$1;-><init>(Ljava/io/InputStream;)V
invoke-static {p0, p2}, Lcom/bumptech/glide/load/ImageHeaderParserUtils;->getTypeInternal(Ljava/util/List;Lcom/bumptech/glide/load/ImageHeaderParserUtils$TypeReader;)Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;
move-result-object p0
return-object p0
.end method
.method public static getType(Ljava/util/List;Ljava/nio/ByteBuffer;)Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/bumptech/glide/load/ImageHeaderParser;",
">;",
"Ljava/nio/ByteBuffer;",
")",
"Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-nez p1, :cond_5
.line 62
sget-object p0, Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;->UNKNOWN:Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;
return-object p0
.line 65
:cond_5
new-instance v0, Lcom/bumptech/glide/load/ImageHeaderParserUtils$2;
invoke-direct {v0, p1}, Lcom/bumptech/glide/load/ImageHeaderParserUtils$2;-><init>(Ljava/nio/ByteBuffer;)V
invoke-static {p0, v0}, Lcom/bumptech/glide/load/ImageHeaderParserUtils;->getTypeInternal(Ljava/util/List;Lcom/bumptech/glide/load/ImageHeaderParserUtils$TypeReader;)Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;
move-result-object p0
return-object p0
.end method
.method private static getTypeInternal(Ljava/util/List;Lcom/bumptech/glide/load/ImageHeaderParserUtils$TypeReader;)Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/bumptech/glide/load/ImageHeaderParser;",
">;",
"Lcom/bumptech/glide/load/ImageHeaderParserUtils$TypeReader;",
")",
"Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 115
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x0
:goto_5
if-ge v1, v0, :cond_19
.line 116
invoke-interface {p0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/bumptech/glide/load/ImageHeaderParser;
.line 117
invoke-interface {p1, v2}, Lcom/bumptech/glide/load/ImageHeaderParserUtils$TypeReader;->getType(Lcom/bumptech/glide/load/ImageHeaderParser;)Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;
move-result-object v2
.line 118
sget-object v3, Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;->UNKNOWN:Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;
if-eq v2, v3, :cond_16
return-object v2
:cond_16
add-int/lit8 v1, v1, 0x1
goto :goto_5
.line 123
:cond_19
sget-object p0, Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;->UNKNOWN:Lcom/bumptech/glide/load/ImageHeaderParser$ImageType;
return-object p0
.end method