SpeakerVerifier.smali

.class public Lcom/iflytek/cloud/SpeakerVerifier;
.super Lcom/iflytek/thirdparty/v;
.source "SourceFile"


# static fields
.field private static a:Lcom/iflytek/cloud/SpeakerVerifier;


# instance fields
.field private b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .prologue
    .line 82
    const/4 v0, 0x0

    sput-object v0, Lcom/iflytek/cloud/SpeakerVerifier;->a:Lcom/iflytek/cloud/SpeakerVerifier;

    return-void
.end method

.method protected constructor <init>(Landroid/content/Context;Lcom/iflytek/cloud/InitListener;)V
    .registers 4

    .prologue
    .line 138
    invoke-direct {p0}, Lcom/iflytek/thirdparty/v;-><init>()V

    .line 84
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    .line 140
    new-instance v0, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    invoke-direct {v0, p1}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    .line 141
    return-void
.end method

.method public static createVerifier(Landroid/content/Context;Lcom/iflytek/cloud/InitListener;)Lcom/iflytek/cloud/SpeakerVerifier;
    .registers 4

    .prologue
    .line 102
    sget-object v1, Lcom/iflytek/cloud/SpeakerVerifier;->sSync:Ljava/lang/Object;

    monitor-enter v1

    .line 103
    :try_start_3
    sget-object v0, Lcom/iflytek/cloud/SpeakerVerifier;->a:Lcom/iflytek/cloud/SpeakerVerifier;

    if-nez v0, :cond_14

    invoke-static {}, Lcom/iflytek/cloud/SpeechUtility;->getUtility()Lcom/iflytek/cloud/SpeechUtility;

    move-result-object v0

    if-eqz v0, :cond_14

    .line 104
    new-instance v0, Lcom/iflytek/cloud/SpeakerVerifier;

    invoke-direct {v0, p0, p1}, Lcom/iflytek/cloud/SpeakerVerifier;-><init>(Landroid/content/Context;Lcom/iflytek/cloud/InitListener;)V

    sput-object v0, Lcom/iflytek/cloud/SpeakerVerifier;->a:Lcom/iflytek/cloud/SpeakerVerifier;

    .line 106
    :cond_14
    monitor-exit v1
    :try_end_15
    .catchall {:try_start_3 .. :try_end_15} :catchall_18

    .line 108
    sget-object v0, Lcom/iflytek/cloud/SpeakerVerifier;->a:Lcom/iflytek/cloud/SpeakerVerifier;

    return-object v0

    .line 106
    :catchall_18
    move-exception v0

    :try_start_19
    monitor-exit v1
    :try_end_1a
    .catchall {:try_start_19 .. :try_end_1a} :catchall_18

    throw v0
.end method

.method public static getVerifier()Lcom/iflytek/cloud/SpeakerVerifier;
    .registers 1

    .prologue
    .line 125
    sget-object v0, Lcom/iflytek/cloud/SpeakerVerifier;->a:Lcom/iflytek/cloud/SpeakerVerifier;

    return-object v0
.end method


# virtual methods
.method public cancel()V
    .registers 3

    .prologue
    .line 389
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    if-eqz v0, :cond_12

    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    invoke-virtual {v0}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->isListening()Z

    move-result v0

    if-eqz v0, :cond_12

    .line 390
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->cancel(Z)V

    .line 392
    :cond_12
    return-void
.end method

.method public destroy()Z
    .registers 4

    .prologue
    .line 486
    const/4 v0, 0x1

    .line 488
    iget-object v1, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    .line 489
    if-eqz v1, :cond_9

    .line 490
    invoke-virtual {v1}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->destroy()Z

    move-result v0

    .line 493
    :cond_9
    if-eqz v0, :cond_18

    invoke-super {p0}, Lcom/iflytek/thirdparty/v;->destroy()Z

    move-result v0

    if-eqz v0, :cond_18

    .line 494
    sget-object v1, Lcom/iflytek/cloud/SpeakerVerifier;->sSync:Ljava/lang/Object;

    monitor-enter v1

    .line 495
    const/4 v2, 0x0

    :try_start_15
    sput-object v2, Lcom/iflytek/cloud/SpeakerVerifier;->a:Lcom/iflytek/cloud/SpeakerVerifier;

    .line 496
    monitor-exit v1

    .line 499
    :cond_18
    return v0

    .line 496
    :catchall_19
    move-exception v0

    monitor-exit v1
    :try_end_1b
    .catchall {:try_start_15 .. :try_end_1b} :catchall_19

    throw v0
.end method

.method public generatePassword(I)Ljava/lang/String;
    .registers 3

    .prologue
    .line 199
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    if-eqz v0, :cond_b

    .line 200
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    invoke-virtual {v0, p1}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->generatePassword(I)Ljava/lang/String;

    move-result-object v0

    .line 203
    :goto_a
    return-object v0

    .line 202
    :cond_b
    const-string v0, "SpeakerVerifier getPasswordList failed, is not running"

    invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogE(Ljava/lang/String;)V

    .line 203
    const/4 v0, 0x0

    goto :goto_a
.end method

