d.smali
.class public final Lcom/imo/android/imoim/mic/a/d;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/imo/android/imoim/mic/a/d$a;
}
.end annotation
# static fields
.field public static final l:Lcom/imo/android/imoim/mic/a/d$a;
# instance fields
.field private A:Ljava/lang/Runnable;
.field private B:Ljava/lang/Runnable;
.field final a:Ljava/util/concurrent/ExecutorService;
.field final b:I
.field c:Ljava/lang/String;
.field d:I
.field e:I
.field f:Lcom/imo/android/imoim/mic/a/f;
.field g:Lcom/imo/android/imoim/mic/a/g;
.field volatile h:Z
.field i:J
.field j:J
.field k:Ljava/lang/Runnable;
.field private final m:Ljava/util/concurrent/ExecutorService;
.field private final n:I
.field private final o:I
.field private p:Landroid/media/AudioRecord;
.field private q:[B
.field private r:Ljava/util/concurrent/ConcurrentLinkedQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentLinkedQueue<",
"[B>;"
}
.end annotation
.end field
.field private s:Landroidx/core/util/Pools$Pool;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/core/util/Pools$Pool<",
"[B>;"
}
.end annotation
.end field
.field private t:Lcom/imo/android/imoim/mic/a/a;
.field private u:J
.field private v:J
.field private w:J
.field private x:J
.field private y:Z
.field private z:Z
# direct methods
.method static constructor <clinit>()V
.registers 2
new-instance v0, Lcom/imo/android/imoim/mic/a/d$a;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/imo/android/imoim/mic/a/d$a;-><init>(Lkotlin/f/b/j;)V
sput-object v0, Lcom/imo/android/imoim/mic/a/d;->l:Lcom/imo/android/imoim/mic/a/d$a;
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 14
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 21
invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;
move-result-object v0
iput-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->m:Ljava/util/concurrent/ExecutorService;
.line 24
invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;
move-result-object v0
iput-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->a:Ljava/util/concurrent/ExecutorService;
const v0, 0xbb80
.line 26
iput v0, p0, Lcom/imo/android/imoim/mic/a/d;->b:I
const/16 v0, 0x10
.line 27
iput v0, p0, Lcom/imo/android/imoim/mic/a/d;->n:I
const/16 v0, 0x3e80
.line 28
iput v0, p0, Lcom/imo/android/imoim/mic/a/d;->o:I
const/high16 v0, -0x80000000
.line 41
iput v0, p0, Lcom/imo/android/imoim/mic/a/d;->e:I
const/4 v0, 0x1
.line 50
iput-boolean v0, p0, Lcom/imo/android/imoim/mic/a/d;->h:Z
.line 59
iput-boolean v0, p0, Lcom/imo/android/imoim/mic/a/d;->y:Z
.line 60
iput-boolean v0, p0, Lcom/imo/android/imoim/mic/a/d;->z:Z
.line 179
new-instance v0, Lcom/imo/android/imoim/mic/a/d$d;
invoke-direct {v0, p0}, Lcom/imo/android/imoim/mic/a/d$d;-><init>(Lcom/imo/android/imoim/mic/a/d;)V
check-cast v0, Ljava/lang/Runnable;
iput-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->k:Ljava/lang/Runnable;
.line 237
new-instance v0, Lcom/imo/android/imoim/mic/a/d$c;
invoke-direct {v0, p0}, Lcom/imo/android/imoim/mic/a/d$c;-><init>(Lcom/imo/android/imoim/mic/a/d;)V
check-cast v0, Ljava/lang/Runnable;
iput-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->A:Ljava/lang/Runnable;
.line 260
new-instance v0, Lcom/imo/android/imoim/mic/a/d$b;
invoke-direct {v0, p0}, Lcom/imo/android/imoim/mic/a/d$b;-><init>(Lcom/imo/android/imoim/mic/a/d;)V
check-cast v0, Ljava/lang/Runnable;
iput-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->B:Ljava/lang/Runnable;
return-void
.end method
.method public static final synthetic a(Lcom/imo/android/imoim/mic/a/d;J)V
.registers 3
.line 14
iput-wide p1, p0, Lcom/imo/android/imoim/mic/a/d;->x:J
return-void
.end method
.method public static final synthetic a(Lcom/imo/android/imoim/mic/a/d;[BI)V
.registers 9
.line 14133
iget-boolean v0, p0, Lcom/imo/android/imoim/mic/a/d;->y:Z
const/4 v1, 0x0
if-eqz v0, :cond_21
.line 14134
iput-boolean v1, p0, Lcom/imo/android/imoim/mic/a/d;->y:Z
.line 14135
new-instance v0, Ljava/lang/StringBuilder;
const-string v2, "notifyRecordData -> first audio record after:"
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v2
iget-wide v4, p0, Lcom/imo/android/imoim/mic/a/d;->j:J
sub-long/2addr v2, v4
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v2, "IMOBasicAudioRecorder"
.line 15071
invoke-static {v2, v0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 14137
:cond_21
iget-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->s:Landroidx/core/util/Pools$Pool;
if-nez v0, :cond_2a
const-string v2, "mBufferPool"
invoke-static {v2}, Lkotlin/f/b/o;->a(Ljava/lang/String;)V
:cond_2a
invoke-interface {v0}, Landroidx/core/util/Pools$Pool;->acquire()Ljava/lang/Object;
move-result-object v0
check-cast v0, [B
if-nez v0, :cond_35
.line 14139
new-array v0, p2, [B
goto :goto_3a
.line 14141
:cond_35
array-length v2, v0
if-eq v2, p2, :cond_3a
.line 14142
new-array v0, p2, [B
.line 14145
:cond_3a
:goto_3a
invoke-static {p1, v1, v0, v1, p2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 14146
iget-object p2, p0, Lcom/imo/android/imoim/mic/a/d;->r:Ljava/util/concurrent/ConcurrentLinkedQueue;
if-nez p2, :cond_46
const-string v1, "mRecordDataQueue"
invoke-static {v1}, Lkotlin/f/b/o;->a(Ljava/lang/String;)V
:cond_46
invoke-virtual {p2, v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->offer(Ljava/lang/Object;)Z
.line 14147
iget-wide v0, p0, Lcom/imo/android/imoim/mic/a/d;->v:J
const-wide/16 v2, 0x1
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/imo/android/imoim/mic/a/d;->v:J
.line 14149
iget-object p2, p0, Lcom/imo/android/imoim/mic/a/d;->m:Ljava/util/concurrent/ExecutorService;
iget-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->A:Ljava/lang/Runnable;
invoke-interface {p2, v0}, Ljava/util/concurrent/ExecutorService;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
.line 14151
invoke-direct {p0, p1}, Lcom/imo/android/imoim/mic/a/d;->a([B)V
return-void
.end method
.method private final a([B)V
.registers 8
const-string v0, "$this$indices"
.line 155
invoke-static {p1, v0}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V
.line 7459
new-instance v0, Lkotlin/j/d;
const-string v1, "$this$lastIndex"
invoke-static {p1, v1}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V
.line 7657
array-length v1, p1
add-int/lit8 v1, v1, -0x1
const/4 v2, 0x0
.line 7459
invoke-direct {v0, v2, v1}, Lkotlin/j/d;-><init>(II)V
.line 155
check-cast v0, Lkotlin/j/b;
const-string v1, "$this$step"
invoke-static {v0, v1}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v1, 0x2
.line 8577
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
check-cast v2, Ljava/lang/Number;
const-string v3, "step"
invoke-static {v2, v3}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V
.line 8578
sget-object v2, Lkotlin/j/b;->d:Lkotlin/j/b$a;
.line 10087
iget v2, v0, Lkotlin/j/b;->a:I
.line 10092
iget v3, v0, Lkotlin/j/b;->b:I
.line 10097
iget v0, v0, Lkotlin/j/b;->c:I
if-lez v0, :cond_31
goto :goto_32
:cond_31
const/4 v1, -0x2
.line 8578
:goto_32
invoke-static {v2, v3, v1}, Lkotlin/j/b$a;->a(III)Lkotlin/j/b;
move-result-object v0
.line 11087
iget v1, v0, Lkotlin/j/b;->a:I
.line 11092
iget v2, v0, Lkotlin/j/b;->b:I
.line 11097
iget v0, v0, Lkotlin/j/b;->c:I
if-ltz v0, :cond_41
if-gt v1, v2, :cond_60
goto :goto_43
:cond_41
if-lt v1, v2, :cond_60
:goto_43
add-int/lit8 v3, v1, 0x1
.line 156
aget-byte v3, p1, v3
shl-int/lit8 v3, v3, 0x8
aget-byte v4, p1, v1
and-int/lit16 v4, v4, 0xff
or-int/2addr v3, v4
.line 157
invoke-static {v3}, Ljava/lang/Math;->abs(I)I
move-result v4
iget v5, p0, Lcom/imo/android/imoim/mic/a/d;->e:I
if-le v4, v5, :cond_5c
.line 158
invoke-static {v3}, Ljava/lang/Math;->abs(I)I
move-result v3
iput v3, p0, Lcom/imo/android/imoim/mic/a/d;->e:I
:cond_5c
if-eq v1, v2, :cond_60
add-int/2addr v1, v0
goto :goto_43
:cond_60
return-void
.end method
.method private final a()Z
.registers 8
.line 165
new-instance v0, Lcom/imo/android/imoim/mic/a/a;
invoke-direct {v0}, Lcom/imo/android/imoim/mic/a/a;-><init>()V
iput-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->t:Lcom/imo/android/imoim/mic/a/a;
const/4 v1, 0x0
const/4 v2, 0x1
if-nez v0, :cond_10
:try_start_b
const-string v3, "mMacawHandler"
.line 167
invoke-static {v3}, Lkotlin/f/b/o;->a(Ljava/lang/String;)V
:cond_10
iget v3, p0, Lcom/imo/android/imoim/mic/a/d;->b:I
iget v4, p0, Lcom/imo/android/imoim/mic/a/d;->o:I
iget-object v5, p0, Lcom/imo/android/imoim/mic/a/d;->c:Ljava/lang/String;
invoke-virtual {v0, v2, v3, v4, v5}, Lcom/imo/android/imoim/mic/a/a;->startBuildOggFile(IIILjava/lang/String;)J
move-result-wide v3
iput-wide v3, p0, Lcom/imo/android/imoim/mic/a/d;->u:J
:try_end_1c
.catchall {:try_start_b .. :try_end_1c} :catchall_24
const-wide/16 v5, 0x0
cmp-long v0, v3, v5
if-eqz v0, :cond_23
return v2
:cond_23
return v1
:catchall_24
move-exception v0
.line 169
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "initAudioEncoder -> t:"
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v3, "IMOBasicAudioRecorder"
.line 12079
invoke-static {v3, v0, v2}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V
return v1
.end method
.method public static final synthetic a(Lcom/imo/android/imoim/mic/a/d;)Z
.registers 10
.line 12106
iget v0, p0, Lcom/imo/android/imoim/mic/a/d;->b:I
iget v1, p0, Lcom/imo/android/imoim/mic/a/d;->n:I
const/4 v2, 0x2
invoke-static {v0, v1, v2}, Landroid/media/AudioRecord;->getMinBufferSize(III)I
move-result v8
.line 12108
new-instance v0, Landroid/media/AudioRecord;
iget v5, p0, Lcom/imo/android/imoim/mic/a/d;->b:I
iget v6, p0, Lcom/imo/android/imoim/mic/a/d;->n:I
const/4 v4, 0x1
const/4 v7, 0x2
move-object v3, v0
invoke-direct/range {v3 .. v8}, Landroid/media/AudioRecord;-><init>(IIIII)V
iput-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->p:Landroid/media/AudioRecord;
const/4 v1, 0x1
if-eqz v0, :cond_29
.line 12111
invoke-virtual {v0}, Landroid/media/AudioRecord;->getState()I
move-result v0
if-eq v0, v1, :cond_29
const-string p0, "IMOBasicAudioRecorder"
const-string v0, "initAudioRecord -> AudioRecord not initialized"
.line 13075
invoke-static {p0, v0}, Lcom/imo/android/imoim/util/bt;->e(Ljava/lang/String;Ljava/lang/String;)V
const/4 p0, 0x0
return p0
:cond_29
const/16 v0, 0x800
new-array v0, v0, [B
.line 12117
iput-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->q:[B
.line 12118
new-instance v0, Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-direct {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;-><init>()V
iput-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->r:Ljava/util/concurrent/ConcurrentLinkedQueue;
.line 12119
new-instance v0, Landroidx/core/util/Pools$SimplePool;
const/4 v2, 0x4
invoke-direct {v0, v2}, Landroidx/core/util/Pools$SimplePool;-><init>(I)V
check-cast v0, Landroidx/core/util/Pools$Pool;
iput-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->s:Landroidx/core/util/Pools$Pool;
return v1
.end method
.method public static final synthetic b(Lcom/imo/android/imoim/mic/a/d;)Lcom/imo/android/imoim/mic/a/f;
.registers 1
.line 14
iget-object p0, p0, Lcom/imo/android/imoim/mic/a/d;->f:Lcom/imo/android/imoim/mic/a/f;
return-object p0
.end method
.method public static final synthetic b(Lcom/imo/android/imoim/mic/a/d;J)V
.registers 3
.line 14
iput-wide p1, p0, Lcom/imo/android/imoim/mic/a/d;->w:J
return-void
.end method
.method public static final synthetic c(Lcom/imo/android/imoim/mic/a/d;J)V
.registers 3
.line 14
iput-wide p1, p0, Lcom/imo/android/imoim/mic/a/d;->i:J
return-void
.end method
.method public static final synthetic c(Lcom/imo/android/imoim/mic/a/d;)Z
.registers 1
.line 14
invoke-direct {p0}, Lcom/imo/android/imoim/mic/a/d;->a()Z
move-result p0
return p0
.end method
.method public static final synthetic d(Lcom/imo/android/imoim/mic/a/d;)V
.registers 3
const-string v0, "IMOBasicAudioRecorder"
const-string v1, "releaseAudioRecord"
.line 14071
invoke-static {v0, v1}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 13126
iget-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->p:Landroid/media/AudioRecord;
if-eqz v0, :cond_11
.line 13127
invoke-virtual {v0}, Landroid/media/AudioRecord;->release()V
const/4 v0, 0x0
.line 13128
iput-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->p:Landroid/media/AudioRecord;
:cond_11
return-void
.end method
.method public static final synthetic e(Lcom/imo/android/imoim/mic/a/d;)Landroid/media/AudioRecord;
.registers 1
.line 14
iget-object p0, p0, Lcom/imo/android/imoim/mic/a/d;->p:Landroid/media/AudioRecord;
return-object p0
.end method
.method public static final synthetic f(Lcom/imo/android/imoim/mic/a/d;)Z
.registers 1
.line 14
iget-boolean p0, p0, Lcom/imo/android/imoim/mic/a/d;->h:Z
return p0
.end method
.method public static final synthetic g(Lcom/imo/android/imoim/mic/a/d;)V
.registers 2
const/4 v0, 0x0
.line 14
iput-boolean v0, p0, Lcom/imo/android/imoim/mic/a/d;->h:Z
return-void
.end method
.method public static final synthetic h(Lcom/imo/android/imoim/mic/a/d;)[B
.registers 2
.line 14
iget-object p0, p0, Lcom/imo/android/imoim/mic/a/d;->q:[B
if-nez p0, :cond_9
const-string v0, "mRecordBuffer"
invoke-static {v0}, Lkotlin/f/b/o;->a(Ljava/lang/String;)V
:cond_9
return-object p0
.end method
.method public static final synthetic i(Lcom/imo/android/imoim/mic/a/d;)I
.registers 1
.line 14
iget p0, p0, Lcom/imo/android/imoim/mic/a/d;->d:I
return p0
.end method
.method public static final synthetic j(Lcom/imo/android/imoim/mic/a/d;)V
.registers 2
.line 15176
iget-object v0, p0, Lcom/imo/android/imoim/mic/a/d;->m:Ljava/util/concurrent/ExecutorService;
iget-object p0, p0, Lcom/imo/android/imoim/mic/a/d;->B:Ljava/lang/Runnable;
invoke-interface {v0, p0}, Ljava/util/concurrent/ExecutorService;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
return-void
.end method
.method public static final synthetic k(Lcom/imo/android/imoim/mic/a/d;)Z
.registers 1
.line 14
iget-boolean p0, p0, Lcom/imo/android/imoim/mic/a/d;->z:Z
return p0
.end method
.method public static final synthetic l(Lcom/imo/android/imoim/mic/a/d;)V
.registers 2
const/4 v0, 0x0
.line 14
iput-boolean v0, p0, Lcom/imo/android/imoim/mic/a/d;->z:Z
return-void
.end method
.method public static final synthetic m(Lcom/imo/android/imoim/mic/a/d;)J
.registers 3
.line 14
iget-wide v0, p0, Lcom/imo/android/imoim/mic/a/d;->j:J
return-wide v0
.end method
.method public static final synthetic n(Lcom/imo/android/imoim/mic/a/d;)Ljava/util/concurrent/ConcurrentLinkedQueue;
.registers 2
.line 14
iget-object p0, p0, Lcom/imo/android/imoim/mic/a/d;->r:Ljava/util/concurrent/ConcurrentLinkedQueue;
if-nez p0, :cond_9
const-string v0, "mRecordDataQueue"
invoke-static {v0}, Lkotlin/f/b/o;->a(Ljava/lang/String;)V
:cond_9
return-object p0
.end method
.method public static final synthetic o(Lcom/imo/android/imoim/mic/a/d;)Lcom/imo/android/imoim/mic/a/a;
.registers 2
.line 14
iget-object p0, p0, Lcom/imo/android/imoim/mic/a/d;->t:Lcom/imo/android/imoim/mic/a/a;
if-nez p0, :cond_9
const-string v0, "mMacawHandler"
invoke-static {v0}, Lkotlin/f/b/o;->a(Ljava/lang/String;)V
:cond_9
return-object p0
.end method
.method public static final synthetic p(Lcom/imo/android/imoim/mic/a/d;)J
.registers 3
.line 14
iget-wide v0, p0, Lcom/imo/android/imoim/mic/a/d;->u:J
return-wide v0
.end method
.method public static final synthetic q(Lcom/imo/android/imoim/mic/a/d;)J
.registers 3
.line 14
iget-wide v0, p0, Lcom/imo/android/imoim/mic/a/d;->x:J
return-wide v0
.end method
.method public static final synthetic r(Lcom/imo/android/imoim/mic/a/d;)J
.registers 3
.line 14
iget-wide v0, p0, Lcom/imo/android/imoim/mic/a/d;->w:J
return-wide v0
.end method
.method public static final synthetic s(Lcom/imo/android/imoim/mic/a/d;)J
.registers 3
.line 14
iget-wide v0, p0, Lcom/imo/android/imoim/mic/a/d;->i:J
return-wide v0
.end method
.method public static final synthetic t(Lcom/imo/android/imoim/mic/a/d;)Landroidx/core/util/Pools$Pool;
.registers 2
.line 14
iget-object p0, p0, Lcom/imo/android/imoim/mic/a/d;->s:Landroidx/core/util/Pools$Pool;
if-nez p0, :cond_9
const-string v0, "mBufferPool"
invoke-static {v0}, Lkotlin/f/b/o;->a(Ljava/lang/String;)V
:cond_9
return-object p0
.end method
.method public static final synthetic u(Lcom/imo/android/imoim/mic/a/d;)J
.registers 3
.line 14
iget-wide v0, p0, Lcom/imo/android/imoim/mic/a/d;->v:J
return-wide v0
.end method
.method public static final synthetic v(Lcom/imo/android/imoim/mic/a/d;)Ljava/lang/String;
.registers 1
.line 14
iget-object p0, p0, Lcom/imo/android/imoim/mic/a/d;->c:Ljava/lang/String;
return-object p0
.end method
.method public static final synthetic w(Lcom/imo/android/imoim/mic/a/d;)Lcom/imo/android/imoim/mic/a/g;
.registers 1
.line 14
iget-object p0, p0, Lcom/imo/android/imoim/mic/a/d;->g:Lcom/imo/android/imoim/mic/a/g;
return-object p0
.end method