ep.smali
.class public final Lcom/imo/android/imoim/util/ep;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/imo/android/imoim/util/ep$a;
}
.end annotation
# instance fields
.field final a:Ljava/util/LinkedList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/LinkedList<",
"Ljava/lang/Runnable;",
">;"
}
.end annotation
.end field
.field final b:Ljava/lang/Object;
.field public final c:Ljava/util/concurrent/ThreadPoolExecutor;
# direct methods
.method public constructor <init>(I)V
.registers 11
.line 23
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 17
new-instance v0, Ljava/util/LinkedList;
invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V
iput-object v0, p0, Lcom/imo/android/imoim/util/ep;->a:Ljava/util/LinkedList;
.line 19
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/imo/android/imoim/util/ep;->b:Ljava/lang/Object;
.line 24
new-instance v0, Ljava/util/concurrent/ThreadPoolExecutor;
sget-object v6, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
new-instance v7, Ljava/util/concurrent/LinkedBlockingQueue;
invoke-direct {v7}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
new-instance v8, Lsg/bigo/common/b/a;
const-string v1, "task-pool"
const/4 v2, 0x5
invoke-direct {v8, v1, v2}, Lsg/bigo/common/b/a;-><init>(Ljava/lang/String;I)V
const-wide/16 v4, 0xa
move-object v1, v0
move v2, p1
move v3, p1
invoke-direct/range {v1 .. v8}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
iput-object v0, p0, Lcom/imo/android/imoim/util/ep;->c:Ljava/util/concurrent/ThreadPoolExecutor;
const/4 p1, 0x1
.line 25
invoke-virtual {v0, p1}, Ljava/util/concurrent/ThreadPoolExecutor;->allowCoreThreadTimeOut(Z)V
return-void
.end method
.method public constructor <init>(II)V
.registers 12
.line 28
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 17
new-instance v0, Ljava/util/LinkedList;
invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V
iput-object v0, p0, Lcom/imo/android/imoim/util/ep;->a:Ljava/util/LinkedList;
.line 19
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/imo/android/imoim/util/ep;->b:Ljava/lang/Object;
.line 29
new-instance v0, Ljava/util/concurrent/ThreadPoolExecutor;
sget-object v6, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
new-instance v7, Ljava/util/concurrent/LinkedBlockingQueue;
invoke-direct {v7}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
new-instance v8, Lsg/bigo/common/b/a;
const-string v1, "task-pool"
invoke-direct {v8, v1, p2}, Lsg/bigo/common/b/a;-><init>(Ljava/lang/String;I)V
const-wide/16 v4, 0xa
move-object v1, v0
move v2, p1
move v3, p1
invoke-direct/range {v1 .. v8}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
iput-object v0, p0, Lcom/imo/android/imoim/util/ep;->c:Ljava/util/concurrent/ThreadPoolExecutor;
const/4 p1, 0x1
.line 30
invoke-virtual {v0, p1}, Ljava/util/concurrent/ThreadPoolExecutor;->allowCoreThreadTimeOut(Z)V
return-void
.end method
# virtual methods
.method public final a()V
.registers 3
.line 37
:goto_0
iget-object v0, p0, Lcom/imo/android/imoim/util/ep;->b:Ljava/lang/Object;
monitor-enter v0
.line 38
:try_start_3
iget-object v1, p0, Lcom/imo/android/imoim/util/ep;->a:Ljava/util/LinkedList;
invoke-virtual {v1}, Ljava/util/LinkedList;->poll()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Runnable;
.line 39
monitor-exit v0
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_13
if-eqz v1, :cond_12
.line 45
invoke-interface {v1}, Ljava/lang/Runnable;->run()V
goto :goto_0
:cond_12
return-void
:catchall_13
move-exception v1
.line 39
:try_start_14
monitor-exit v0
:try_end_15
.catchall {:try_start_14 .. :try_end_15} :catchall_13
goto :goto_17
:goto_16
throw v1
:goto_17
goto :goto_16
.end method
.method public final a(Ljava/lang/Runnable;)V
.registers 5
.line 54
new-instance v0, Lcom/imo/android/imoim/util/ep$a;
invoke-direct {v0, p1}, Lcom/imo/android/imoim/util/ep$a;-><init>(Ljava/lang/Runnable;)V
.line 1096
iget-object p1, v0, Lcom/imo/android/imoim/util/ep$a;->b:Ljava/lang/Runnable;
.line 57
iget-object v1, p0, Lcom/imo/android/imoim/util/ep;->b:Ljava/lang/Object;
monitor-enter v1
.line 58
:try_start_a
iget-object v2, p0, Lcom/imo/android/imoim/util/ep;->a:Ljava/util/LinkedList;
invoke-virtual {v2, p1}, Ljava/util/LinkedList;->add(Ljava/lang/Object;)Z
.line 59
monitor-exit v1
:try_end_10
.catchall {:try_start_a .. :try_end_10} :catchall_1b
.line 61
iget-object v1, p0, Lcom/imo/android/imoim/util/ep;->c:Ljava/util/concurrent/ThreadPoolExecutor;
new-instance v2, Lcom/imo/android/imoim/util/ep$1;
invoke-direct {v2, p0, v0, p1}, Lcom/imo/android/imoim/util/ep$1;-><init>(Lcom/imo/android/imoim/util/ep;Lcom/imo/android/imoim/util/ep$a;Ljava/lang/Runnable;)V
invoke-virtual {v1, v2}, Ljava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
return-void
:catchall_1b
move-exception p1
.line 59
:try_start_1c
monitor-exit v1
:try_end_1d
.catchall {:try_start_1c .. :try_end_1d} :catchall_1b
throw p1
.end method