.method public getParameter(Ljava/lang/String;)Ljava/lang/String;
    .registers 3

    .prologue
    .line 462
    invoke-super {p0, p1}, Lcom/iflytek/thirdparty/v;->getParameter(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public getPasswordList(Lcom/iflytek/cloud/SpeechListener;)V
    .registers 6

    .prologue
    .line 170
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    if-eqz v0, :cond_2d

    .line 171
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    const-string v1, "params"

    const/4 v2, 0x0

    invoke-virtual {v0, v1, v2}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->setParameter(Ljava/lang/String;Ljava/lang/String;)Z

    .line 173
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->mSessionParams:Lcom/iflytek/thirdparty/ad;

    const-string v1, "subject"

    const-string v2, "ivp"

    const/4 v3, 0x1

    invoke-virtual {v0, v1, v2, v3}, Lcom/iflytek/thirdparty/ad;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    .line 174
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->mSessionParams:Lcom/iflytek/thirdparty/ad;

    const-string v1, "rse"

    const-string v2, "gb2312"

    const/4 v3, 0x0

    invoke-virtual {v0, v1, v2, v3}, Lcom/iflytek/thirdparty/ad;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    .line 175
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    iget-object v1, p0, Lcom/iflytek/cloud/SpeakerVerifier;->mSessionParams:Lcom/iflytek/thirdparty/ad;

    invoke-virtual {v0, v1}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->setParameter(Lcom/iflytek/thirdparty/ad;)Z

    .line 176
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    invoke-virtual {v0, p1}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->getPasswordList(Lcom/iflytek/cloud/SpeechListener;)V

    .line 180
    :goto_2c
    return-void

    .line 178
    :cond_2d
    const-string v0, "SpeakerVerifier getPasswordList failed, is not running"

    invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogE(Ljava/lang/String;)V

    goto :goto_2c
.end method

.method public isListening()Z
    .registers 2

    .prologue
    .line 369
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    if-eqz v0, :cond_e

    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    invoke-virtual {v0}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->isListening()Z

    move-result v0

    if-eqz v0, :cond_e

    .line 370
    const/4 v0, 0x1

    .line 372
    :goto_d
    return v0

    :cond_e
    const/4 v0, 0x0

    goto :goto_d
.end method

.method public sendRequest(Ljava/lang/String;Ljava/lang/String;Lcom/iflytek/cloud/SpeechListener;)I
    .registers 6

    .prologue
    .line 541
    .line 542
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    iget-object v1, p0, Lcom/iflytek/cloud/SpeakerVerifier;->mSessionParams:Lcom/iflytek/thirdparty/ad;

    invoke-virtual {v0, v1}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->setParameter(Lcom/iflytek/thirdparty/ad;)Z

    move-result v0

    if-eqz v0, :cond_11

    .line 543
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    invoke-virtual {v0, p1, p2, p3}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->sendRequest(Ljava/lang/String;Ljava/lang/String;Lcom/iflytek/cloud/SpeechListener;)I

    move-result v0

    .line 548
    :goto_10
    return v0

    .line 545
    :cond_11
    const/16 v0, 0x4e2c

    goto :goto_10
.end method

.method public setParameter(Ljava/lang/String;Ljava/lang/String;)Z
    .registers 4

    .prologue
    .line 441
    invoke-super {p0, p1, p2}, Lcom/iflytek/thirdparty/v;->setParameter(Ljava/lang/String;Ljava/lang/String;)Z

    move-result v0

    return v0
.end method

.method public startListening(Lcom/iflytek/cloud/VerifierListener;)I
    .registers 4

    .prologue
    .line 263
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    if-nez v0, :cond_7

    .line 264
    const/16 v0, 0x5209

    .line 268
    :goto_6
    return v0

    .line 267
    :cond_7
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    iget-object v1, p0, Lcom/iflytek/cloud/SpeakerVerifier;->mSessionParams:Lcom/iflytek/thirdparty/ad;

    invoke-virtual {v0, v1}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->setParameter(Lcom/iflytek/thirdparty/ad;)Z

    .line 268
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    invoke-virtual {v0, p1}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->startListening(Lcom/iflytek/cloud/VerifierListener;)I

    move-result v0

    goto :goto_6
.end method

.method public stopListening()V
    .registers 2

    .prologue
    .line 297
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    if-eqz v0, :cond_12

    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    invoke-virtual {v0}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->isListening()Z

    move-result v0

    if-eqz v0, :cond_12

    .line 298
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    invoke-virtual {v0}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->stopListening()V

    .line 302
    :goto_11
    return-void

    .line 300
    :cond_12
    const-string v0, "SpeakerVerifier stopListening failed, is not running"

    invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogE(Ljava/lang/String;)V

    goto :goto_11
.end method

.method public writeAudio([BII)I
    .registers 5

    .prologue
    .line 342
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    if-eqz v0, :cond_13

    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    invoke-virtual {v0}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->isListening()Z

    move-result v0

    if-eqz v0, :cond_13

    .line 343
    iget-object v0, p0, Lcom/iflytek/cloud/SpeakerVerifier;->b:Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;

    invoke-virtual {v0, p1, p2, p3}, Lcom/iflytek/cloud/speech/impl/SpeakerVerifierImpl;->writeAudio([BII)I

    move-result v0

    .line 346
    :goto_12
    return v0

    .line 345
    :cond_13
    const-string v0, "SpeakerVerifier writeAudio failed, is not running"

    invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogE(Ljava/lang/String;)V

    .line 346
    const/16 v0, 0x520c

    goto :goto_12
.end method