a.smali
.class public final Lcom/tencent/liteav/base/util/a;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/tencent/liteav/base/util/a$a;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field private final a:Ljava/lang/ThreadLocal;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ThreadLocal<",
"TT;>;"
}
.end annotation
.end field
.field private final b:Lcom/tencent/liteav/base/util/a$a;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/tencent/liteav/base/util/a$a<",
"TT;>;"
}
.end annotation
.end field
.field private c:Ljava/lang/ref/WeakReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/WeakReference<",
"TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lcom/tencent/liteav/base/util/a$a;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/tencent/liteav/base/util/a$a<",
"TT;>;)V"
}
.end annotation
.line 15
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 11
new-instance v0, Ljava/lang/ThreadLocal;
invoke-direct {v0}, Ljava/lang/ThreadLocal;-><init>()V
iput-object v0, p0, Lcom/tencent/liteav/base/util/a;->a:Ljava/lang/ThreadLocal;
.line 13
new-instance v0, Ljava/lang/ref/WeakReference;
const/4 v1, 0x0
invoke-direct {v0, v1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lcom/tencent/liteav/base/util/a;->c:Ljava/lang/ref/WeakReference;
.line 16
iput-object p1, p0, Lcom/tencent/liteav/base/util/a;->b:Lcom/tencent/liteav/base/util/a$a;
return-void
.end method
.method private b()Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.line 30
iget-object v0, p0, Lcom/tencent/liteav/base/util/a;->c:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_23
.line 31
monitor-enter p0
.line 32
:try_start_9
iget-object v0, p0, Lcom/tencent/liteav/base/util/a;->c:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_1e
.line 33
iget-object v0, p0, Lcom/tencent/liteav/base/util/a;->b:Lcom/tencent/liteav/base/util/a$a;
invoke-interface {v0}, Lcom/tencent/liteav/base/util/a$a;->a()Ljava/lang/Object;
move-result-object v0
.line 34
new-instance v1, Ljava/lang/ref/WeakReference;
invoke-direct {v1, v0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
iput-object v1, p0, Lcom/tencent/liteav/base/util/a;->c:Ljava/lang/ref/WeakReference;
.line 36
:cond_1e
monitor-exit p0
goto :goto_23
:catchall_20
move-exception v0
monitor-exit p0
:try_end_22
.catchall {:try_start_9 .. :try_end_22} :catchall_20
throw v0
:cond_23
:goto_23
return-object v0
.end method
# virtual methods
.method public final a()Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.line 20
iget-object v0, p0, Lcom/tencent/liteav/base/util/a;->a:Ljava/lang/ThreadLocal;
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_11
.line 22
invoke-direct {p0}, Lcom/tencent/liteav/base/util/a;->b()Ljava/lang/Object;
move-result-object v0
.line 23
iget-object v1, p0, Lcom/tencent/liteav/base/util/a;->a:Ljava/lang/ThreadLocal;
invoke-virtual {v1, v0}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
:cond_11
return-object v0
.end method