m.smali
.class public final Lcom/yysdk/mobile/vpsdk/e/m;
.super Ljava/lang/Thread;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/yysdk/mobile/vpsdk/e/m$a;
}
.end annotation
# instance fields
.field final a:Ljava/lang/Object;
.field b:Z
.field c:Z
.field d:Z
.field e:Ljava/util/concurrent/CountDownLatch;
.field private f:I
.field private g:I
.field private h:Lcom/yysdk/mobile/vpsdk/e/m$a;
.field private i:Z
.field private j:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/Runnable;",
">;"
}
.end annotation
.end field
.field private k:J
# direct methods
.method public constructor <init>(Lcom/yysdk/mobile/vpsdk/e/m$a;II)V
.registers 6
const-string v0, "OffScreenRenderThread"
.line 44
invoke-direct {p0, v0}, Ljava/lang/Thread;-><init>(Ljava/lang/String;)V
.line 24
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->a:Ljava/lang/Object;
.line 28
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->j:Ljava/util/ArrayList;
const/4 v0, 0x0
.line 30
iput-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->d:Z
.line 31
new-instance v0, Ljava/util/concurrent/CountDownLatch;
const/4 v1, 0x1
invoke-direct {v0, v1}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->e:Ljava/util/concurrent/CountDownLatch;
.line 45
iput-object p1, p0, Lcom/yysdk/mobile/vpsdk/e/m;->h:Lcom/yysdk/mobile/vpsdk/e/m$a;
.line 46
iput p2, p0, Lcom/yysdk/mobile/vpsdk/e/m;->f:I
.line 47
iput p3, p0, Lcom/yysdk/mobile/vpsdk/e/m;->g:I
return-void
.end method
.method private a()Z
.registers 8
const-string v0, "OffScreenRenderThread"
const-string v1, "enter setupGLEnv"
.line 159
invoke-static {v0, v1}, Lcom/yysdk/mobile/vpsdk/p;->a(Ljava/lang/String;Ljava/lang/String;)I
.line 161
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->i:Z
const/4 v1, 0x1
if-eqz v0, :cond_d
return v1
:cond_d
const/4 v0, 0x0
.line 1192
:try_start_e
iget v2, p0, Lcom/yysdk/mobile/vpsdk/e/m;->f:I
iget v3, p0, Lcom/yysdk/mobile/vpsdk/e/m;->g:I
invoke-static {v2, v3}, Lcom/yysdk/mobile/sharedcontext/ContextManager;->a(II)J
move-result-wide v2
iput-wide v2, p0, Lcom/yysdk/mobile/vpsdk/e/m;->k:J
const-wide/16 v4, 0x0
cmp-long v6, v2, v4
if-eqz v6, :cond_28
.line 1194
invoke-static {v2, v3}, Lcom/yysdk/mobile/sharedcontext/ContextManager;->b(J)I
move-result v2
const/16 v3, 0x3000
if-ne v2, v3, :cond_28
const/4 v2, 0x1
goto :goto_2f
.line 1198
:cond_28
invoke-static {}, Lcom/yysdk/mobile/venus/VenusEffectService;->disableVenus()V
.line 1199
invoke-direct {p0}, Lcom/yysdk/mobile/vpsdk/e/m;->b()V
const/4 v2, 0x0
:goto_2f
if-eqz v2, :cond_34
.line 167
iput-boolean v1, p0, Lcom/yysdk/mobile/vpsdk/e/m;->i:Z
:try_end_33
.catch Ljava/lang/RuntimeException; {:try_start_e .. :try_end_33} :catch_34
return v1
:catch_34
:cond_34
return v0
.end method
.method private b()V
.registers 6
.line 204
iget-wide v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->k:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_d
.line 205
invoke-static {v0, v1}, Lcom/yysdk/mobile/sharedcontext/ContextManager;->a(J)Z
.line 206
iput-wide v2, p0, Lcom/yysdk/mobile/vpsdk/e/m;->k:J
:cond_d
return-void
.end method
# virtual methods
.method public final run()V
.registers 5
.line 101
invoke-direct {p0}, Lcom/yysdk/mobile/vpsdk/e/m;->a()Z
move-result v0
iput-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->d:Z
.line 102
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->e:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
.line 104
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->d:Z
if-nez v0, :cond_20
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->h:Lcom/yysdk/mobile/vpsdk/e/m$a;
if-eqz v0, :cond_20
const-string v0, "OffScreenRenderThread"
const-string v1, "call setupGLEnv() failed"
.line 105
invoke-static {v0, v1}, Lcom/yysdk/mobile/vpsdk/p;->a(Ljava/lang/String;Ljava/lang/String;)I
.line 106
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->h:Lcom/yysdk/mobile/vpsdk/e/m$a;
invoke-interface {v0}, Lcom/yysdk/mobile/vpsdk/e/m$a;->a()V
return-void
.line 110
:cond_20
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->h:Lcom/yysdk/mobile/vpsdk/e/m$a;
if-eqz v0, :cond_27
.line 111
invoke-interface {v0}, Lcom/yysdk/mobile/vpsdk/e/m$a;->b()V
.line 114
:cond_27
:goto_27
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->c:Z
const/4 v1, 0x0
if-nez v0, :cond_90
.line 116
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->a:Ljava/lang/Object;
monitor-enter v0
.line 117
:try_start_2f
iget-boolean v2, p0, Lcom/yysdk/mobile/vpsdk/e/m;->b:Z
.line 118
iput-boolean v1, p0, Lcom/yysdk/mobile/vpsdk/e/m;->b:Z
.line 119
monitor-exit v0
:try_end_34
.catchall {:try_start_2f .. :try_end_34} :catchall_8d
if-eqz v2, :cond_4b
.line 122
:try_start_36
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->h:Lcom/yysdk/mobile/vpsdk/e/m$a;
if-eqz v0, :cond_4b
.line 123
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->h:Lcom/yysdk/mobile/vpsdk/e/m$a;
invoke-interface {v0}, Lcom/yysdk/mobile/vpsdk/e/m$a;->d()V
:try_end_3f
.catch Ljava/lang/RuntimeException; {:try_start_36 .. :try_end_3f} :catch_40
goto :goto_4b
:catch_40
move-exception v0
.line 126
invoke-virtual {v0}, Ljava/lang/RuntimeException;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "OffScreenRenderThread"
invoke-static {v1, v0}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_27
:cond_4b
:goto_4b
const/4 v0, 0x0
.line 131
iget-object v2, p0, Lcom/yysdk/mobile/vpsdk/e/m;->j:Ljava/util/ArrayList;
monitor-enter v2
.line 132
:try_start_4f
iget-object v3, p0, Lcom/yysdk/mobile/vpsdk/e/m;->j:Ljava/util/ArrayList;
invoke-virtual {v3}, Ljava/util/ArrayList;->isEmpty()Z
move-result v3
if-nez v3, :cond_5f
.line 133
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->j:Ljava/util/ArrayList;
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Runnable;
.line 135
:cond_5f
monitor-exit v2
:try_end_60
.catchall {:try_start_4f .. :try_end_60} :catchall_8a
if-eqz v0, :cond_65
.line 137
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
.line 140
:cond_65
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->a:Ljava/lang/Object;
monitor-enter v0
.line 142
:try_start_68
iget-boolean v1, p0, Lcom/yysdk/mobile/vpsdk/e/m;->c:Z
if-nez v1, :cond_7d
iget-boolean v1, p0, Lcom/yysdk/mobile/vpsdk/e/m;->b:Z
if-nez v1, :cond_7d
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/e/m;->j:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z
move-result v1
if-eqz v1, :cond_7d
.line 143
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/e/m;->a:Ljava/lang/Object;
invoke-virtual {v1}, Ljava/lang/Object;->wait()V
:try_end_7d
.catch Ljava/lang/InterruptedException; {:try_start_68 .. :try_end_7d} :catch_81
.catchall {:try_start_68 .. :try_end_7d} :catchall_7f
.line 148
:cond_7d
:try_start_7d
monitor-exit v0
goto :goto_27
:catchall_7f
move-exception v1
goto :goto_88
:catch_81
move-exception v1
.line 146
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v2
.line 148
:goto_88
monitor-exit v0
:try_end_89
.catchall {:try_start_7d .. :try_end_89} :catchall_7f
throw v1
:catchall_8a
move-exception v0
.line 135
:try_start_8b
monitor-exit v2
:try_end_8c
.catchall {:try_start_8b .. :try_end_8c} :catchall_8a
throw v0
:catchall_8d
move-exception v1
.line 119
:try_start_8e
monitor-exit v0
:try_end_8f
.catchall {:try_start_8e .. :try_end_8f} :catchall_8d
throw v1
.line 151
:cond_90
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->h:Lcom/yysdk/mobile/vpsdk/e/m$a;
if-eqz v0, :cond_97
.line 152
invoke-interface {v0}, Lcom/yysdk/mobile/vpsdk/e/m$a;->c()V
:cond_97
const-string v0, "OffScreenRenderThread"
const-string v2, "enter teardownGLEnv"
.line 1177
invoke-static {v0, v2}, Lcom/yysdk/mobile/vpsdk/p;->a(Ljava/lang/String;Ljava/lang/String;)I
.line 1179
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/e/m;->i:Z
if-eqz v0, :cond_a7
.line 1180
iput-boolean v1, p0, Lcom/yysdk/mobile/vpsdk/e/m;->i:Z
.line 1181
invoke-direct {p0}, Lcom/yysdk/mobile/vpsdk/e/m;->b()V
:cond_a7
return-void
.end method