d.smali
.class public final Lcom/yysdk/mobile/vpsdk/d;
.super Ljava/lang/Thread;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/yysdk/mobile/vpsdk/d$a;
}
.end annotation
# instance fields
.field public a:Ljava/util/concurrent/locks/Lock;
.field public b:Ljava/util/concurrent/locks/Lock;
.field public c:Ljava/util/concurrent/locks/Condition;
.field public volatile d:Z
.field public e:J
.field public f:J
.field private volatile g:Z
.field private h:Lcom/yysdk/mobile/vpsdk/d$a;
.field private i:Lcom/yysdk/mobile/vpsdk/d$a;
# direct methods
.method public constructor <init>()V
.registers 3
const-string v0, "BlackRatioDetector"
.line 17
invoke-direct {p0, v0}, Ljava/lang/Thread;-><init>(Ljava/lang/String;)V
.line 9
new-instance v0, Ljava/util/concurrent/locks/ReentrantLock;
invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantLock;-><init>()V
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->a:Ljava/util/concurrent/locks/Lock;
.line 10
new-instance v0, Ljava/util/concurrent/locks/ReentrantLock;
invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantLock;-><init>()V
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->b:Ljava/util/concurrent/locks/Lock;
.line 11
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->a:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->newCondition()Ljava/util/concurrent/locks/Condition;
move-result-object v0
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->c:Ljava/util/concurrent/locks/Condition;
const/4 v0, 0x1
.line 12
iput-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/d;->d:Z
const/4 v0, 0x0
.line 13
iput-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/d;->g:Z
.line 26
new-instance v0, Lcom/yysdk/mobile/vpsdk/d$a;
invoke-direct {v0, p0}, Lcom/yysdk/mobile/vpsdk/d$a;-><init>(Lcom/yysdk/mobile/vpsdk/d;)V
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->h:Lcom/yysdk/mobile/vpsdk/d$a;
.line 27
new-instance v0, Lcom/yysdk/mobile/vpsdk/d$a;
invoke-direct {v0, p0}, Lcom/yysdk/mobile/vpsdk/d$a;-><init>(Lcom/yysdk/mobile/vpsdk/d;)V
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->i:Lcom/yysdk/mobile/vpsdk/d$a;
const-wide/16 v0, 0x0
.line 29
iput-wide v0, p0, Lcom/yysdk/mobile/vpsdk/d;->e:J
.line 30
iput-wide v0, p0, Lcom/yysdk/mobile/vpsdk/d;->f:J
return-void
.end method
# virtual methods
.method public final a()I
.registers 6
.line 86
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 88
:try_start_5
iget-wide v0, p0, Lcom/yysdk/mobile/vpsdk/d;->f:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-nez v4, :cond_f
const/4 v0, -0x1
goto :goto_15
.line 91
:cond_f
iget-wide v0, p0, Lcom/yysdk/mobile/vpsdk/d;->e:J
iget-wide v2, p0, Lcom/yysdk/mobile/vpsdk/d;->f:J
div-long/2addr v0, v2
:try_end_14
.catchall {:try_start_5 .. :try_end_14} :catchall_39
long-to-int v0, v0
.line 94
:goto_15
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/d;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
.line 96
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "[GetResult] got: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " source "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-wide v2, p0, Lcom/yysdk/mobile/vpsdk/d;->e:J
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v2, "/"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-wide v2, p0, Lcom/yysdk/mobile/vpsdk/d;->f:J
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
return v0
:catchall_39
move-exception v0
.line 94
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/d;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method
.method public final run()V
.registers 7
.line 34
:cond_0
:goto_0
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/d;->d:Z
if-eqz v0, :cond_6b
.line 35
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->a:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 37
:try_start_9
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/d;->d:Z
:try_end_b
.catch Ljava/lang/Exception; {:try_start_9 .. :try_end_b} :catch_65
.catchall {:try_start_9 .. :try_end_b} :catchall_5e
if-nez v0, :cond_13
.line 51
:goto_d
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->a:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
.line 39
:cond_13
:try_start_13
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/d;->g:Z
if-nez v0, :cond_1c
.line 40
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->c:Ljava/util/concurrent/locks/Condition;
invoke-interface {v0}, Ljava/util/concurrent/locks/Condition;->await()V
.line 42
:cond_1c
iget-boolean v0, p0, Lcom/yysdk/mobile/vpsdk/d;->d:Z
if-nez v0, :cond_21
goto :goto_d
.line 44
:cond_21
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->i:Lcom/yysdk/mobile/vpsdk/d$a;
.line 45
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/d;->h:Lcom/yysdk/mobile/vpsdk/d$a;
iput-object v1, p0, Lcom/yysdk/mobile/vpsdk/d;->i:Lcom/yysdk/mobile/vpsdk/d$a;
.line 46
iput-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->h:Lcom/yysdk/mobile/vpsdk/d$a;
:try_end_29
.catch Ljava/lang/Exception; {:try_start_13 .. :try_end_29} :catch_65
.catchall {:try_start_13 .. :try_end_29} :catchall_5e
.line 51
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->a:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
.line 54
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->i:Lcom/yysdk/mobile/vpsdk/d$a;
iget-object v0, v0, Lcom/yysdk/mobile/vpsdk/d$a;->a:[B
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/d;->i:Lcom/yysdk/mobile/vpsdk/d$a;
iget v1, v1, Lcom/yysdk/mobile/vpsdk/d$a;->b:I
iget-object v2, p0, Lcom/yysdk/mobile/vpsdk/d;->i:Lcom/yysdk/mobile/vpsdk/d$a;
iget v2, v2, Lcom/yysdk/mobile/vpsdk/d$a;->c:I
const/4 v3, 0x0
invoke-static {v0, v1, v2, v3}, Lcom/yysdk/mobile/vpsdk/AutoToucherWrapper;->bigo_detectBlackProb([BIII)I
move-result v0
if-ltz v0, :cond_0
.line 56
rem-int/lit16 v1, v0, 0x400
.line 57
div-int/lit16 v0, v0, 0x400
.line 60
iget-object v2, p0, Lcom/yysdk/mobile/vpsdk/d;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 61
iget-wide v2, p0, Lcom/yysdk/mobile/vpsdk/d;->e:J
mul-int v1, v1, v0
int-to-long v4, v1
add-long/2addr v2, v4
iput-wide v2, p0, Lcom/yysdk/mobile/vpsdk/d;->e:J
.line 62
iget-wide v1, p0, Lcom/yysdk/mobile/vpsdk/d;->f:J
int-to-long v3, v0
add-long/2addr v1, v3
iput-wide v1, p0, Lcom/yysdk/mobile/vpsdk/d;->f:J
.line 63
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->b:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
goto :goto_0
:catchall_5e
move-exception v0
.line 51
iget-object v1, p0, Lcom/yysdk/mobile/vpsdk/d;->a:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
:catch_65
iget-object v0, p0, Lcom/yysdk/mobile/vpsdk/d;->a:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
goto :goto_0
:cond_6b
return-void
.end method