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