ab.smali
.class public Lcom/ksad/lottie/ab;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field public static a:Ljava/util/concurrent/Executor;
# instance fields
.field private b:Ljava/lang/Thread;
.annotation build Landroid/support/annotation/Nullable;
.end annotation
.end field
.field private final c:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set",
"<",
"Lcom/ksad/lottie/y",
"<TT;>;>;"
}
.end annotation
.end field
.field private final d:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set",
"<",
"Lcom/ksad/lottie/y",
"<",
"Ljava/lang/Throwable;",
">;>;"
}
.end annotation
.end field
.field private final e:Landroid/os/Handler;
.field private final f:Ljava/util/concurrent/FutureTask;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/FutureTask",
"<",
"Lcom/ksad/lottie/aa",
"<TT;>;>;"
}
.end annotation
.end field
.field private volatile g:Lcom/ksad/lottie/aa;
.annotation build Landroid/support/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/ksad/lottie/aa",
"<TT;>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
invoke-static {}, Ljava/util/concurrent/Executors;->newCachedThreadPool()Ljava/util/concurrent/ExecutorService;
move-result-object v0
sput-object v0, Lcom/ksad/lottie/ab;->a:Ljava/util/concurrent/Executor;
return-void
.end method
.method public constructor <init>(Ljava/util/concurrent/Callable;)V
.registers 3
.annotation build Landroid/support/annotation/RestrictTo;
value = {
.enum Landroid/support/annotation/RestrictTo$Scope;->LIBRARY:Landroid/support/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/concurrent/Callable",
"<",
"Lcom/ksad/lottie/aa",
"<TT;>;>;)V"
}
.end annotation
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/ksad/lottie/ab;-><init>(Ljava/util/concurrent/Callable;Z)V
return-void
.end method
.method constructor <init>(Ljava/util/concurrent/Callable;Z)V
.registers 5
.annotation build Landroid/support/annotation/RestrictTo;
value = {
.enum Landroid/support/annotation/RestrictTo$Scope;->LIBRARY:Landroid/support/annotation/RestrictTo$Scope;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/concurrent/Callable",
"<",
"Lcom/ksad/lottie/aa",
"<TT;>;>;Z)V"
}
.end annotation
const/4 v1, 0x1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/LinkedHashSet;
invoke-direct {v0, v1}, Ljava/util/LinkedHashSet;-><init>(I)V
iput-object v0, p0, Lcom/ksad/lottie/ab;->c:Ljava/util/Set;
new-instance v0, Ljava/util/LinkedHashSet;
invoke-direct {v0, v1}, Ljava/util/LinkedHashSet;-><init>(I)V
iput-object v0, p0, Lcom/ksad/lottie/ab;->d:Ljava/util/Set;
new-instance v0, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v0, p0, Lcom/ksad/lottie/ab;->e:Landroid/os/Handler;
const/4 v0, 0x0
iput-object v0, p0, Lcom/ksad/lottie/ab;->g:Lcom/ksad/lottie/aa;
new-instance v0, Ljava/util/concurrent/FutureTask;
invoke-direct {v0, p1}, Ljava/util/concurrent/FutureTask;-><init>(Ljava/util/concurrent/Callable;)V
iput-object v0, p0, Lcom/ksad/lottie/ab;->f:Ljava/util/concurrent/FutureTask;
if-eqz p2, :cond_3d
:try_start_29
invoke-interface {p1}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/ksad/lottie/aa;
invoke-direct {p0, v0}, Lcom/ksad/lottie/ab;->a(Lcom/ksad/lottie/aa;)V
:try_end_32
.catch Ljava/lang/Throwable; {:try_start_29 .. :try_end_32} :catch_33
:goto_32
return-void
:catch_33
move-exception v0
new-instance v1, Lcom/ksad/lottie/aa;
invoke-direct {v1, v0}, Lcom/ksad/lottie/aa;-><init>(Ljava/lang/Throwable;)V
invoke-direct {p0, v1}, Lcom/ksad/lottie/ab;->a(Lcom/ksad/lottie/aa;)V
goto :goto_32
:cond_3d
sget-object v0, Lcom/ksad/lottie/ab;->a:Ljava/util/concurrent/Executor;
iget-object v1, p0, Lcom/ksad/lottie/ab;->f:Ljava/util/concurrent/FutureTask;
invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
invoke-direct {p0}, Lcom/ksad/lottie/ab;->b()V
goto :goto_32
.end method
.method static synthetic a(Lcom/ksad/lottie/ab;)Lcom/ksad/lottie/aa;
.registers 2
iget-object v0, p0, Lcom/ksad/lottie/ab;->g:Lcom/ksad/lottie/aa;
return-object v0
.end method
.method private a()V
.registers 3
iget-object v0, p0, Lcom/ksad/lottie/ab;->e:Landroid/os/Handler;
new-instance v1, Lcom/ksad/lottie/ac;
invoke-direct {v1, p0}, Lcom/ksad/lottie/ac;-><init>(Lcom/ksad/lottie/ab;)V
invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
return-void
.end method
.method private a(Lcom/ksad/lottie/aa;)V
.registers 4
.param p1 # Lcom/ksad/lottie/aa;
.annotation build Landroid/support/annotation/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/ksad/lottie/aa",
"<TT;>;)V"
}
.end annotation
iget-object v0, p0, Lcom/ksad/lottie/ab;->g:Lcom/ksad/lottie/aa;
if-eqz v0, :cond_c
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "A task may only be set once."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_c
iput-object p1, p0, Lcom/ksad/lottie/ab;->g:Lcom/ksad/lottie/aa;
invoke-direct {p0}, Lcom/ksad/lottie/ab;->a()V
return-void
.end method
.method static synthetic a(Lcom/ksad/lottie/ab;Lcom/ksad/lottie/aa;)V
.registers 2
invoke-direct {p0, p1}, Lcom/ksad/lottie/ab;->a(Lcom/ksad/lottie/aa;)V
return-void
.end method
.method static synthetic a(Lcom/ksad/lottie/ab;Ljava/lang/Object;)V
.registers 2
invoke-direct {p0, p1}, Lcom/ksad/lottie/ab;->a(Ljava/lang/Object;)V
return-void
.end method
.method static synthetic a(Lcom/ksad/lottie/ab;Ljava/lang/Throwable;)V
.registers 2
invoke-direct {p0, p1}, Lcom/ksad/lottie/ab;->a(Ljava/lang/Throwable;)V
return-void
.end method
.method private a(Ljava/lang/Object;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
new-instance v0, Ljava/util/ArrayList;
iget-object v1, p0, Lcom/ksad/lottie/ab;->c:Ljava/util/Set;
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_b
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_1b
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/ksad/lottie/y;
invoke-interface {v0, p1}, Lcom/ksad/lottie/y;->a(Ljava/lang/Object;)V
goto :goto_b
:cond_1b
return-void
.end method
.method private a(Ljava/lang/Throwable;)V
.registers 4
new-instance v0, Ljava/util/ArrayList;
iget-object v1, p0, Lcom/ksad/lottie/ab;->d:Ljava/util/Set;
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v1
if-eqz v1, :cond_15
const-string v0, "LOTTIE"
const-string v1, "Lottie encountered an error but no failure listener was added."
invoke-static {v0, v1, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_14
return-void
:cond_15
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_19
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_14
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/ksad/lottie/y;
invoke-interface {v0, p1}, Lcom/ksad/lottie/y;->a(Ljava/lang/Object;)V
goto :goto_19
.end method
.method static synthetic b(Lcom/ksad/lottie/ab;)Ljava/util/concurrent/FutureTask;
.registers 2
iget-object v0, p0, Lcom/ksad/lottie/ab;->f:Ljava/util/concurrent/FutureTask;
return-object v0
.end method
.method private declared-synchronized b()V
.registers 3
monitor-enter p0
:try_start_1
invoke-direct {p0}, Lcom/ksad/lottie/ab;->d()Z
move-result v0
if-nez v0, :cond_b
iget-object v0, p0, Lcom/ksad/lottie/ab;->g:Lcom/ksad/lottie/aa;
:try_end_9
.catchall {:try_start_1 .. :try_end_9} :catchall_21
if-eqz v0, :cond_d
:cond_b
:goto_b
monitor-exit p0
return-void
:cond_d
:try_start_d
new-instance v0, Lcom/ksad/lottie/ad;
const-string v1, "LottieTaskObserver"
invoke-direct {v0, p0, v1}, Lcom/ksad/lottie/ad;-><init>(Lcom/ksad/lottie/ab;Ljava/lang/String;)V
iput-object v0, p0, Lcom/ksad/lottie/ab;->b:Ljava/lang/Thread;
iget-object v0, p0, Lcom/ksad/lottie/ab;->b:Ljava/lang/Thread;
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
const-string v0, "Starting TaskObserver thread"
invoke-static {v0}, Lcom/ksad/lottie/f;->a(Ljava/lang/String;)V
:try_end_20
.catchall {:try_start_d .. :try_end_20} :catchall_21
goto :goto_b
:catchall_21
move-exception v0
monitor-exit p0
throw v0
.end method
.method private declared-synchronized c()V
.registers 2
monitor-enter p0
:try_start_1
invoke-direct {p0}, Lcom/ksad/lottie/ab;->d()Z
:try_end_4
.catchall {:try_start_1 .. :try_end_4} :catchall_23
move-result v0
if-nez v0, :cond_9
:cond_7
:goto_7
monitor-exit p0
return-void
:cond_9
:try_start_9
iget-object v0, p0, Lcom/ksad/lottie/ab;->c:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->isEmpty()Z
move-result v0
if-nez v0, :cond_15
iget-object v0, p0, Lcom/ksad/lottie/ab;->g:Lcom/ksad/lottie/aa;
if-eqz v0, :cond_7
:cond_15
iget-object v0, p0, Lcom/ksad/lottie/ab;->b:Ljava/lang/Thread;
invoke-virtual {v0}, Ljava/lang/Thread;->interrupt()V
const/4 v0, 0x0
iput-object v0, p0, Lcom/ksad/lottie/ab;->b:Ljava/lang/Thread;
const-string v0, "Stopping TaskObserver thread"
invoke-static {v0}, Lcom/ksad/lottie/f;->a(Ljava/lang/String;)V
:try_end_22
.catchall {:try_start_9 .. :try_end_22} :catchall_23
goto :goto_7
:catchall_23
move-exception v0
monitor-exit p0
throw v0
.end method
.method static synthetic c(Lcom/ksad/lottie/ab;)V
.registers 1
invoke-direct {p0}, Lcom/ksad/lottie/ab;->c()V
return-void
.end method
.method private d()Z
.registers 2
iget-object v0, p0, Lcom/ksad/lottie/ab;->b:Ljava/lang/Thread;
if-eqz v0, :cond_e
iget-object v0, p0, Lcom/ksad/lottie/ab;->b:Ljava/lang/Thread;
invoke-virtual {v0}, Ljava/lang/Thread;->isAlive()Z
move-result v0
if-eqz v0, :cond_e
const/4 v0, 0x1
:goto_d
return v0
:cond_e
const/4 v0, 0x0
goto :goto_d
.end method
# virtual methods
.method public declared-synchronized a(Lcom/ksad/lottie/y;)Lcom/ksad/lottie/ab;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/ksad/lottie/y",
"<TT;>;)",
"Lcom/ksad/lottie/ab",
"<TT;>;"
}
.end annotation
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/ksad/lottie/ab;->g:Lcom/ksad/lottie/aa;
if-eqz v0, :cond_16
iget-object v0, p0, Lcom/ksad/lottie/ab;->g:Lcom/ksad/lottie/aa;
invoke-virtual {v0}, Lcom/ksad/lottie/aa;->a()Ljava/lang/Object;
move-result-object v0
if-eqz v0, :cond_16
iget-object v0, p0, Lcom/ksad/lottie/ab;->g:Lcom/ksad/lottie/aa;
invoke-virtual {v0}, Lcom/ksad/lottie/aa;->a()Ljava/lang/Object;
move-result-object v0
invoke-interface {p1, v0}, Lcom/ksad/lottie/y;->a(Ljava/lang/Object;)V
:cond_16
iget-object v0, p0, Lcom/ksad/lottie/ab;->c:Ljava/util/Set;
invoke-interface {v0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
invoke-direct {p0}, Lcom/ksad/lottie/ab;->b()V
:try_end_1e
.catchall {:try_start_1 .. :try_end_1e} :catchall_20
monitor-exit p0
return-object p0
:catchall_20
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized b(Lcom/ksad/lottie/y;)Lcom/ksad/lottie/ab;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/ksad/lottie/y",
"<TT;>;)",
"Lcom/ksad/lottie/ab",
"<TT;>;"
}
.end annotation
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/ksad/lottie/ab;->c:Ljava/util/Set;
invoke-interface {v0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
invoke-direct {p0}, Lcom/ksad/lottie/ab;->c()V
:try_end_9
.catchall {:try_start_1 .. :try_end_9} :catchall_b
monitor-exit p0
return-object p0
:catchall_b
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized c(Lcom/ksad/lottie/y;)Lcom/ksad/lottie/ab;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/ksad/lottie/y",
"<",
"Ljava/lang/Throwable;",
">;)",
"Lcom/ksad/lottie/ab",
"<TT;>;"
}
.end annotation
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/ksad/lottie/ab;->g:Lcom/ksad/lottie/aa;
if-eqz v0, :cond_16
iget-object v0, p0, Lcom/ksad/lottie/ab;->g:Lcom/ksad/lottie/aa;
invoke-virtual {v0}, Lcom/ksad/lottie/aa;->b()Ljava/lang/Throwable;
move-result-object v0
if-eqz v0, :cond_16
iget-object v0, p0, Lcom/ksad/lottie/ab;->g:Lcom/ksad/lottie/aa;
invoke-virtual {v0}, Lcom/ksad/lottie/aa;->b()Ljava/lang/Throwable;
move-result-object v0
invoke-interface {p1, v0}, Lcom/ksad/lottie/y;->a(Ljava/lang/Object;)V
:cond_16
iget-object v0, p0, Lcom/ksad/lottie/ab;->d:Ljava/util/Set;
invoke-interface {v0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
invoke-direct {p0}, Lcom/ksad/lottie/ab;->b()V
:try_end_1e
.catchall {:try_start_1 .. :try_end_1e} :catchall_20
monitor-exit p0
return-object p0
:catchall_20
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized d(Lcom/ksad/lottie/y;)Lcom/ksad/lottie/ab;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/ksad/lottie/y",
"<",
"Ljava/lang/Throwable;",
">;)",
"Lcom/ksad/lottie/ab",
"<TT;>;"
}
.end annotation
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/ksad/lottie/ab;->d:Ljava/util/Set;
invoke-interface {v0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
invoke-direct {p0}, Lcom/ksad/lottie/ab;->c()V
:try_end_9
.catchall {:try_start_1 .. :try_end_9} :catchall_b
monitor-exit p0
return-object p0
:catchall_b
move-exception v0
monitor-exit p0
throw v0
.end method