Weather/smali_classes4/pl/droidsonroids/gif/GifDrawable.smali
2021-05-10 10:13:34 +02:00

1186 lines
29 KiB
Smali

.class public Lpl/droidsonroids/gif/GifDrawable;
.super Landroid/graphics/drawable/Drawable;
.source "GifDrawable.java"
# interfaces
.implements Landroid/graphics/drawable/Animatable;
.implements Landroid/widget/MediaController$MediaPlayerControl;
# instance fields
.field final a:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
.field volatile b:Z
.field c:J
.field protected final d:Landroid/graphics/Paint;
.field final e:Landroid/graphics/Bitmap;
.field final f:Lpl/droidsonroids/gif/GifInfoHandle;
.field final g:Ljava/util/concurrent/ConcurrentLinkedQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentLinkedQueue<",
"Lpl/droidsonroids/gif/AnimationListener;",
">;"
}
.end annotation
.end field
.field final h:Z
.field final i:Lpl/droidsonroids/gif/InvalidationHandler;
.field private final j:Landroid/graphics/Rect;
.field private k:Landroid/content/res/ColorStateList;
.field private l:Landroid/graphics/PorterDuffColorFilter;
.field private m:Landroid/graphics/PorterDuff$Mode;
.field private final n:Ljava/lang/Runnable;
.field private final o:Landroid/graphics/Rect;
# direct methods
.method public constructor <init>(Ljava/io/File;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 135
invoke-virtual {p1}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object p1
const/4 v0, 0x0
invoke-static {p1, v0}, Lpl/droidsonroids/gif/GifInfoHandle;->openFile(Ljava/lang/String;Z)Lpl/droidsonroids/gif/GifInfoHandle;
move-result-object p1
const/4 v0, 0x0
const/4 v1, 0x1
invoke-direct {p0, p1, v0, v0, v1}, Lpl/droidsonroids/gif/GifDrawable;-><init>(Lpl/droidsonroids/gif/GifInfoHandle;Lpl/droidsonroids/gif/GifDrawable;Ljava/util/concurrent/ScheduledThreadPoolExecutor;Z)V
return-void
.end method
.method public constructor <init>(Ljava/lang/String;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
.line 121
invoke-static {p1, v0}, Lpl/droidsonroids/gif/GifInfoHandle;->openFile(Ljava/lang/String;Z)Lpl/droidsonroids/gif/GifInfoHandle;
move-result-object p1
const/4 v0, 0x0
const/4 v1, 0x1
invoke-direct {p0, p1, v0, v0, v1}, Lpl/droidsonroids/gif/GifDrawable;-><init>(Lpl/droidsonroids/gif/GifInfoHandle;Lpl/droidsonroids/gif/GifDrawable;Ljava/util/concurrent/ScheduledThreadPoolExecutor;Z)V
return-void
.end method
.method constructor <init>(Lpl/droidsonroids/gif/GifInfoHandle;Lpl/droidsonroids/gif/GifDrawable;Ljava/util/concurrent/ScheduledThreadPoolExecutor;Z)V
.locals 2
.line 237
invoke-direct {p0}, Landroid/graphics/drawable/Drawable;-><init>()V
const/4 v0, 0x1
.line 47
iput-boolean v0, p0, Lpl/droidsonroids/gif/GifDrawable;->b:Z
const-wide/high16 v0, -0x8000000000000000L
.line 48
iput-wide v0, p0, Lpl/droidsonroids/gif/GifDrawable;->c:J
.line 50
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
iput-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->j:Landroid/graphics/Rect;
.line 54
new-instance v0, Landroid/graphics/Paint;
const/4 v1, 0x6
invoke-direct {v0, v1}, Landroid/graphics/Paint;-><init>(I)V
iput-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->d:Landroid/graphics/Paint;
.line 61
new-instance v0, Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-direct {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;-><init>()V
iput-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->g:Ljava/util/concurrent/ConcurrentLinkedQueue;
.line 68
new-instance v0, Lpl/droidsonroids/gif/RenderTask;
invoke-direct {v0, p0}, Lpl/droidsonroids/gif/RenderTask;-><init>(Lpl/droidsonroids/gif/GifDrawable;)V
iput-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->n:Ljava/lang/Runnable;
.line 240
iput-boolean p4, p0, Lpl/droidsonroids/gif/GifDrawable;->h:Z
if-eqz p3, :cond_0
goto :goto_0
.line 242
:cond_0
invoke-static {}, Lpl/droidsonroids/gif/GifRenderingExecutor;->a()Lpl/droidsonroids/gif/GifRenderingExecutor;
move-result-object p3
.line 241
:goto_0
iput-object p3, p0, Lpl/droidsonroids/gif/GifDrawable;->a:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
.line 243
iput-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
const/4 p1, 0x0
const/4 p3, 0x0
if-eqz p2, :cond_2
.line 246
iget-object p4, p2, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
monitor-enter p4
.line 247
:try_start_0
iget-object v0, p2, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->j()Z
move-result v0
if-nez v0, :cond_1
.line 248
iget-object v0, p2, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget v0, v0, Lpl/droidsonroids/gif/GifInfoHandle;->b:I
iget-object v1, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget v1, v1, Lpl/droidsonroids/gif/GifInfoHandle;->b:I
if-lt v0, v1, :cond_1
.line 249
iget-object v0, p2, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget v0, v0, Lpl/droidsonroids/gif/GifInfoHandle;->a:I
iget-object v1, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget v1, v1, Lpl/droidsonroids/gif/GifInfoHandle;->a:I
if-lt v0, v1, :cond_1
.line 250
invoke-direct {p2}, Lpl/droidsonroids/gif/GifDrawable;->e()V
.line 251
iget-object p1, p2, Lpl/droidsonroids/gif/GifDrawable;->e:Landroid/graphics/Bitmap;
.line 252
invoke-virtual {p1, p3}, Landroid/graphics/Bitmap;->eraseColor(I)V
.line 246
:cond_1
monitor-exit p4
goto :goto_1
:catchall_0
move-exception p1
monitor-exit p4
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p1
.line 257
:cond_2
:goto_1
iget-object p2, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
monitor-enter p2
if-nez p1, :cond_3
.line 259
:try_start_1
iget-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget p1, p1, Lpl/droidsonroids/gif/GifInfoHandle;->a:I
.line 260
iget-object p4, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget p4, p4, Lpl/droidsonroids/gif/GifInfoHandle;->b:I
sget-object v0, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
.line 259
invoke-static {p1, p4, v0}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object p1
iput-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->e:Landroid/graphics/Bitmap;
goto :goto_2
:catchall_1
move-exception p1
goto :goto_4
.line 262
:cond_3
iput-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->e:Landroid/graphics/Bitmap;
.line 257
:goto_2
monitor-exit p2
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
.line 266
new-instance p1, Landroid/graphics/Rect;
iget-object p2, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget p2, p2, Lpl/droidsonroids/gif/GifInfoHandle;->a:I
.line 267
iget-object p4, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget p4, p4, Lpl/droidsonroids/gif/GifInfoHandle;->b:I
invoke-direct {p1, p3, p3, p2, p4}, Landroid/graphics/Rect;-><init>(IIII)V
.line 266
iput-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->o:Landroid/graphics/Rect;
.line 268
new-instance p1, Lpl/droidsonroids/gif/InvalidationHandler;
invoke-direct {p1, p0}, Lpl/droidsonroids/gif/InvalidationHandler;-><init>(Lpl/droidsonroids/gif/GifDrawable;)V
iput-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->i:Lpl/droidsonroids/gif/InvalidationHandler;
.line 269
iget-boolean p1, p0, Lpl/droidsonroids/gif/GifDrawable;->h:Z
if-eqz p1, :cond_4
const-wide/16 p1, 0x0
.line 270
iput-wide p1, p0, Lpl/droidsonroids/gif/GifDrawable;->c:J
goto :goto_3
.line 272
:cond_4
iget-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->a:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
iget-object p2, p0, Lpl/droidsonroids/gif/GifDrawable;->n:Ljava/lang/Runnable;
invoke-virtual {p1, p2}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
:goto_3
return-void
.line 257
:goto_4
:try_start_2
monitor-exit p2
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
throw p1
.end method
.method private a(Landroid/content/res/ColorStateList;Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuffColorFilter;
.locals 2
if-eqz p1, :cond_1
if-nez p2, :cond_0
goto :goto_0
.line 892
:cond_0
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifDrawable;->getState()[I
move-result-object v0
const/4 v1, 0x0
invoke-virtual {p1, v0, v1}, Landroid/content/res/ColorStateList;->getColorForState([II)I
move-result p1
.line 893
new-instance v0, Landroid/graphics/PorterDuffColorFilter;
invoke-direct {v0, p1, p2}, Landroid/graphics/PorterDuffColorFilter;-><init>(ILandroid/graphics/PorterDuff$Mode;)V
return-object v0
:cond_1
:goto_0
const/4 p1, 0x0
return-object p1
.end method
.method private e()V
.locals 2
const/4 v0, 0x0
.line 288
iput-boolean v0, p0, Lpl/droidsonroids/gif/GifDrawable;->b:Z
.line 289
iget-object v1, p0, Lpl/droidsonroids/gif/GifDrawable;->i:Lpl/droidsonroids/gif/InvalidationHandler;
invoke-virtual {v1, v0}, Lpl/droidsonroids/gif/InvalidationHandler;->removeMessages(I)V
.line 290
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->a()V
return-void
.end method
# virtual methods
.method a(J)V
.locals 3
const-wide/16 v0, 0x0
cmp-long v2, p1, v0
if-ltz v2, :cond_1
.line 343
iget-boolean v2, p0, Lpl/droidsonroids/gif/GifDrawable;->h:Z
if-eqz v2, :cond_0
.line 344
iput-wide v0, p0, Lpl/droidsonroids/gif/GifDrawable;->c:J
.line 345
iget-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->i:Lpl/droidsonroids/gif/InvalidationHandler;
const/4 p2, 0x0
invoke-virtual {p1, p2, v0, v1}, Lpl/droidsonroids/gif/InvalidationHandler;->sendEmptyMessageAtTime(IJ)Z
goto :goto_0
.line 348
:cond_0
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->a:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
invoke-virtual {v0}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->getQueue()Ljava/util/concurrent/BlockingQueue;
move-result-object v0
iget-object v1, p0, Lpl/droidsonroids/gif/GifDrawable;->n:Ljava/lang/Runnable;
invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->remove(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_0
.line 350
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->a:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
iget-object v1, p0, Lpl/droidsonroids/gif/GifDrawable;->n:Ljava/lang/Runnable;
.line 351
sget-object v2, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
.line 350
invoke-virtual {v0, v1, p1, p2, v2}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
:cond_1
:goto_0
return-void
.end method
.method public a()Z
.locals 1
.line 297
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->j()Z
move-result v0
return v0
.end method
.method public b()V
.locals 2
.line 361
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->a:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
new-instance v1, Lpl/droidsonroids/gif/GifDrawable$1;
invoke-direct {v1, p0, p0}, Lpl/droidsonroids/gif/GifDrawable$1;-><init>(Lpl/droidsonroids/gif/GifDrawable;Lpl/droidsonroids/gif/GifDrawable;)V
invoke-virtual {v0, v1}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
return-void
.end method
.method public c()I
.locals 1
.line 437
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget v0, v0, Lpl/droidsonroids/gif/GifInfoHandle;->c:I
return v0
.end method
.method public canPause()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public canSeekBackward()Z
.locals 2
.line 658
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifDrawable;->c()I
move-result v0
const/4 v1, 0x1
if-le v0, v1, :cond_0
return v1
:cond_0
const/4 v0, 0x0
return v0
.end method
.method public canSeekForward()Z
.locals 2
.line 668
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifDrawable;->c()I
move-result v0
const/4 v1, 0x1
if-le v0, v1, :cond_0
return v1
:cond_0
const/4 v0, 0x0
return v0
.end method
.method public d()I
.locals 1
.line 959
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->i()I
move-result v0
return v0
.end method
.method public draw(Landroid/graphics/Canvas;)V
.locals 8
.line 783
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->l:Landroid/graphics/PorterDuffColorFilter;
if-eqz v0, :cond_0
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->d:Landroid/graphics/Paint;
invoke-virtual {v0}, Landroid/graphics/Paint;->getColorFilter()Landroid/graphics/ColorFilter;
move-result-object v0
if-nez v0, :cond_0
.line 784
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->d:Landroid/graphics/Paint;
iget-object v1, p0, Lpl/droidsonroids/gif/GifDrawable;->l:Landroid/graphics/PorterDuffColorFilter;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
.line 789
:goto_0
iget-object v1, p0, Lpl/droidsonroids/gif/GifDrawable;->d:Landroid/graphics/Paint;
invoke-virtual {v1}, Landroid/graphics/Paint;->getShader()Landroid/graphics/Shader;
move-result-object v1
if-nez v1, :cond_1
.line 790
iget-object v1, p0, Lpl/droidsonroids/gif/GifDrawable;->e:Landroid/graphics/Bitmap;
iget-object v2, p0, Lpl/droidsonroids/gif/GifDrawable;->o:Landroid/graphics/Rect;
iget-object v3, p0, Lpl/droidsonroids/gif/GifDrawable;->j:Landroid/graphics/Rect;
iget-object v4, p0, Lpl/droidsonroids/gif/GifDrawable;->d:Landroid/graphics/Paint;
invoke-virtual {p1, v1, v2, v3, v4}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
goto :goto_1
.line 792
:cond_1
iget-object v1, p0, Lpl/droidsonroids/gif/GifDrawable;->j:Landroid/graphics/Rect;
iget-object v2, p0, Lpl/droidsonroids/gif/GifDrawable;->d:Landroid/graphics/Paint;
invoke-virtual {p1, v1, v2}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
:goto_1
if-eqz v0, :cond_2
.line 795
iget-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->d:Landroid/graphics/Paint;
const/4 v0, 0x0
invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;
.line 798
:cond_2
iget-boolean p1, p0, Lpl/droidsonroids/gif/GifDrawable;->h:Z
if-eqz p1, :cond_3
iget-boolean p1, p0, Lpl/droidsonroids/gif/GifDrawable;->b:Z
if-eqz p1, :cond_3
.line 799
iget-wide v0, p0, Lpl/droidsonroids/gif/GifDrawable;->c:J
const-wide/high16 v2, -0x8000000000000000L
cmp-long p1, v0, v2
if-eqz p1, :cond_3
const-wide/16 v0, 0x0
.line 800
iget-wide v4, p0, Lpl/droidsonroids/gif/GifDrawable;->c:J
.line 801
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v6
sub-long/2addr v4, v6
.line 800
invoke-static {v0, v1, v4, v5}, Ljava/lang/Math;->max(JJ)J
move-result-wide v0
.line 802
iput-wide v2, p0, Lpl/droidsonroids/gif/GifDrawable;->c:J
.line 803
iget-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->a:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
iget-object v2, p0, Lpl/droidsonroids/gif/GifDrawable;->n:Ljava/lang/Runnable;
sget-object v3, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {p1, v2, v0, v1, v3}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
:cond_3
return-void
.end method
.method public getAlpha()I
.locals 1
.line 817
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->d:Landroid/graphics/Paint;
invoke-virtual {v0}, Landroid/graphics/Paint;->getAlpha()I
move-result v0
return v0
.end method
.method public getAudioSessionId()I
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public getBufferPercentage()I
.locals 1
const/16 v0, 0x64
return v0
.end method
.method public getColorFilter()Landroid/graphics/ColorFilter;
.locals 1
.line 874
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->d:Landroid/graphics/Paint;
invoke-virtual {v0}, Landroid/graphics/Paint;->getColorFilter()Landroid/graphics/ColorFilter;
move-result-object v0
return-object v0
.end method
.method public getCurrentPosition()I
.locals 1
.line 517
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->h()I
move-result v0
return v0
.end method
.method public getDuration()I
.locals 1
.line 506
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->g()I
move-result v0
return v0
.end method
.method public getIntrinsicHeight()I
.locals 1
.line 302
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget v0, v0, Lpl/droidsonroids/gif/GifInfoHandle;->b:I
return v0
.end method
.method public getIntrinsicWidth()I
.locals 1
.line 307
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget v0, v0, Lpl/droidsonroids/gif/GifInfoHandle;->a:I
return v0
.end method
.method public getMinimumHeight()I
.locals 1
.line 834
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget v0, v0, Lpl/droidsonroids/gif/GifInfoHandle;->b:I
return v0
.end method
.method public getMinimumWidth()I
.locals 1
.line 839
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget v0, v0, Lpl/droidsonroids/gif/GifInfoHandle;->a:I
return v0
.end method
.method public getOpacity()I
.locals 1
const/4 v0, -0x2
return v0
.end method
.method public isPlaying()Z
.locals 1
.line 627
iget-boolean v0, p0, Lpl/droidsonroids/gif/GifDrawable;->b:Z
return v0
.end method
.method public isRunning()Z
.locals 1
.line 387
iget-boolean v0, p0, Lpl/droidsonroids/gif/GifDrawable;->b:Z
return v0
.end method
.method public isStateful()Z
.locals 1
.line 919
invoke-super {p0}, Landroid/graphics/drawable/Drawable;->isStateful()Z
move-result v0
if-nez v0, :cond_1
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->k:Landroid/content/res/ColorStateList;
if-eqz v0, :cond_0
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->k:Landroid/content/res/ColorStateList;
invoke-virtual {v0}, Landroid/content/res/ColorStateList;->isStateful()Z
move-result v0
if-nez v0, :cond_1
:cond_0
const/4 v0, 0x0
return v0
:cond_1
const/4 v0, 0x1
return v0
.end method
.method protected onBoundsChange(Landroid/graphics/Rect;)V
.locals 1
.line 771
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->j:Landroid/graphics/Rect;
invoke-virtual {v0, p1}, Landroid/graphics/Rect;->set(Landroid/graphics/Rect;)V
return-void
.end method
.method protected onStateChange([I)Z
.locals 1
.line 910
iget-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->k:Landroid/content/res/ColorStateList;
if-eqz p1, :cond_0
iget-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->m:Landroid/graphics/PorterDuff$Mode;
if-eqz p1, :cond_0
.line 911
iget-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->k:Landroid/content/res/ColorStateList;
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->m:Landroid/graphics/PorterDuff$Mode;
invoke-direct {p0, p1, v0}, Lpl/droidsonroids/gif/GifDrawable;->a(Landroid/content/res/ColorStateList;Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuffColorFilter;
move-result-object p1
iput-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->l:Landroid/graphics/PorterDuffColorFilter;
const/4 p1, 0x1
return p1
:cond_0
const/4 p1, 0x0
return p1
.end method
.method public pause()V
.locals 0
.line 491
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifDrawable;->stop()V
return-void
.end method
.method public seekTo(I)V
.locals 2
if-ltz p1, :cond_0
.line 542
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->a:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
new-instance v1, Lpl/droidsonroids/gif/GifDrawable$2;
invoke-direct {v1, p0, p0, p1}, Lpl/droidsonroids/gif/GifDrawable$2;-><init>(Lpl/droidsonroids/gif/GifDrawable;Lpl/droidsonroids/gif/GifDrawable;I)V
invoke-virtual {v0, v1}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
return-void
.line 540
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Position is not positive"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setAlpha(I)V
.locals 1
.line 312
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->d:Landroid/graphics/Paint;
invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setAlpha(I)V
return-void
.end method
.method public setColorFilter(Landroid/graphics/ColorFilter;)V
.locals 1
.line 317
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->d:Landroid/graphics/Paint;
invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;
return-void
.end method
.method public setDither(Z)V
.locals 1
.line 828
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->d:Landroid/graphics/Paint;
invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setDither(Z)V
.line 829
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifDrawable;->invalidateSelf()V
return-void
.end method
.method public setFilterBitmap(Z)V
.locals 1
.line 822
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->d:Landroid/graphics/Paint;
invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setFilterBitmap(Z)V
.line 823
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifDrawable;->invalidateSelf()V
return-void
.end method
.method public setTintList(Landroid/content/res/ColorStateList;)V
.locals 1
.line 897
iput-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->k:Landroid/content/res/ColorStateList;
.line 898
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->m:Landroid/graphics/PorterDuff$Mode;
invoke-direct {p0, p1, v0}, Lpl/droidsonroids/gif/GifDrawable;->a(Landroid/content/res/ColorStateList;Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuffColorFilter;
move-result-object p1
iput-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->l:Landroid/graphics/PorterDuffColorFilter;
.line 899
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifDrawable;->invalidateSelf()V
return-void
.end method
.method public setTintMode(Landroid/graphics/PorterDuff$Mode;)V
.locals 1
.line 903
iput-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->m:Landroid/graphics/PorterDuff$Mode;
.line 904
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->k:Landroid/content/res/ColorStateList;
invoke-direct {p0, v0, p1}, Lpl/droidsonroids/gif/GifDrawable;->a(Landroid/content/res/ColorStateList;Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuffColorFilter;
move-result-object p1
iput-object p1, p0, Lpl/droidsonroids/gif/GifDrawable;->l:Landroid/graphics/PorterDuffColorFilter;
.line 905
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifDrawable;->invalidateSelf()V
return-void
.end method
.method public setVisible(ZZ)Z
.locals 1
.line 938
invoke-super {p0, p1, p2}, Landroid/graphics/drawable/Drawable;->setVisible(ZZ)Z
move-result v0
if-eqz p1, :cond_1
if-eqz p2, :cond_0
.line 941
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifDrawable;->b()V
:cond_0
if-eqz v0, :cond_2
.line 944
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifDrawable;->start()V
goto :goto_0
:cond_1
if-eqz v0, :cond_2
.line 947
invoke-virtual {p0}, Lpl/droidsonroids/gif/GifDrawable;->stop()V
:cond_2
:goto_0
return v0
.end method
.method public start()V
.locals 2
const/4 v0, 0x1
.line 336
iput-boolean v0, p0, Lpl/droidsonroids/gif/GifDrawable;->b:Z
.line 337
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->b()J
move-result-wide v0
.line 338
invoke-virtual {p0, v0, v1}, Lpl/droidsonroids/gif/GifDrawable;->a(J)V
return-void
.end method
.method public stop()V
.locals 2
const/4 v0, 0x0
.line 377
iput-boolean v0, p0, Lpl/droidsonroids/gif/GifDrawable;->b:Z
.line 378
iget-object v1, p0, Lpl/droidsonroids/gif/GifDrawable;->i:Lpl/droidsonroids/gif/InvalidationHandler;
invoke-virtual {v1, v0}, Lpl/droidsonroids/gif/InvalidationHandler;->removeMessages(I)V
.line 380
:cond_0
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->a:Ljava/util/concurrent/ScheduledThreadPoolExecutor;
invoke-virtual {v0}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->getQueue()Ljava/util/concurrent/BlockingQueue;
move-result-object v0
iget-object v1, p0, Lpl/droidsonroids/gif/GifDrawable;->n:Ljava/lang/Runnable;
invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->remove(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_0
.line 382
iget-object v0, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v0}, Lpl/droidsonroids/gif/GifInfoHandle;->d()V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 5
.line 426
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v1, "GIF: size: %dx%d, frames: %d, error: %d"
const/4 v2, 0x4
.line 427
new-array v2, v2, [Ljava/lang/Object;
.line 428
iget-object v3, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget v3, v3, Lpl/droidsonroids/gif/GifInfoHandle;->a:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
const/4 v4, 0x0
aput-object v3, v2, v4
iget-object v3, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget v3, v3, Lpl/droidsonroids/gif/GifInfoHandle;->b:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
const/4 v4, 0x1
aput-object v3, v2, v4
.line 429
iget-object v3, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
iget v3, v3, Lpl/droidsonroids/gif/GifInfoHandle;->c:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
const/4 v4, 0x2
aput-object v3, v2, v4
.line 430
iget-object v3, p0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle;
invoke-virtual {v3}, Lpl/droidsonroids/gif/GifInfoHandle;->f()I
move-result v3
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
const/4 v4, 0x3
aput-object v3, v2, v4
.line 426
invoke-static {v0, v1, v2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method