AudioFeatureImpl.smali 
.class public Lio/dcloud/feature/audio/AudioFeatureImpl;
.super Ljava/lang/Object;
# interfaces
.implements Lio/dcloud/common/DHInterface/IFeature;
.implements Lio/dcloud/common/adapter/util/MessageHandler$IMessages;
# static fields
.field static final TAG:Ljava/lang/String; = "AudioFeatureImpl"
# instance fields
.field mAppsAudioObj:Ljava/util/HashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/HashMap<",
            "Ljava/lang/String;",
            "Ljava/util/ArrayList;",
            ">;"
        }
    .end annotation
.end field
# direct methods
.method public constructor <init>()V
    .registers 2
    .line 1
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    const/4 v0, 0x0
    .line 3
    iput-object v0, p0, Lio/dcloud/feature/audio/AudioFeatureImpl;->mAppsAudioObj:Ljava/util/HashMap;
    return-void
.end method
.method private findAppObj(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    .registers 5
    .line 1
    invoke-direct {p0, p1}, Lio/dcloud/feature/audio/AudioFeatureImpl;->getAppObjList(Ljava/lang/String;)Ljava/util/ArrayList;
    move-result-object p1
    .line 3
    invoke-virtual {p1}, Ljava/util/ArrayList;->isEmpty()Z
    move-result v0
    if-nez v0, :cond_28
    .line 4
    invoke-virtual {p1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
    move-result-object p1
    :cond_e
    invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
    move-result v0
    if-eqz v0, :cond_28
    invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
    move-result-object v0
    .line 5
    instance-of v1, v0, Lio/dcloud/feature/audio/AbsAudio;
    if-eqz v1, :cond_e
    .line 6
    move-object v1, v0
    check-cast v1, Lio/dcloud/feature/audio/AbsAudio;
    iget-object v1, v1, Lio/dcloud/feature/audio/AbsAudio;->mUuid:Ljava/lang/String;
    invoke-virtual {v1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-eqz v1, :cond_e
    goto :goto_29
    :cond_28
    const/4 v0, 0x0
    :goto_29
    return-object v0
.end method
.method private getAppObjList(Ljava/lang/String;)Ljava/util/ArrayList;
    .registers 4
    .line 1
    iget-object v0, p0, Lio/dcloud/feature/audio/AudioFeatureImpl;->mAppsAudioObj:Ljava/util/HashMap;
    invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Ljava/util/ArrayList;
    if-nez v0, :cond_15
    .line 3
    new-instance v0, Ljava/util/ArrayList;
    const/4 v1, 0x2
    invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
    .line 4
    iget-object v1, p0, Lio/dcloud/feature/audio/AudioFeatureImpl;->mAppsAudioObj:Ljava/util/HashMap;
    invoke-virtual {v1, p1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    :cond_15
    return-object v0
.end method
.method private putAppObjList(Ljava/lang/String;Ljava/lang/Object;)V
    .registers 3
    .line 1
    invoke-direct {p0, p1}, Lio/dcloud/feature/audio/AudioFeatureImpl;->getAppObjList(Ljava/lang/String;)Ljava/util/ArrayList;
    move-result-object p1
    .line 2
    invoke-virtual {p1, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
    return-void
.end method
.method private removeAppObjFromList(Ljava/lang/String;Ljava/lang/Object;)V
    .registers 3
    .line 1
    invoke-direct {p0, p1}, Lio/dcloud/feature/audio/AudioFeatureImpl;->getAppObjList(Ljava/lang/String;)Ljava/util/ArrayList;
    move-result-object p1
    if-eqz p1, :cond_9
    .line 3
    invoke-virtual {p1, p2}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
    :cond_9
    return-void
.end method
.method private setCanPlay(Ljava/lang/String;Ljava/lang/String;Z)V
    .registers 6
    .line 1
    invoke-direct {p0, p1}, Lio/dcloud/feature/audio/AudioFeatureImpl;->getAppObjList(Ljava/lang/String;)Ljava/util/ArrayList;
    move-result-object p1
    .line 2
    invoke-virtual {p1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
    move-result-object p1
    :cond_8
    :goto_8
    invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
    move-result v0
    if-eqz v0, :cond_29
    invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
    move-result-object v0
    .line 3
    instance-of v1, v0, Lio/dcloud/feature/audio/AudioPlayer;
    if-eqz v1, :cond_8
    .line 4
    check-cast v0, Lio/dcloud/feature/audio/AudioPlayer;
    .line 5
    iget-object v1, v0, Lio/dcloud/feature/audio/AbsAudio;->mUuid:Ljava/lang/String;
    invoke-virtual {v1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    if-nez v1, :cond_25
    if-nez p3, :cond_25
    .line 6
    invoke-virtual {v0}, Lio/dcloud/feature/audio/AudioPlayer;->pause()V
    .line 8
    :cond_25
    invoke-virtual {v0, p3}, Lio/dcloud/feature/audio/AudioPlayer;->setCanMix(Z)V
    goto :goto_8
    :cond_29
    return-void
.end method
.method private setSpeakerphoneOn(Landroid/media/AudioManager;Z)V
    .registers 5
    const/4 v0, 0x1
    if-eqz p2, :cond_a
    .line 1
    invoke-virtual {p1, v0}, Landroid/media/AudioManager;->setSpeakerphoneOn(Z)V
    .line 2
    invoke-virtual {p1, v0}, Landroid/media/AudioManager;->setMode(I)V
    goto :goto_16
    :cond_a
    const/4 p2, 0x0
    .line 4
    invoke-virtual {p1, p2}, Landroid/media/AudioManager;->setSpeakerphoneOn(Z)V
    const/4 v1, -0x1
    .line 5
    invoke-virtual {p1, p2, v0, v1}, Landroid/media/AudioManager;->setRouting(III)V
    const/4 p2, 0x3
    .line 6
    invoke-virtual {p1, p2}, Landroid/media/AudioManager;->setMode(I)V
    :goto_16
    return-void
.end method
# virtual methods
.method public dispose(Ljava/lang/String;)V
    .registers 2
    return-void
.end method
.method public execute(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
    .registers 12
    .line 1
    invoke-interface {p1}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object v0
    invoke-interface {v0}, Lio/dcloud/common/DHInterface/IFrameView;->obtainApp()Lio/dcloud/common/DHInterface/IApp;
    move-result-object v0
    invoke-interface {v0}, Lio/dcloud/common/DHInterface/IApp;->obtainAppId()Ljava/lang/String;
    move-result-object v0
    .line 2
    new-instance v1, Ljava/lang/StringBuilder;
    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
    const-string v2, "execute pJsArgs[0]="
    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    const/4 v2, 0x0
    aget-object v3, p3, v2
    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v1
    const-string v3, "AudioFeatureImpl"
    invoke-static {v3, v1}, Lio/dcloud/common/adapter/util/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V
    const-string v1, "AudioSyncExecMethod"
    .line 3
    invoke-virtual {v1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v1
    const/4 v3, 0x2
    const/4 v4, 0x3
    const/4 v5, 0x0
    const/4 v6, 0x1
    if-eqz v1, :cond_108
    .line 4
    aget-object p2, p3, v2
    .line 5
    aget-object p3, p3, v6
    invoke-static {p3}, Lio/dcloud/common/util/JSONUtil;->createJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
    move-result-object p3
    .line 6
    invoke-virtual {p2}, Ljava/lang/String;->hashCode()I
    invoke-virtual {p2}, Ljava/lang/String;->hashCode()I
    const/4 v1, -0x1
    invoke-virtual {p2}, Ljava/lang/String;->hashCode()I
    move-result v7
    sparse-switch v7, :sswitch_data_114
    :goto_47
    move v3, v1
    goto :goto_88
    :sswitch_49
    const-string v3, "CreatePlayer"
    invoke-virtual {p2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result p2
    if-nez p2, :cond_52
    goto :goto_47
    :cond_52
    const/4 v3, 0x5
    goto :goto_88
    :sswitch_54
    const-string v3, "getStyles"
    invoke-virtual {p2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result p2
    if-nez p2, :cond_5d
    goto :goto_47
    :cond_5d
    const/4 v3, 0x4
    goto :goto_88
    :sswitch_5f
    const-string v3, "getPaused"
    invoke-virtual {p2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result p2
    if-nez p2, :cond_68
    goto :goto_47
    :cond_68
    move v3, v4
    goto :goto_88
    :sswitch_6a
    const-string v4, "getBuffered"
    invoke-virtual {p2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result p2
    if-nez p2, :cond_88
    goto :goto_47
    :sswitch_73
    const-string v3, "getDuration"
    invoke-virtual {p2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result p2
    if-nez p2, :cond_7c
    goto :goto_47
    :cond_7c
    move v3, v6
    goto :goto_88
    :sswitch_7e
    const-string v3, "getPosition"
    invoke-virtual {p2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result p2
    if-nez p2, :cond_87
    goto :goto_47
    :cond_87
    move v3, v2
    :cond_88
    :goto_88
    packed-switch v3, :pswitch_data_12e
    goto/16 :goto_113
    .line 22
    :pswitch_8d
    invoke-static {p3, v2}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object p2
    .line 23
    invoke-static {p3, v6}, Lio/dcloud/common/util/JSONUtil;->getJSONObject(Lorg/json/JSONArray;I)Lorg/json/JSONObject;
    move-result-object p3
    .line 24
    invoke-static {p3, p1}, Lio/dcloud/feature/audio/AudioPlayer;->createAudioPlayer(Lorg/json/JSONObject;Lio/dcloud/common/DHInterface/IWebview;)Lio/dcloud/feature/audio/AudioPlayer;
    move-result-object p3
    .line 25
    iput-object p2, p3, Lio/dcloud/feature/audio/AbsAudio;->mUuid:Ljava/lang/String;
    .line 26
    invoke-interface {p1}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object p1
    invoke-interface {p1}, Lio/dcloud/common/DHInterface/IFrameView;->obtainApp()Lio/dcloud/common/DHInterface/IApp;
    move-result-object p1
    invoke-interface {p1}, Lio/dcloud/common/DHInterface/IApp;->obtainAppId()Ljava/lang/String;
    move-result-object p1
    invoke-direct {p0, p1, p3}, Lio/dcloud/feature/audio/AudioFeatureImpl;->putAppObjList(Ljava/lang/String;Ljava/lang/Object;)V
    goto :goto_113
    .line 45
    :pswitch_ab
    invoke-static {p3, v2}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object p1
    .line 46
    invoke-direct {p0, v0, p1}, Lio/dcloud/feature/audio/AudioFeatureImpl;->findAppObj(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    move-result-object p1
    check-cast p1, Lio/dcloud/feature/audio/AudioPlayer;
    .line 48
    invoke-virtual {p3}, Lorg/json/JSONArray;->length()I
    move-result p2
    if-le p2, v6, :cond_bf
    .line 49
    invoke-static {p3, v6}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object v5
    .line 50
    :cond_bf
    invoke-virtual {p1, v5}, Lio/dcloud/feature/audio/AudioPlayer;->getStyles(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v5
    goto :goto_113
    .line 51
    :pswitch_c4
    invoke-static {p3, v2}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object p1
    .line 52
    invoke-direct {p0, v0, p1}, Lio/dcloud/feature/audio/AudioFeatureImpl;->findAppObj(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    move-result-object p1
    check-cast p1, Lio/dcloud/feature/audio/AudioPlayer;
    .line 53
    invoke-virtual {p1}, Lio/dcloud/feature/audio/AudioPlayer;->isPause()Ljava/lang/String;
    move-result-object v5
    goto :goto_113
    .line 58
    :pswitch_d3
    invoke-static {p3, v2}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object p1
    .line 59
    invoke-direct {p0, v0, p1}, Lio/dcloud/feature/audio/AudioFeatureImpl;->findAppObj(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    move-result-object p1
    check-cast p1, Lio/dcloud/feature/audio/AudioPlayer;
    .line 60
    invoke-virtual {p1}, Lio/dcloud/feature/audio/AudioPlayer;->getBuffer()Ljava/lang/String;
    move-result-object v5
    goto :goto_113
    .line 61
    :pswitch_e2
    invoke-static {p3, v2}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object p1
    .line 62
    invoke-direct {p0, v0, p1}, Lio/dcloud/feature/audio/AudioFeatureImpl;->findAppObj(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    move-result-object p1
    check-cast p1, Lio/dcloud/feature/audio/AudioPlayer;
    .line 63
    invoke-virtual {p1}, Lio/dcloud/feature/audio/AudioPlayer;->getDuration()Ljava/lang/String;
    move-result-object p1
    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
    move-result-object v5
    goto :goto_113
    .line 68
    :pswitch_f5
    invoke-static {p3, v2}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object p1
    .line 69
    invoke-direct {p0, v0, p1}, Lio/dcloud/feature/audio/AudioFeatureImpl;->findAppObj(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    move-result-object p1
    check-cast p1, Lio/dcloud/feature/audio/AudioPlayer;
    .line 70
    invoke-virtual {p1}, Lio/dcloud/feature/audio/AudioPlayer;->getPosition()Ljava/lang/String;
    move-result-object p1
    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
    move-result-object v5
    goto :goto_113
    :cond_108
    new-array v0, v4, [Ljava/lang/Object;
    aput-object p1, v0, v2
    aput-object p2, v0, v6
    aput-object p3, v0, v3
    .line 107
    invoke-static {p0, v0}, Lio/dcloud/common/adapter/util/MessageHandler;->sendMessage(Lio/dcloud/common/adapter/util/MessageHandler$IMessages;Ljava/lang/Object;)V
    :goto_113
    return-object v5
    :sswitch_data_114
    .sparse-switch
        -0x57932961 -> :sswitch_7e
        0x51e8b0a -> :sswitch_73
        0x2121ce55 -> :sswitch_6a
        0x29c3bc24 -> :sswitch_5f
        0x2fefbbd8 -> :sswitch_54
        0x5fbecf1d -> :sswitch_49
    .end sparse-switch
    :pswitch_data_12e
    .packed-switch 0x0
        :pswitch_f5
        :pswitch_e2
        :pswitch_d3
        :pswitch_c4
        :pswitch_ab
        :pswitch_8d
    .end packed-switch
.end method
.method public execute(Ljava/lang/Object;)V
    .registers 19
    move-object/from16 v1, p0
    .line 108
    move-object/from16 v0, p1
    check-cast v0, [Ljava/lang/Object;
    const/4 v2, 0x0
    .line 109
    aget-object v3, v0, v2
    check-cast v3, Lio/dcloud/common/DHInterface/IWebview;
    const/4 v4, 0x1
    .line 110
    aget-object v5, v0, v4
    invoke-static {v5}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
    move-result-object v5
    const/4 v6, 0x2
    .line 111
    aget-object v0, v0, v6
    check-cast v0, [Ljava/lang/String;
    .line 112
    invoke-interface {v3}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
    move-result-object v7
    invoke-interface {v7}, Lio/dcloud/common/DHInterface/IFrameView;->obtainApp()Lio/dcloud/common/DHInterface/IApp;
    move-result-object v7
    .line 113
    invoke-interface {v7}, Lio/dcloud/common/DHInterface/IApp;->obtainAppId()Ljava/lang/String;
    move-result-object v8
    .line 114
    aget-object v9, v0, v2
    .line 115
    aget-object v0, v0, v4
    invoke-static {v0}, Lio/dcloud/common/util/JSONUtil;->createJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
    move-result-object v0
    .line 116
    invoke-static {v0, v2}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object v10
    const-string v11, "RecorderExecMethod"
    .line 117
    invoke-virtual {v11, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v11
    const-string v12, "stop"
    const-string v13, "resume"
    const-string v14, "pause"
    if-eqz v11, :cond_d9
    .line 118
    invoke-interface {v3}, Lio/dcloud/common/DHInterface/IWebview;->getContext()Landroid/content/Context;
    move-result-object v2
    new-instance v7, Ljava/lang/StringBuilder;
    invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
    const-string v11, "Audio-"
    invoke-virtual {v7, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v5
    invoke-static {v2, v5}, Lio/dcloud/common/util/AppRuntime;->checkPrivacyComplianceAndPrompt(Landroid/content/Context;Ljava/lang/String;)V
    :try_start_55
    const-string v2, "record"
    .line 120
    invoke-virtual {v2, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v2
    if-eqz v2, :cond_7e
    .line 121
    invoke-static {v0, v4}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object v2
    .line 122
    invoke-static {v0, v6}, Lio/dcloud/common/util/JSONUtil;->getJSONObject(Lorg/json/JSONArray;I)Lorg/json/JSONObject;
    move-result-object v0
    .line 123
    new-instance v4, Lio/dcloud/feature/audio/recorder/RecordOption;
    invoke-direct {v4, v3, v0}, Lio/dcloud/feature/audio/recorder/RecordOption;-><init>(Lio/dcloud/common/DHInterface/IWebview;Lorg/json/JSONObject;)V
    .line 124
    iget-object v0, v4, Lio/dcloud/feature/audio/recorder/RecordOption;->mFileName:Ljava/lang/String;
    invoke-static {v3, v2, v0}, Lio/dcloud/common/util/JSUtil;->checkOperateDirErrorAndCallback(Lio/dcloud/common/DHInterface/IWebview;Ljava/lang/String;Ljava/lang/String;)Z
    move-result v0
    if-eqz v0, :cond_73
    return-void
    .line 127
    :cond_73
    invoke-static {v4, v2}, Lio/dcloud/feature/audio/AudioRecorderMgr;->startRecorder(Lio/dcloud/feature/audio/recorder/RecordOption;Ljava/lang/String;)Lio/dcloud/feature/audio/AudioRecorderMgr;
    move-result-object v0
    .line 128
    iput-object v10, v0, Lio/dcloud/feature/audio/AbsAudio;->mUuid:Ljava/lang/String;
    .line 129
    invoke-direct {v1, v8, v0}, Lio/dcloud/feature/audio/AudioFeatureImpl;->putAppObjList(Ljava/lang/String;Ljava/lang/Object;)V
    goto/16 :goto_251
    .line 130
    :cond_7e
    invoke-virtual {v14, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v0
    if-eqz v0, :cond_8f
    .line 131
    invoke-direct {v1, v8, v10}, Lio/dcloud/feature/audio/AudioFeatureImpl;->findAppObj(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Lio/dcloud/feature/audio/AudioRecorderMgr;
    invoke-virtual {v0}, Lio/dcloud/feature/audio/AudioRecorderMgr;->pause()V
    goto/16 :goto_251
    .line 132
    :cond_8f
    invoke-virtual {v12, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v0
    if-eqz v0, :cond_a6
    .line 133
    invoke-direct {v1, v8, v10}, Lio/dcloud/feature/audio/AudioFeatureImpl;->findAppObj(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Lio/dcloud/feature/audio/AudioRecorderMgr;
    .line 134
    invoke-virtual {v0}, Lio/dcloud/feature/audio/AudioRecorderMgr;->stop()V
    .line 135
    invoke-virtual {v0}, Lio/dcloud/feature/audio/AudioRecorderMgr;->successCallback()V
    .line 136
    invoke-direct {v1, v8, v0}, Lio/dcloud/feature/audio/AudioFeatureImpl;->removeAppObjFromList(Ljava/lang/String;Ljava/lang/Object;)V
    goto/16 :goto_251
    .line 137
    :cond_a6
    invoke-virtual {v13, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v0
    if-eqz v0, :cond_251
    .line 138
    invoke-direct {v1, v8, v10}, Lio/dcloud/feature/audio/AudioFeatureImpl;->findAppObj(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Lio/dcloud/feature/audio/AudioRecorderMgr;
    invoke-virtual {v0}, Lio/dcloud/feature/audio/AudioRecorderMgr;->resume()V
    :try_end_b5
    .catch Ljava/lang/Exception; {:try_start_55 .. :try_end_b5} :catch_b7
    goto/16 :goto_251
    :catch_b7
    move-exception v0
    .line 141
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
    .line 142
    new-instance v2, Ljava/lang/StringBuilder;
    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
    const-string v3, "RecorderExecMethod _methodName="
    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v2, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    const-string v3, "; e ="
    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
    move-result-object v0
    invoke-static {v0}, Lio/dcloud/common/adapter/util/Logger;->e(Ljava/lang/String;)V
    goto/16 :goto_251
    :cond_d9
    const-string v11, "AudioExecMethod"
    .line 144
    invoke-virtual {v11, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v5
    if-eqz v5, :cond_251
    const/4 v5, 0x0
    const/4 v11, -0x1
    .line 147
    :try_start_e3
    invoke-direct {v1, v8, v10}, Lio/dcloud/feature/audio/AudioFeatureImpl;->findAppObj(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    move-result-object v15
    check-cast v15, Lio/dcloud/feature/audio/AudioPlayer;
    :try_end_e9
    .catch Ljava/lang/Exception; {:try_start_e3 .. :try_end_e9} :catch_23d
    .line 148
    :try_start_e9
    invoke-virtual {v9}, Ljava/lang/String;->hashCode()I
    move-result v16
    sparse-switch v16, :sswitch_data_252
    goto/16 :goto_16a
    :sswitch_f2
    const-string v12, "setRoute"
    invoke-virtual {v9, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v9
    if-eqz v9, :cond_16a
    const/4 v9, 0x6
    goto/16 :goto_16b
    :sswitch_fd
    const-string v12, "playbackRate"
    invoke-virtual {v9, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v9
    if-eqz v9, :cond_16a
    const/16 v9, 0xb
    goto/16 :goto_16b
    :sswitch_109
    const-string v12, "setStyles"
    invoke-virtual {v9, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v9
    if-eqz v9, :cond_16a
    const/16 v9, 0x9
    goto :goto_16b
    :sswitch_114
    invoke-virtual {v9, v14}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v9
    if-eqz v9, :cond_16a
    move v9, v4
    goto :goto_16b
    :sswitch_11c
    const-string v12, "close"
    invoke-virtual {v9, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v9
    if-eqz v9, :cond_16a
    const/4 v9, 0x4
    goto :goto_16b
    :sswitch_126
    invoke-virtual {v9, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v9
    if-eqz v9, :cond_16a
    const/4 v9, 0x3
    goto :goto_16b
    :sswitch_12e
    const-string v12, "play"
    invoke-virtual {v9, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v9
    if-eqz v9, :cond_16a
    move v9, v2
    goto :goto_16b
    :sswitch_138
    const-string v12, "setSessionCategory"
    invoke-virtual {v9, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v9
    if-eqz v9, :cond_16a
    const/16 v9, 0xa
    goto :goto_16b
    :sswitch_143
    const-string v12, "removeEventListener"
    invoke-virtual {v9, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v9
    if-eqz v9, :cond_16a
    const/16 v9, 0x8
    goto :goto_16b
    :sswitch_14e
    const-string v12, "addEventListener"
    invoke-virtual {v9, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v9
    if-eqz v9, :cond_16a
    const/4 v9, 0x7
    goto :goto_16b
    :sswitch_158
    const-string v12, "seekTo"
    invoke-virtual {v9, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v9
    if-eqz v9, :cond_16a
    const/4 v9, 0x5
    goto :goto_16b
    :sswitch_162
    invoke-virtual {v9, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v9
    if-eqz v9, :cond_16a
    move v9, v6
    goto :goto_16b
    :cond_16a
    :goto_16a
    move v9, v11
    :goto_16b
    packed-switch v9, :pswitch_data_284
    goto/16 :goto_251
    .line 226
    :pswitch_170
    invoke-virtual {v0}, Lorg/json/JSONArray;->length()I
    move-result v2
    if-le v2, v4, :cond_251
    .line 227
    invoke-static {v0, v4}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object v0
    :try_end_17a
    .catch Ljava/lang/Exception; {:try_start_e9 .. :try_end_17a} :catch_23a
    .line 229
    :try_start_17a
    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    move-result v2
    if-nez v2, :cond_251
    .line 230
    invoke-static {v0}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
    move-result v0
    const/4 v2, 0x0
    cmpl-float v2, v0, v2
    if-lez v2, :cond_251
    .line 232
    invoke-virtual {v15, v0}, Lio/dcloud/feature/audio/AudioPlayer;->playbackRate(F)V
    :try_end_18c
    .catch Ljava/lang/Exception; {:try_start_17a .. :try_end_18c} :catch_251
    goto/16 :goto_251
    .line 233
    :pswitch_18e
    :try_start_18e
    invoke-virtual {v0}, Lorg/json/JSONArray;->length()I
    move-result v2
    if-le v2, v4, :cond_198
    .line 234
    invoke-static {v0, v4}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object v5
    .line 235
    :cond_198
    invoke-virtual {v15, v5}, Lio/dcloud/feature/audio/AudioPlayer;->setSessionCategory(Ljava/lang/String;)V
    goto/16 :goto_251
    .line 236
    :pswitch_19d
    invoke-virtual {v0, v4}, Lorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
    move-result-object v0
    invoke-virtual {v15, v0}, Lio/dcloud/feature/audio/AudioPlayer;->setStyle(Lorg/json/JSONObject;)V
    goto/16 :goto_251
    .line 237
    :pswitch_1a6
    invoke-virtual {v0, v4}, Lorg/json/JSONArray;->optString(I)Ljava/lang/String;
    move-result-object v0
    invoke-virtual {v15, v0}, Lio/dcloud/feature/audio/AudioPlayer;->removeEventListener(Ljava/lang/String;)V
    goto/16 :goto_251
    .line 238
    :pswitch_1af
    invoke-virtual {v0, v4}, Lorg/json/JSONArray;->optString(I)Ljava/lang/String;
    move-result-object v2
    invoke-virtual {v0, v6}, Lorg/json/JSONArray;->optString(I)Ljava/lang/String;
    move-result-object v0
    invoke-virtual {v15, v2, v0}, Lio/dcloud/feature/audio/AudioPlayer;->addEventListener(Ljava/lang/String;Ljava/lang/String;)V
    goto/16 :goto_251
    .line 239
    :pswitch_1bc
    invoke-interface {v3}, Lio/dcloud/common/DHInterface/IWebview;->getContext()Landroid/content/Context;
    move-result-object v3
    const-string v5, "audio"
    .line 240
    invoke-virtual {v3, v5}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
    move-result-object v3
    check-cast v3, Landroid/media/AudioManager;
    .line 241
    invoke-virtual {v0, v4}, Lorg/json/JSONArray;->optString(I)Ljava/lang/String;
    move-result-object v0
    invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
    move-result v0
    if-ne v0, v4, :cond_1d7
    .line 243
    invoke-direct {v1, v3, v2}, Lio/dcloud/feature/audio/AudioFeatureImpl;->setSpeakerphoneOn(Landroid/media/AudioManager;Z)V
    goto/16 :goto_251
    .line 245
    :cond_1d7
    invoke-direct {v1, v3, v4}, Lio/dcloud/feature/audio/AudioFeatureImpl;->setSpeakerphoneOn(Landroid/media/AudioManager;Z)V
    :try_end_1da
    .catch Ljava/lang/Exception; {:try_start_18e .. :try_end_1da} :catch_23a
    goto/16 :goto_251
    .line 246
    :pswitch_1dc
    :try_start_1dc
    invoke-static {v0, v4}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object v2
    invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
    move-result v2
    if-ltz v2, :cond_251
    mul-int/lit16 v2, v2, 0x3e8
    .line 248
    invoke-virtual {v15, v2}, Lio/dcloud/feature/audio/AudioPlayer;->seekTo(I)V
    :try_end_1eb
    .catch Ljava/lang/Exception; {:try_start_1dc .. :try_end_1eb} :catch_1ec
    goto :goto_251
    .line 252
    :catch_1ec
    :try_start_1ec
    invoke-static {v0, v4}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object v0
    invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
    move-result-wide v2
    const-wide v4, 0x408f400000000000L    # 1000.0
    mul-double/2addr v2, v4
    double-to-int v0, v2
    if-ltz v0, :cond_251
    .line 254
    invoke-virtual {v15, v0}, Lio/dcloud/feature/audio/AudioPlayer;->seekTo(I)V
    :try_end_200
    .catch Ljava/lang/Exception; {:try_start_1ec .. :try_end_200} :catch_251
    goto :goto_251
    .line 255
    :pswitch_201
    :try_start_201
    invoke-virtual {v15}, Lio/dcloud/feature/audio/AudioPlayer;->destory()V
    .line 256
    invoke-direct {v1, v8, v15}, Lio/dcloud/feature/audio/AudioFeatureImpl;->removeAppObjFromList(Ljava/lang/String;Ljava/lang/Object;)V
    goto :goto_251
    .line 257
    :pswitch_208
    invoke-virtual {v15}, Lio/dcloud/feature/audio/AudioPlayer;->stop()V
    goto :goto_251
    .line 258
    :pswitch_20c
    invoke-virtual {v15}, Lio/dcloud/feature/audio/AudioPlayer;->isCanMix()Z
    move-result v0
    invoke-direct {v1, v8, v10, v0}, Lio/dcloud/feature/audio/AudioFeatureImpl;->setCanPlay(Ljava/lang/String;Ljava/lang/String;Z)V
    .line 259
    invoke-static {v7}, Lio/dcloud/common/util/BaseInfo;->isUniAppAppid(Lio/dcloud/common/DHInterface/IApp;)Z
    move-result v0
    if-eqz v0, :cond_221
    const-string v0, ""
    .line 260
    iput-object v0, v15, Lio/dcloud/feature/audio/AudioPlayer;->mFunId:Ljava/lang/String;
    .line 261
    invoke-virtual {v15}, Lio/dcloud/feature/audio/AudioPlayer;->play()V
    goto :goto_251
    .line 264
    :cond_221
    invoke-virtual {v15}, Lio/dcloud/feature/audio/AudioPlayer;->resume()V
    goto :goto_251
    .line 265
    :pswitch_225
    invoke-virtual {v15}, Lio/dcloud/feature/audio/AudioPlayer;->pause()V
    goto :goto_251
    .line 266
    :pswitch_229
    invoke-virtual {v15}, Lio/dcloud/feature/audio/AudioPlayer;->isCanMix()Z
    move-result v2
    invoke-direct {v1, v8, v10, v2}, Lio/dcloud/feature/audio/AudioFeatureImpl;->setCanPlay(Ljava/lang/String;Ljava/lang/String;Z)V
    .line 267
    invoke-static {v0, v4}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONArray;I)Ljava/lang/String;
    move-result-object v0
    .line 268
    iput-object v0, v15, Lio/dcloud/feature/audio/AudioPlayer;->mFunId:Ljava/lang/String;
    .line 269
    invoke-virtual {v15}, Lio/dcloud/feature/audio/AudioPlayer;->play()V
    :try_end_239
    .catch Ljava/lang/Exception; {:try_start_201 .. :try_end_239} :catch_23a
    goto :goto_251
    :catch_23a
    move-exception v0
    move-object v5, v15
    goto :goto_23e
    :catch_23d
    move-exception v0
    .line 357
    :goto_23e
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
    if-eqz v5, :cond_251
    .line 359
    sget-object v0, Lio/dcloud/common/constant/DOMException;->MSG_PARAMETER_ERROR:Ljava/lang/String;
    invoke-virtual {v5, v11, v0}, Lio/dcloud/feature/audio/AudioPlayer;->failCallback(ILjava/lang/String;)V
    .line 360
    invoke-static {v11, v0}, Lio/dcloud/common/constant/DOMException;->toJSON(ILjava/lang/String;)Ljava/lang/String;
    move-result-object v0
    const-string v2, "onError"
    invoke-virtual {v5, v2, v0}, Lio/dcloud/feature/audio/AudioPlayer;->execEvents(Ljava/lang/String;Ljava/lang/String;)V
    :catch_251
    :cond_251
    :goto_251
    return-void
    :sswitch_data_252
    .sparse-switch
        -0x37b237d3 -> :sswitch_162
        -0x3603e4ed -> :sswitch_158
        -0x254d19b3 -> :sswitch_14e
        -0x204670b6 -> :sswitch_143
        -0x1722e70e -> :sswitch_138
        0x348b34 -> :sswitch_12e
        0x360802 -> :sswitch_126
        0x5a5ddf8 -> :sswitch_11c
        0x65825f6 -> :sswitch_114
        0x2324efe4 -> :sswitch_109
        0x50ca119b -> :sswitch_fd
        0x53a67307 -> :sswitch_f2
    .end sparse-switch
    :pswitch_data_284
    .packed-switch 0x0
        :pswitch_229
        :pswitch_225
        :pswitch_20c
        :pswitch_208
        :pswitch_201
        :pswitch_1dc
        :pswitch_1bc
        :pswitch_1af
        :pswitch_1a6
        :pswitch_19d
        :pswitch_18e
        :pswitch_170
    .end packed-switch
.end method
.method public init(Lio/dcloud/common/DHInterface/AbsMgr;Ljava/lang/String;)V
    .registers 3
    .line 1
    new-instance p1, Ljava/util/HashMap;
    const/4 p2, 0x2
    invoke-direct {p1, p2}, Ljava/util/HashMap;-><init>(I)V
    iput-object p1, p0, Lio/dcloud/feature/audio/AudioFeatureImpl;->mAppsAudioObj:Ljava/util/HashMap;
    return-void
.end method