l.smali
.class public final Lcom/yysdk/mobile/vpsdk/p/l;
.super Ljava/lang/Thread;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/yysdk/mobile/vpsdk/p/l$b;,
Lcom/yysdk/mobile/vpsdk/p/l$a;
}
.end annotation
# instance fields
.field private a:Ljava/lang/ref/WeakReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/WeakReference<",
"Landroid/view/TextureView;",
">;"
}
.end annotation
.end field
.field private b:Lcom/yysdk/mobile/vpsdk/p/c;
.field private c:Z
.field private d:Lcom/yysdk/mobile/vpsdk/p/m;
.field private e:Landroid/graphics/SurfaceTexture;
.field private f:I
.field private g:I
.field private final h:Ljava/lang/Object;
.field private volatile i:Z
.field private volatile j:Z
.field private k:Z
.field private l:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/Runnable;",
">;"
}
.end annotation
.end field
.field private m:Lcom/yysdk/mobile/vpsdk/p/l$a;
.field private n:Landroid/view/TextureView$SurfaceTextureListener;
# direct methods
.method public constructor <init>(Ljava/lang/ref/WeakReference;Lcom/yysdk/mobile/vpsdk/p/c;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/ref/WeakReference<",
"Landroid/view/TextureView;",
">;",
"Lcom/yysdk/mobile/vpsdk/p/c;",
")V"
}
.end annotation
const/4 v0, 0x1
.line 45
invoke-direct {p0, p1, p2, v0}, Lcom/yysdk/mobile/vpsdk/p/l;-><init>(Ljava/lang/ref/WeakReference;Lcom/yysdk/mobile/vpsdk/p/c;Z)V
return-void
.end method
.method public constructor <init>(Ljava/lang/ref/WeakReference;Lcom/yysdk/mobile/vpsdk/p/c;Z)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/ref/WeakReference<",
"Landroid/view/TextureView;",
">;",
"Lcom/yysdk/mobile/vpsdk/p/c;",
"Z)V"
}
.end annotation
.line 51
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
.line 32
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->h:Ljava/lang/Object;
const/4 v0, 0x0
.line 36
iput-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->k:Z
.line 38
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->l:Ljava/util/ArrayList;
const/4 v0, 0x0
.line 40
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->m:Lcom/yysdk/mobile/vpsdk/p/l$a;
.line 155
new-instance v0, Lcom/yysdk/mobile/vpsdk/p/l$2;
invoke-direct {v0, p0}, Lcom/yysdk/mobile/vpsdk/p/l$2;-><init>(Lcom/yysdk/mobile/vpsdk/p/l;)V
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->n:Landroid/view/TextureView$SurfaceTextureListener;
if-eqz p1, :cond_52
if-eqz p2, :cond_52
.line 57
iput-object p1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->a:Ljava/lang/ref/WeakReference;
.line 58
iput-object p2, p0, Lcom/yysdk/mobile/vpsdk/p/l;->b:Lcom/yysdk/mobile/vpsdk/p/c;
.line 59
iput-boolean p3, p0, Lcom/yysdk/mobile/vpsdk/p/l;->c:Z
.line 61
invoke-virtual {p1}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/view/TextureView;
.line 62
invoke-virtual {p1, p0}, Landroid/view/TextureView;->setTag(Ljava/lang/Object;)V
.line 63
iget-object p2, p0, Lcom/yysdk/mobile/vpsdk/p/l;->n:Landroid/view/TextureView$SurfaceTextureListener;
invoke-virtual {p1, p2}, Landroid/view/TextureView;->setSurfaceTextureListener(Landroid/view/TextureView$SurfaceTextureListener;)V
.line 64
invoke-virtual {p1}, Landroid/view/TextureView;->isAvailable()Z
move-result p2
if-eqz p2, :cond_51
.line 65
invoke-virtual {p1}, Landroid/view/TextureView;->getSurfaceTexture()Landroid/graphics/SurfaceTexture;
move-result-object p2
iput-object p2, p0, Lcom/yysdk/mobile/vpsdk/p/l;->e:Landroid/graphics/SurfaceTexture;
.line 66
invoke-virtual {p1}, Landroid/view/TextureView;->getWidth()I
move-result p2
iput p2, p0, Lcom/yysdk/mobile/vpsdk/p/l;->f:I
.line 67
invoke-virtual {p1}, Landroid/view/TextureView;->getHeight()I
move-result p1
iput p1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->g:I
.line 68
invoke-virtual {p0}, Lcom/yysdk/mobile/vpsdk/p/l;->start()V
:cond_51
return-void
.line 54
:cond_52
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "input textureViewWeakRef or helper is null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method static synthetic a(Lcom/yysdk/mobile/vpsdk/p/l;I)I
.registers 2
.line 18
iput p1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->f:I
return p1
.end method
.method static synthetic a(Lcom/yysdk/mobile/vpsdk/p/l;Landroid/graphics/SurfaceTexture;)Landroid/graphics/SurfaceTexture;
.registers 2
.line 18
iput-object p1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->e:Landroid/graphics/SurfaceTexture;
return-object p1
.end method
.method static synthetic a(Lcom/yysdk/mobile/vpsdk/p/l;)Lcom/yysdk/mobile/vpsdk/p/m;
.registers 1
.line 18
iget-object p0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->d:Lcom/yysdk/mobile/vpsdk/p/m;
return-object p0
.end method
.method static synthetic a(Lcom/yysdk/mobile/vpsdk/p/l;Lcom/yysdk/mobile/vpsdk/p/m;)Lcom/yysdk/mobile/vpsdk/p/m;
.registers 2
.line 18
iput-object p1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->d:Lcom/yysdk/mobile/vpsdk/p/m;
return-object p1
.end method
.method private a(Ljava/lang/Runnable;)V
.registers 4
.line 91
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->h:Ljava/lang/Object;
monitor-enter v0
.line 92
:try_start_3
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->l:Ljava/util/ArrayList;
invoke-virtual {v1, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 93
iget-object p1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->h:Ljava/lang/Object;
invoke-virtual {p1}, Ljava/lang/Object;->notifyAll()V
.line 94
monitor-exit v0
return-void
:catchall_f
move-exception p1
monitor-exit v0
:try_end_11
.catchall {:try_start_3 .. :try_end_11} :catchall_f
throw p1
.end method
.method static synthetic b(Lcom/yysdk/mobile/vpsdk/p/l;I)I
.registers 2
.line 18
iput p1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->g:I
return p1
.end method
.method static synthetic b(Lcom/yysdk/mobile/vpsdk/p/l;)V
.registers 3
.line 1293
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->a:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/TextureView;
const/4 v1, 0x0
if-eqz v0, :cond_11
.line 1295
invoke-virtual {v0, v1}, Landroid/view/TextureView;->setSurfaceTextureListener(Landroid/view/TextureView$SurfaceTextureListener;)V
.line 1296
invoke-virtual {v0, v1}, Landroid/view/TextureView;->setTag(Ljava/lang/Object;)V
.line 1299
:cond_11
iput-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->a:Ljava/lang/ref/WeakReference;
.line 1301
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->h:Ljava/lang/Object;
monitor-enter v0
const/4 v1, 0x1
.line 1302
:try_start_17
iput-boolean v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->i:Z
.line 1303
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->h:Ljava/lang/Object;
invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V
.line 1304
monitor-exit v0
:try_end_1f
.catchall {:try_start_17 .. :try_end_1f} :catchall_37
const-wide/16 v0, 0x5dc
.line 1307
:try_start_21
invoke-virtual {p0, v0, v1}, Lcom/yysdk/mobile/vpsdk/p/l;->join(J)V
:try_end_24
.catch Ljava/lang/InterruptedException; {:try_start_21 .. :try_end_24} :catch_25
return-void
:catch_25
move-exception p0
.line 1309
invoke-virtual {p0}, Ljava/lang/InterruptedException;->getMessage()Ljava/lang/String;
move-result-object p0
const-string v0, "TextureViewThread"
invoke-static {v0, p0}, Lcom/yysdk/mobile/vpsdk/p;->c(Ljava/lang/String;Ljava/lang/String;)I
.line 1310
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/Thread;->interrupt()V
return-void
:catchall_37
move-exception p0
.line 1304
:try_start_38
monitor-exit v0
:try_end_39
.catchall {:try_start_38 .. :try_end_39} :catchall_37
throw p0
.end method
.method static synthetic c(Lcom/yysdk/mobile/vpsdk/p/l;)Lcom/yysdk/mobile/vpsdk/p/c;
.registers 1
.line 18
iget-object p0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->b:Lcom/yysdk/mobile/vpsdk/p/c;
return-object p0
.end method
.method static synthetic d(Lcom/yysdk/mobile/vpsdk/p/l;)I
.registers 1
.line 18
iget p0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->f:I
return p0
.end method
.method static synthetic e(Lcom/yysdk/mobile/vpsdk/p/l;)I
.registers 1
.line 18
iget p0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->g:I
return p0
.end method
# virtual methods
.method public final a()Landroid/view/TextureView;
.registers 2
.line 73
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->a:Ljava/lang/ref/WeakReference;
if-eqz v0, :cond_b
.line 74
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/TextureView;
return-object v0
:cond_b
const/4 v0, 0x0
return-object v0
.end method
.method public final a(Lcom/yysdk/mobile/vpsdk/p/m;)V
.registers 4
.line 104
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->a:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/TextureView;
if-eqz v0, :cond_17
.line 106
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->n:Landroid/view/TextureView$SurfaceTextureListener;
invoke-virtual {v0, v1}, Landroid/view/TextureView;->setSurfaceTextureListener(Landroid/view/TextureView$SurfaceTextureListener;)V
.line 107
new-instance v0, Lcom/yysdk/mobile/vpsdk/p/l$b;
invoke-direct {v0, p0, p1}, Lcom/yysdk/mobile/vpsdk/p/l$b;-><init>(Lcom/yysdk/mobile/vpsdk/p/l;Lcom/yysdk/mobile/vpsdk/p/m;)V
invoke-direct {p0, v0}, Lcom/yysdk/mobile/vpsdk/p/l;->a(Ljava/lang/Runnable;)V
:cond_17
return-void
.end method
.method public final a(Z)V
.registers 5
.line 126
new-instance v0, Ljava/util/concurrent/CountDownLatch;
const/4 v1, 0x1
invoke-direct {v0, v1}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
.line 127
new-instance v1, Lcom/yysdk/mobile/vpsdk/p/l$1;
invoke-direct {v1, p0, v0}, Lcom/yysdk/mobile/vpsdk/p/l$1;-><init>(Lcom/yysdk/mobile/vpsdk/p/l;Ljava/util/concurrent/CountDownLatch;)V
invoke-direct {p0, v1}, Lcom/yysdk/mobile/vpsdk/p/l;->a(Ljava/lang/Runnable;)V
if-eqz p1, :cond_27
const-wide/16 v1, 0x1
.line 139
:try_start_12
sget-object p1, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0, v1, v2, p1}, Ljava/util/concurrent/CountDownLatch;->await(JLjava/util/concurrent/TimeUnit;)Z
:try_end_17
.catch Ljava/lang/InterruptedException; {:try_start_12 .. :try_end_17} :catch_18
return-void
:catch_18
move-exception p1
const-string v0, "TextureViewThread"
const-string v1, "[waitForRenderRelease] await throw exception"
.line 141
invoke-static {v0, v1, p1}, Lcom/yysdk/mobile/vpsdk/p;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 142
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Thread;->interrupt()V
:cond_27
return-void
.end method
.method public final b()V
.registers 3
.line 98
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->h:Ljava/lang/Object;
monitor-enter v0
.line 99
:try_start_3
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->l:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->clear()V
.line 100
monitor-exit v0
return-void
:catchall_a
move-exception v1
monitor-exit v0
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_a
throw v1
.end method
.method public final c()V
.registers 3
const-string v0, "TextureViewThread"
const-string v1, "[requestRender]"
.line 112
invoke-static {v0, v1}, Lcom/yysdk/mobile/vpsdk/p;->a(Ljava/lang/String;Ljava/lang/String;)I
.line 113
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->h:Ljava/lang/Object;
monitor-enter v0
.line 114
:try_start_a
iget-boolean v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->i:Z
if-nez v1, :cond_11
const/4 v1, 0x1
.line 115
iput-boolean v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->j:Z
.line 117
:cond_11
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->h:Ljava/lang/Object;
invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V
.line 118
monitor-exit v0
return-void
:catchall_18
move-exception v1
monitor-exit v0
:try_end_1a
.catchall {:try_start_a .. :try_end_1a} :catchall_18
throw v1
.end method
.method public final run()V
.registers 5
.line 190
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "TextureViewThread"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Lcom/yysdk/mobile/vpsdk/p/l;->getId()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/yysdk/mobile/vpsdk/p/l;->setName(Ljava/lang/String;)V
const-string v0, "TextureViewThread"
const-string v1, "[TextureViewThread] === run === "
.line 191
invoke-static {v0, v1}, Lcom/yysdk/mobile/vpsdk/p;->a(Ljava/lang/String;Ljava/lang/String;)I
.line 192
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->b:Lcom/yysdk/mobile/vpsdk/p/c;
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->e:Landroid/graphics/SurfaceTexture;
iget-boolean v2, p0, Lcom/yysdk/mobile/vpsdk/p/l;->c:Z
invoke-interface {v0, v1, v2}, Lcom/yysdk/mobile/vpsdk/p/c;->a(Landroid/graphics/SurfaceTexture;Z)Z
.line 204
:goto_25
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->i:Z
if-nez v0, :cond_85
.line 207
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->h:Ljava/lang/Object;
monitor-enter v0
.line 208
:try_start_2c
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->l:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z
move-result v1
const/4 v2, 0x0
const/4 v3, 0x0
if-nez v1, :cond_3f
.line 209
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->l:Ljava/util/ArrayList;
invoke-virtual {v1, v2}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Runnable;
goto :goto_40
:cond_3f
move-object v1, v3
.line 211
:goto_40
monitor-exit v0
:try_end_41
.catchall {:try_start_2c .. :try_end_41} :catchall_82
if-eqz v1, :cond_46
.line 213
invoke-interface {v1}, Ljava/lang/Runnable;->run()V
.line 217
:cond_46
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->h:Ljava/lang/Object;
monitor-enter v1
.line 218
:try_start_49
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->j:Z
.line 219
iput-boolean v2, p0, Lcom/yysdk/mobile/vpsdk/p/l;->j:Z
.line 220
monitor-exit v1
:try_end_4e
.catchall {:try_start_49 .. :try_end_4e} :catchall_7f
if-eqz v0, :cond_60
.line 225
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->d:Lcom/yysdk/mobile/vpsdk/p/m;
if-eqz v0, :cond_57
.line 226
invoke-interface {v0, v3}, Lcom/yysdk/mobile/vpsdk/p/m;->onDrawFrame(Ljavax/microedition/khronos/opengles/GL10;)V
.line 229
:cond_57
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->k:Z
if-nez v0, :cond_60
.line 232
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->b:Lcom/yysdk/mobile/vpsdk/p/c;
invoke-interface {v0}, Lcom/yysdk/mobile/vpsdk/p/c;->b()V
.line 246
:cond_60
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->h:Ljava/lang/Object;
monitor-enter v0
.line 248
:goto_63
:try_start_63
iget-boolean v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->i:Z
if-nez v1, :cond_7b
iget-boolean v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->j:Z
if-nez v1, :cond_7b
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->l:Ljava/util/ArrayList;
invoke-virtual {v1}, Ljava/util/ArrayList;->isEmpty()Z
move-result v1
if-eqz v1, :cond_7b
.line 249
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/p/l;->h:Ljava/lang/Object;
invoke-virtual {v1}, Ljava/lang/Object;->wait()V
:try_end_78
.catch Ljava/lang/InterruptedException; {:try_start_63 .. :try_end_78} :catch_7b
.catchall {:try_start_63 .. :try_end_78} :catchall_79
goto :goto_63
:catchall_79
move-exception v1
goto :goto_7d
.line 254
:catch_7b
:cond_7b
:try_start_7b
monitor-exit v0
goto :goto_25
:goto_7d
monitor-exit v0
:try_end_7e
.catchall {:try_start_7b .. :try_end_7e} :catchall_79
throw v1
:catchall_7f
move-exception v0
.line 220
:try_start_80
monitor-exit v1
:try_end_81
.catchall {:try_start_80 .. :try_end_81} :catchall_7f
throw v0
:catchall_82
move-exception v1
.line 211
:try_start_83
monitor-exit v0
:try_end_84
.catchall {:try_start_83 .. :try_end_84} :catchall_82
throw v1
.line 257
:cond_85
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/p/l;->b:Lcom/yysdk/mobile/vpsdk/p/c;
invoke-interface {v0}, Lcom/yysdk/mobile/vpsdk/p/c;->c()V
return-void
.end method