GifAnimationMetaData.smali
.class public Lpl/droidsonroids/gif/GifAnimationMetaData;
.super Ljava/lang/Object;
.source "GifAnimationMetaData.java"
# interfaces
.implements Ljava/io/Serializable;
.implements Landroid/os/Parcelable;
# static fields
.field public static final CREATOR:Landroid/os/Parcelable$Creator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/os/Parcelable$Creator<",
"Lpl/droidsonroids/gif/GifAnimationMetaData;",
">;"
}
.end annotation
.end field
.field private static final serialVersionUID:J = 0x4eff56d4f010140dL
# instance fields
.field private final mDuration:I
.field private final mHeight:I
.field private final mImageCount:I
.field private final mLoopCount:I
.field private final mMetadataBytesCount:J
.field private final mPixelsBytesCount:J
.field private final mWidth:I
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 307
new-instance v0, Lpl/droidsonroids/gif/GifAnimationMetaData$1;
invoke-direct {v0}, Lpl/droidsonroids/gif/GifAnimationMetaData$1;-><init>()V
sput-object v0, Lpl/droidsonroids/gif/GifAnimationMetaData;->CREATOR:Landroid/os/Parcelable$Creator;
return-void
.end method
.method public constructor <init>(Landroid/content/ContentResolver;Landroid/net/Uri;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 162
invoke-static {p1, p2}, Lpl/droidsonroids/gif/GifInfoHandle;->openUri(Landroid/content/ContentResolver;Landroid/net/Uri;)Lpl/droidsonroids/gif/GifInfoHandle;
move-result-object p1
invoke-direct {p0, p1}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Lpl/droidsonroids/gif/GifInfoHandle;)V
return-void
.end method
.method public constructor <init>(Landroid/content/res/AssetFileDescriptor;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 114
new-instance v0, Lpl/droidsonroids/gif/GifInfoHandle;
invoke-direct {v0, p1}, Lpl/droidsonroids/gif/GifInfoHandle;-><init>(Landroid/content/res/AssetFileDescriptor;)V
invoke-direct {p0, v0}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Lpl/droidsonroids/gif/GifInfoHandle;)V
return-void
.end method
.method public constructor <init>(Landroid/content/res/AssetManager;Ljava/lang/String;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 64
invoke-virtual {p1, p2}, Landroid/content/res/AssetManager;->openFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
move-result-object p1
invoke-direct {p0, p1}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Landroid/content/res/AssetFileDescriptor;)V
return-void
.end method
.method public constructor <init>(Landroid/content/res/Resources;I)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/res/Resources$NotFoundException;,
Ljava/io/IOException;
}
.end annotation
.line 52
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->openRawResourceFd(I)Landroid/content/res/AssetFileDescriptor;
move-result-object p1
invoke-direct {p0, p1}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Landroid/content/res/AssetFileDescriptor;)V
return-void
.end method
.method private constructor <init>(Landroid/os/Parcel;)V
.registers 4
.line 297
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 298
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mLoopCount:I
.line 299
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mDuration:I
.line 300
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mHeight:I
.line 301
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mWidth:I
.line 302
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mImageCount:I
.line 303
invoke-virtual {p1}, Landroid/os/Parcel;->readLong()J
move-result-wide v0
iput-wide v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mMetadataBytesCount:J
.line 304
invoke-virtual {p1}, Landroid/os/Parcel;->readLong()J
move-result-wide v0
iput-wide v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mPixelsBytesCount:J
return-void
.end method
.method synthetic constructor <init>(Landroid/os/Parcel;Lpl/droidsonroids/gif/GifAnimationMetaData$1;)V
.registers 3
.line 31
invoke-direct {p0, p1}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Landroid/os/Parcel;)V
return-void
.end method
.method public constructor <init>(Ljava/io/File;)V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 89
invoke-virtual {p1}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Ljava/lang/String;)V
return-void
.end method
.method public constructor <init>(Ljava/io/FileDescriptor;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 125
new-instance v0, Lpl/droidsonroids/gif/GifInfoHandle;
invoke-direct {v0, p1}, Lpl/droidsonroids/gif/GifInfoHandle;-><init>(Ljava/io/FileDescriptor;)V
invoke-direct {p0, v0}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Lpl/droidsonroids/gif/GifInfoHandle;)V
return-void
.end method
.method public constructor <init>(Ljava/io/InputStream;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 102
new-instance v0, Lpl/droidsonroids/gif/GifInfoHandle;
invoke-direct {v0, p1}, Lpl/droidsonroids/gif/GifInfoHandle;-><init>(Ljava/io/InputStream;)V
invoke-direct {p0, v0}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Lpl/droidsonroids/gif/GifInfoHandle;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/String;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 78
new-instance v0, Lpl/droidsonroids/gif/GifInfoHandle;
invoke-direct {v0, p1}, Lpl/droidsonroids/gif/GifInfoHandle;-><init>(Ljava/lang/String;)V
invoke-direct {p0, v0}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Lpl/droidsonroids/gif/GifInfoHandle;)V
return-void
.end method
.method public constructor <init>(Ljava/nio/ByteBuffer;)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 149
new-instance v0, Lpl/droidsonroids/gif/GifInfoHandle;
invoke-direct {v0, p1}, Lpl/droidsonroids/gif/GifInfoHandle;-><init>(Ljava/nio/ByteBuffer;)V
invoke-direct {p0, v0}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Lpl/droidsonroids/gif/GifInfoHandle;)V
return-void
.end method
.method private constructor <init>(Lpl/droidsonroids/gif/GifInfoHandle;)V
.registers 4
.line 165
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 166
invoke-virtual {p1}, Lpl/droidsonroids/gif/GifInfoHandle;->getLoopCount()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mLoopCount:I
.line 167
invoke-virtual {p1}, Lpl/droidsonroids/gif/GifInfoHandle;->getDuration()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mDuration:I
.line 168
invoke-virtual {p1}, Lpl/droidsonroids/gif/GifInfoHandle;->getWidth()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mWidth:I
.line 169
invoke-virtual {p1}, Lpl/droidsonroids/gif/GifInfoHandle;->getHeight()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mHeight:I
.line 170
invoke-virtual {p1}, Lpl/droidsonroids/gif/GifInfoHandle;->getNumberOfFrames()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mImageCount:I
.line 171
invoke-virtual {p1}, Lpl/droidsonroids/gif/GifInfoHandle;->getMetadataByteCount()J
move-result-wide v0
iput-wide v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mMetadataBytesCount:J
.line 172
invoke-virtual {p1}, Lpl/droidsonroids/gif/GifInfoHandle;->getAllocationByteCount()J
move-result-wide v0
iput-wide v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mPixelsBytesCount:J
.line 173
invoke-virtual {p1}, Lpl/droidsonroids/gif/GifInfoHandle;->recycle()V
return-void
.end method
.method public constructor <init>([B)V
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 137
new-instance v0, Lpl/droidsonroids/gif/GifInfoHandle;
invoke-direct {v0, p1}, Lpl/droidsonroids/gif/GifInfoHandle;-><init>([B)V
invoke-direct {p0, v0}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Lpl/droidsonroids/gif/GifInfoHandle;)V
return-void
.end method
# virtual methods
.method public describeContents()I
.registers 2
const/4 v0, 0x0
return v0
.end method
.method public getAllocationByteCount()J
.registers 3
.line 233
iget-wide v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mPixelsBytesCount:J
return-wide v0
.end method
.method public getDrawableAllocationByteCount(Lpl/droidsonroids/gif/GifDrawable;I)J
.registers 7
const v0, 0xffff
const/4 v1, 0x1
if-lt p2, v1, :cond_34
if-gt p2, v0, :cond_34
mul-int/2addr p2, p2
if-eqz p1, :cond_25
.line 252
iget-object v0, p1, Lpl/droidsonroids/gif/GifDrawable;->mBuffer:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->isRecycled()Z
move-result v0
if-nez v0, :cond_25
.line 253
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x13
if-lt v0, v1, :cond_20
.line 254
iget-object p1, p1, Lpl/droidsonroids/gif/GifDrawable;->mBuffer:Landroid/graphics/Bitmap;
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getAllocationByteCount()I
move-result p1
goto :goto_2d
.line 256
:cond_20
invoke-virtual {p1}, Lpl/droidsonroids/gif/GifDrawable;->getFrameByteCount()I
move-result p1
goto :goto_2d
.line 259
:cond_25
iget p1, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mWidth:I
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mHeight:I
mul-int/2addr p1, v0
mul-int/lit8 p1, p1, 0x4
div-int/2addr p1, p2
:goto_2d
int-to-long v0, p1
.line 261
iget-wide v2, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mPixelsBytesCount:J
int-to-long p1, p2
div-long/2addr v2, p1
add-long/2addr v2, v0
return-wide v2
.line 247
:cond_34
new-instance p1, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Sample size "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p2, " out of range <1, "
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const-string p2, ">"
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public getDuration()I
.registers 2
.line 212
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mDuration:I
return v0
.end method
.method public getHeight()I
.registers 2
.line 187
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mHeight:I
return v0
.end method
.method public getLoopCount()I
.registers 2
.line 203
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mLoopCount:I
return v0
.end method
.method public getMetadataAllocationByteCount()J
.registers 3
.line 270
iget-wide v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mMetadataBytesCount:J
return-wide v0
.end method
.method public getNumberOfFrames()I
.registers 2
.line 194
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mImageCount:I
return v0
.end method
.method public getWidth()I
.registers 2
.line 180
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mWidth:I
return v0
.end method
.method public isAnimated()Z
.registers 3
.line 219
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mImageCount:I
const/4 v1, 0x1
if-le v0, v1, :cond_a
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mDuration:I
if-lez v0, :cond_a
goto :goto_b
:cond_a
const/4 v1, 0x0
:goto_b
return v1
.end method
.method public toString()Ljava/lang/String;
.registers 6
.line 276
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mLoopCount:I
if-nez v0, :cond_7
const-string v0, "Infinity"
goto :goto_b
:cond_7
invoke-static {v0}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v0
.line 277
:goto_b
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
const/4 v2, 0x5
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
iget v4, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mWidth:I
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v2, v3
const/4 v3, 0x1
iget v4, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mHeight:I
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v2, v3
const/4 v3, 0x2
iget v4, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mImageCount:I
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v2, v3
const/4 v3, 0x3
aput-object v0, v2, v3
const/4 v0, 0x4
iget v3, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mDuration:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
aput-object v3, v2, v0
const-string v0, "GIF: size: %dx%d, frames: %d, loops: %s, duration: %d"
invoke-static {v1, v0, v2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 278
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifAnimationMetaData;->isAnimated()Z
move-result v1
if-eqz v1, :cond_54
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Animated "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:cond_54
return-object v0
.end method
.method public writeToParcel(Landroid/os/Parcel;I)V
.registers 5
.line 288
iget p2, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mLoopCount:I
invoke-virtual {p1, p2}, Landroid/os/Parcel;->writeInt(I)V
.line 289
iget p2, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mDuration:I
invoke-virtual {p1, p2}, Landroid/os/Parcel;->writeInt(I)V
.line 290
iget p2, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mHeight:I
invoke-virtual {p1, p2}, Landroid/os/Parcel;->writeInt(I)V
.line 291
iget p2, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mWidth:I
invoke-virtual {p1, p2}, Landroid/os/Parcel;->writeInt(I)V
.line 292
iget p2, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mImageCount:I
invoke-virtual {p1, p2}, Landroid/os/Parcel;->writeInt(I)V
.line 293
iget-wide v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mMetadataBytesCount:J
invoke-virtual {p1, v0, v1}, Landroid/os/Parcel;->writeLong(J)V
.line 294
iget-wide v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mPixelsBytesCount:J
invoke-virtual {p1, v0, v1}, Landroid/os/Parcel;->writeLong(J)V
return-void
.end method