.class Lpl/droidsonroids/gif/RenderTask; .super Lpl/droidsonroids/gif/SafeRunnable; .source "RenderTask.java" # instance fields .field private final a:Ljava/lang/Runnable; # direct methods .method constructor (Lpl/droidsonroids/gif/GifDrawable;)V .locals 0 .line 10 invoke-direct {p0, p1}, Lpl/droidsonroids/gif/SafeRunnable;->(Lpl/droidsonroids/gif/GifDrawable;)V .line 13 new-instance p1, Lpl/droidsonroids/gif/RenderTask$1; invoke-direct {p1, p0}, Lpl/droidsonroids/gif/RenderTask$1;->(Lpl/droidsonroids/gif/RenderTask;)V iput-object p1, p0, Lpl/droidsonroids/gif/RenderTask;->a:Ljava/lang/Runnable; return-void .end method # virtual methods .method public a()V .locals 8 .line 23 iget-object v0, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; iget-object v0, v0, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle; iget-object v1, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; iget-object v1, v1, Lpl/droidsonroids/gif/GifDrawable;->e:Landroid/graphics/Bitmap; invoke-virtual {v0, v1}, Lpl/droidsonroids/gif/GifInfoHandle;->a(Landroid/graphics/Bitmap;)J move-result-wide v0 const-wide/16 v2, 0x0 const/4 v4, 0x0 cmp-long v5, v0, v2 if-ltz v5, :cond_1 .line 25 iget-object v5, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J move-result-wide v6 add-long/2addr v6, v0 iput-wide v6, v5, Lpl/droidsonroids/gif/GifDrawable;->c:J .line 26 iget-object v5, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; invoke-virtual {v5}, Lpl/droidsonroids/gif/GifDrawable;->isVisible()Z move-result v5 if-eqz v5, :cond_0 .line 27 iget-object v5, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; iget-boolean v5, v5, Lpl/droidsonroids/gif/GifDrawable;->b:Z if-eqz v5, :cond_0 iget-object v5, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; iget-boolean v5, v5, Lpl/droidsonroids/gif/GifDrawable;->h:Z if-nez v5, :cond_0 .line 28 iget-object v5, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; iget-object v5, v5, Lpl/droidsonroids/gif/GifDrawable;->a:Ljava/util/concurrent/ScheduledThreadPoolExecutor; sget-object v6, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; invoke-virtual {v5, p0, v0, v1, v6}, Ljava/util/concurrent/ScheduledThreadPoolExecutor;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture; .line 31 :cond_0 iget-object v0, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; iget-object v0, v0, Lpl/droidsonroids/gif/GifDrawable;->g:Ljava/util/concurrent/ConcurrentLinkedQueue; invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->isEmpty()Z move-result v0 if-nez v0, :cond_2 iget-object v0, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; invoke-virtual {v0}, Lpl/droidsonroids/gif/GifDrawable;->d()I move-result v0 iget-object v1, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; iget-object v1, v1, Lpl/droidsonroids/gif/GifDrawable;->f:Lpl/droidsonroids/gif/GifInfoHandle; iget v1, v1, Lpl/droidsonroids/gif/GifInfoHandle;->c:I add-int/lit8 v1, v1, -0x1 if-ne v0, v1, :cond_2 .line 32 iget-object v0, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; iget-object v1, p0, Lpl/droidsonroids/gif/RenderTask;->a:Ljava/lang/Runnable; iget-object v5, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; iget-wide v5, v5, Lpl/droidsonroids/gif/GifDrawable;->c:J invoke-virtual {v0, v1, v5, v6}, Lpl/droidsonroids/gif/GifDrawable;->scheduleSelf(Ljava/lang/Runnable;J)V goto :goto_0 .line 35 :cond_1 iget-object v0, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; const-wide/high16 v5, -0x8000000000000000L iput-wide v5, v0, Lpl/droidsonroids/gif/GifDrawable;->c:J .line 36 iget-object v0, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; iput-boolean v4, v0, Lpl/droidsonroids/gif/GifDrawable;->b:Z .line 38 :cond_2 :goto_0 iget-object v0, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; invoke-virtual {v0}, Lpl/droidsonroids/gif/GifDrawable;->isVisible()Z move-result v0 if-eqz v0, :cond_3 iget-object v0, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; iget-object v0, v0, Lpl/droidsonroids/gif/GifDrawable;->i:Lpl/droidsonroids/gif/InvalidationHandler; invoke-virtual {v0, v4}, Lpl/droidsonroids/gif/InvalidationHandler;->hasMessages(I)Z move-result v0 if-nez v0, :cond_3 .line 39 iget-object v0, p0, Lpl/droidsonroids/gif/RenderTask;->b:Lpl/droidsonroids/gif/GifDrawable; iget-object v0, v0, Lpl/droidsonroids/gif/GifDrawable;->i:Lpl/droidsonroids/gif/InvalidationHandler; invoke-virtual {v0, v4, v2, v3}, Lpl/droidsonroids/gif/InvalidationHandler;->sendEmptyMessageAtTime(IJ)Z :cond_3 return-void .end method