GifAnimationMetaData.smali
.class public Lpl/droidsonroids/gif/GifAnimationMetaData;
.super Ljava/lang/Object;
.source "GifAnimationMetaData.java"
# interfaces
.implements Landroid/os/Parcelable;
.implements Ljava/io/Serializable;
# 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
.prologue
.line 306
new-instance v0, Lpl/droidsonroids/gif/c;
invoke-direct {v0}, Lpl/droidsonroids/gif/c;-><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 4
.param p1 # Landroid/content/ContentResolver;
.annotation build Landroid/support/annotation/Nullable;
.end annotation
.end param
.param p2 # Landroid/net/Uri;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 162
invoke-static {p1, p2}, Lpl/droidsonroids/gif/GifInfoHandle;->openUri(Landroid/content/ContentResolver;Landroid/net/Uri;)Lpl/droidsonroids/gif/GifInfoHandle;
move-result-object v0
invoke-direct {p0, v0}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Lpl/droidsonroids/gif/GifInfoHandle;)V
.line 163
return-void
.end method
.method public constructor <init>(Landroid/content/res/AssetFileDescriptor;)V
.registers 3
.param p1 # Landroid/content/res/AssetFileDescriptor;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.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
.line 115
return-void
.end method
.method public constructor <init>(Landroid/content/res/AssetManager;Ljava/lang/String;)V
.registers 4
.param p1 # Landroid/content/res/AssetManager;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.param p2 # Ljava/lang/String;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 64
invoke-virtual {p1, p2}, Landroid/content/res/AssetManager;->openFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
move-result-object v0
invoke-direct {p0, v0}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Landroid/content/res/AssetFileDescriptor;)V
.line 65
return-void
.end method
.method public constructor <init>(Landroid/content/res/Resources;I)V
.registers 4
.param p1 # Landroid/content/res/Resources;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.param p2 # I
.annotation build Landroid/support/annotation/DrawableRes;
.end annotation
.annotation build Landroid/support/annotation/RawRes;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/content/res/Resources$NotFoundException;,
Ljava/io/IOException;
}
.end annotation
.prologue
.line 52
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->openRawResourceFd(I)Landroid/content/res/AssetFileDescriptor;
move-result-object v0
invoke-direct {p0, v0}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Landroid/content/res/AssetFileDescriptor;)V
.line 53
return-void
.end method
.method private constructor <init>(Landroid/os/Parcel;)V
.registers 4
.prologue
.line 296
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 297
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mLoopCount:I
.line 298
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mDuration:I
.line 299
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mHeight:I
.line 300
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mWidth:I
.line 301
invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
move-result v0
iput v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mImageCount:I
.line 302
invoke-virtual {p1}, Landroid/os/Parcel;->readLong()J
move-result-wide v0
iput-wide v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mMetadataBytesCount:J
.line 303
invoke-virtual {p1}, Landroid/os/Parcel;->readLong()J
move-result-wide v0
iput-wide v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mPixelsBytesCount:J
.line 304
return-void
.end method
.method synthetic constructor <init>(Landroid/os/Parcel;Lpl/droidsonroids/gif/c;)V
.registers 3
.prologue
.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 3
.param p1 # Ljava/io/File;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.line 89
invoke-virtual {p1}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Lpl/droidsonroids/gif/GifAnimationMetaData;-><init>(Ljava/lang/String;)V
.line 90
return-void
.end method
.method public constructor <init>(Ljava/io/FileDescriptor;)V
.registers 3
.param p1 # Ljava/io/FileDescriptor;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.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
.line 126
return-void
.end method
.method public constructor <init>(Ljava/io/InputStream;)V
.registers 3
.param p1 # Ljava/io/InputStream;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.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
.line 103
return-void
.end method
.method public constructor <init>(Ljava/lang/String;)V
.registers 3
.param p1 # Ljava/lang/String;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.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
.line 79
return-void
.end method
.method public constructor <init>(Ljava/nio/ByteBuffer;)V
.registers 3
.param p1 # Ljava/nio/ByteBuffer;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.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
.line 150
return-void
.end method
.method private constructor <init>(Lpl/droidsonroids/gif/GifInfoHandle;)V
.registers 4
.prologue
.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
.line 174
return-void
.end method
.method public constructor <init>([B)V
.registers 3
.param p1 # [B
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
.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
.line 138
return-void
.end method
# virtual methods
.method public describeContents()I
.registers 2
.prologue
.line 282
const/4 v0, 0x0
return v0
.end method
.method public getAllocationByteCount()J
.registers 3
.prologue
.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 9
.param p1 # Lpl/droidsonroids/gif/GifDrawable;
.annotation build Landroid/support/annotation/Nullable;
.end annotation
.end param
.param p2 # I
.annotation build Landroid/support/annotation/IntRange;
from = 0x1L
to = 0xffffL
.end annotation
.end param
.annotation build Lpl/droidsonroids/gif/annotations/Beta;
.end annotation
.prologue
const v3, 0xffff
.line 246
const/4 v0, 0x1
if-lt p2, v0, :cond_8
if-le p2, v3, :cond_31
.line 247
:cond_8
new-instance v0, 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;
move-result-object v1
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " out of range <1, "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, ">"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 250
:cond_31
mul-int v2, p2, p2
.line 252
if-eqz p1, :cond_57
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_57
.line 253
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x13
if-lt v0, v1, :cond_51
.line 254
iget-object v0, p1, Lpl/droidsonroids/gif/GifDrawable;->mBuffer:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->getAllocationByteCount()I
move-result v0
int-to-long v0, v0
.line 261
:goto_4a
iget-wide v4, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mPixelsBytesCount:J
int-to-long v2, v2
div-long v2, v4, v2
add-long/2addr v0, v2
return-wide v0
.line 256
:cond_51
invoke-virtual {p1}, Lpl/droidsonroids/gif/GifDrawable;->getFrameByteCount()I
move-result v0
int-to-long v0, v0
goto :goto_4a
.line 259
:cond_57
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mWidth:I
iget v1, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mHeight:I
mul-int/2addr v0, v1
mul-int/lit8 v0, v0, 0x4
div-int/2addr v0, v2
int-to-long v0, v0
goto :goto_4a
.end method
.method public getDuration()I
.registers 2
.prologue
.line 212
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mDuration:I
return v0
.end method
.method public getHeight()I
.registers 2
.prologue
.line 187
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mHeight:I
return v0
.end method
.method public getLoopCount()I
.registers 2
.prologue
.line 203
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mLoopCount:I
return v0
.end method
.method public getMetadataAllocationByteCount()J
.registers 3
.prologue
.line 270
iget-wide v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mMetadataBytesCount:J
return-wide v0
.end method
.method public getNumberOfFrames()I
.registers 2
.prologue
.line 194
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mImageCount:I
return v0
.end method
.method public getWidth()I
.registers 2
.prologue
.line 180
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mWidth:I
return v0
.end method
.method public isAnimated()Z
.registers 3
.prologue
const/4 v0, 0x1
.line 219
iget v1, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mImageCount:I
if-le v1, v0, :cond_a
iget v1, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mDuration:I
if-lez v1, :cond_a
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public toString()Ljava/lang/String;
.registers 7
.prologue
.line 275
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mLoopCount:I
if-nez v0, :cond_52
const-string v0, "Infinity"
.line 276
:goto_6
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
const-string v2, "GIF: size: %dx%d, frames: %d, loops: %s, duration: %d"
const/4 v3, 0x5
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
iget v5, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mWidth:I
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
aput-object v5, v3, v4
const/4 v4, 0x1
iget v5, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mHeight:I
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
aput-object v5, v3, v4
const/4 v4, 0x2
iget v5, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mImageCount:I
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
aput-object v5, v3, v4
const/4 v4, 0x3
aput-object v0, v3, v4
const/4 v0, 0x4
iget v4, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mDuration:I
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v3, v0
invoke-static {v1, v2, v3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 277
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifAnimationMetaData;->isAnimated()Z
move-result v1
if-eqz v1, :cond_51
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;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:cond_51
return-object v0
.line 275
:cond_52
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mLoopCount:I
invoke-static {v0}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v0
goto :goto_6
.end method
.method public writeToParcel(Landroid/os/Parcel;I)V
.registers 5
.prologue
.line 287
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mLoopCount:I
invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
.line 288
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mDuration:I
invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
.line 289
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mHeight:I
invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
.line 290
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mWidth:I
invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
.line 291
iget v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mImageCount:I
invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
.line 292
iget-wide v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mMetadataBytesCount:J
invoke-virtual {p1, v0, v1}, Landroid/os/Parcel;->writeLong(J)V
.line 293
iget-wide v0, p0, Lpl/droidsonroids/gif/GifAnimationMetaData;->mPixelsBytesCount:J
invoke-virtual {p1, v0, v1}, Landroid/os/Parcel;->writeLong(J)V
.line 294
return-void
.end method