MMCCpuThreadPool.smali
.class public Lcom/mmc/player/utils/MMCCpuThreadPool;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/mmc/player/utils/MMCCpuThreadPool$SingleThreadFactory;
}
.end annotation
# static fields
.field private static final CORE_POOL_SIZE:I = 0x1
.field private static final KEEP_ALIVE_TIME:I = 0x1e
.field private static final MAX_POOL_SIZE:I = 0x1
.field private static final TIME_UNIT:Ljava/util/concurrent/TimeUnit;
.field private static final WORK_QUEUE:Ljava/util/concurrent/BlockingQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/BlockingQueue<",
"Ljava/lang/Runnable;",
">;"
}
.end annotation
.end field
.field private static sSingleton:Ljava/util/concurrent/ThreadPoolExecutor;
# direct methods
.method public static constructor <clinit>()V
.registers 1
.line 1
sget-object v0, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
sput-object v0, Lcom/mmc/player/utils/MMCCpuThreadPool;->TIME_UNIT:Ljava/util/concurrent/TimeUnit;
.line 2
new-instance v0, Ljava/util/concurrent/LinkedBlockingQueue;
invoke-direct {v0}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
sput-object v0, Lcom/mmc/player/utils/MMCCpuThreadPool;->WORK_QUEUE:Ljava/util/concurrent/BlockingQueue;
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static synthetic a(Ljava/lang/Runnable;Ljava/util/concurrent/ThreadPoolExecutor;)V
.registers 2
invoke-static {p0, p1}, Lcom/mmc/player/utils/MMCCpuThreadPool;->lambda$get$0(Ljava/lang/Runnable;Ljava/util/concurrent/ThreadPoolExecutor;)V
return-void
.end method
.method public static get()Ljava/util/concurrent/ThreadPoolExecutor;
.registers 11
.line 1
sget-object v0, Lcom/mmc/player/utils/MMCCpuThreadPool;->sSingleton:Ljava/util/concurrent/ThreadPoolExecutor;
if-nez v0, :cond_28
.line 2
const-class v0, Lcom/mmc/player/utils/MMCCpuThreadPool;
monitor-enter v0
.line 3
:try_start_7
sget-object v1, Lcom/mmc/player/utils/MMCCpuThreadPool;->sSingleton:Ljava/util/concurrent/ThreadPoolExecutor;
if-nez v1, :cond_23
const/4 v2, 0x1
const/4 v3, 0x1
const-wide/16 v4, 0x1e
.line 4
sget-object v6, Lcom/mmc/player/utils/MMCCpuThreadPool;->TIME_UNIT:Ljava/util/concurrent/TimeUnit;
sget-object v7, Lcom/mmc/player/utils/MMCCpuThreadPool;->WORK_QUEUE:Ljava/util/concurrent/BlockingQueue;
new-instance v8, Lcom/mmc/player/utils/MMCCpuThreadPool$SingleThreadFactory;
const/4 v1, 0x0
invoke-direct {v8, v1}, Lcom/mmc/player/utils/MMCCpuThreadPool$SingleThreadFactory;-><init>(Lcom/mmc/player/utils/MMCCpuThreadPool$1;)V
sget-object v9, Lcom/mmc/player/utils/a;->a:Lcom/mmc/player/utils/a;
const-string v10, "com/mmc/player/utils/MMCCpuThreadPool"
invoke-static/range {v2 .. v10}, Lcom/garena/android/appkit/logging/a;->S(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;Ljava/lang/String;)Ljava/util/concurrent/ThreadPoolExecutor;
move-result-object v1
sput-object v1, Lcom/mmc/player/utils/MMCCpuThreadPool;->sSingleton:Ljava/util/concurrent/ThreadPoolExecutor;
.line 5
:cond_23
monitor-exit v0
goto :goto_28
:catchall_25
move-exception v1
monitor-exit v0
:try_end_27
.catchall {:try_start_7 .. :try_end_27} :catchall_25
throw v1
.line 6
:cond_28
:goto_28
sget-object v0, Lcom/mmc/player/utils/MMCCpuThreadPool;->sSingleton:Ljava/util/concurrent/ThreadPoolExecutor;
return-object v0
.end method
.method private static synthetic lambda$get$0(Ljava/lang/Runnable;Ljava/util/concurrent/ThreadPoolExecutor;)V
.registers 2
return-void
.end method