SophonEngine.smali

.class public abstract Lorg/webrtc/alirtcInterface/SophonEngine;
.super Ljava/lang/Object;
.source "SophonEngine.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;,
        Lorg/webrtc/alirtcInterface/SophonEngine$AliRTCStreamConfig;
    }
.end annotation


# static fields
.field private static mInstance:Lorg/webrtc/alirtcInterface/SophonEngineImpl;

.field private static mUSBMediaDevice:Lorg/webrtc/ali/USBMediaDevice;

.field private static mhandler:Landroid/os/Handler;


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

    .line 62
    const/4 v0, 0x0

    sput-object v0, Lorg/webrtc/alirtcInterface/SophonEngine;->mInstance:Lorg/webrtc/alirtcInterface/SophonEngineImpl;

    .line 63
    sput-object v0, Lorg/webrtc/alirtcInterface/SophonEngine;->mUSBMediaDevice:Lorg/webrtc/ali/USBMediaDevice;

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    .line 103
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 104
    return-void
.end method

.method public static closeUSBDevice()V
    .registers 2

    .line 80
    const-class v0, Lorg/webrtc/alirtcInterface/SophonEngine;

    monitor-enter v0

    .line 81
    :try_start_3
    sget-object v1, Lorg/webrtc/alirtcInterface/SophonEngine;->mUSBMediaDevice:Lorg/webrtc/ali/USBMediaDevice;

    if-eqz v1, :cond_f

    .line 82
    sget-object v1, Lorg/webrtc/alirtcInterface/SophonEngine;->mUSBMediaDevice:Lorg/webrtc/ali/USBMediaDevice;

    invoke-virtual {v1}, Lorg/webrtc/ali/USBMediaDevice;->release()V

    .line 83
    const/4 v1, 0x0

    sput-object v1, Lorg/webrtc/alirtcInterface/SophonEngine;->mUSBMediaDevice:Lorg/webrtc/ali/USBMediaDevice;

    .line 85
    :cond_f
    monitor-exit v0

    .line 86
    return-void

    .line 85
    :catchall_11
    move-exception v1

    monitor-exit v0
    :try_end_13
    .catchall {:try_start_3 .. :try_end_13} :catchall_11

    throw v1
.end method

.method public static declared-synchronized create(Landroid/content/Context;Ljava/lang/String;Lorg/webrtc/alirtcInterface/SophonEventListener;)Lorg/webrtc/alirtcInterface/SophonEngineImpl;
    .registers 5
    .param p0, "context"    # Landroid/content/Context;
    .param p1, "extras"    # Ljava/lang/String;
    .param p2, "listener"    # Lorg/webrtc/alirtcInterface/SophonEventListener;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Exception;
        }
    .end annotation

    const-class v0, Lorg/webrtc/alirtcInterface/SophonEngine;

    monitor-enter v0

    .line 107
    if-eqz p0, :cond_16

    :try_start_5
    sget-object v1, Lorg/webrtc/alirtcInterface/SophonEngine;->mInstance:Lorg/webrtc/alirtcInterface/SophonEngineImpl;

    if-nez v1, :cond_16

    .line 108
    new-instance v1, Lorg/webrtc/alirtcInterface/SophonEngineImpl;

    invoke-direct {v1, p0, p1, p2}, Lorg/webrtc/alirtcInterface/SophonEngineImpl;-><init>(Landroid/content/Context;Ljava/lang/String;Lorg/webrtc/alirtcInterface/SophonEventListener;)V

    invoke-virtual {v1}, Lorg/webrtc/alirtcInterface/SophonEngineImpl;->create()Lorg/webrtc/alirtcInterface/SophonEngineImpl;

    move-result-object v1

    sput-object v1, Lorg/webrtc/alirtcInterface/SophonEngine;->mInstance:Lorg/webrtc/alirtcInterface/SophonEngineImpl;
    :try_end_14
    .catchall {:try_start_5 .. :try_end_14} :catchall_1a

    .line 109
    monitor-exit v0

    return-object v1

    .line 111
    :cond_16
    :try_start_16
    sget-object v1, Lorg/webrtc/alirtcInterface/SophonEngine;->mInstance:Lorg/webrtc/alirtcInterface/SophonEngineImpl;
    :try_end_18
    .catchall {:try_start_16 .. :try_end_18} :catchall_1a

    monitor-exit v0

    return-object v1

    .line 106
    .end local p0    # "context":Landroid/content/Context;
    .end local p1    # "extras":Ljava/lang/String;
    .end local p2    # "listener":Lorg/webrtc/alirtcInterface/SophonEventListener;
    :catchall_1a
    move-exception p0

    monitor-exit v0

    throw p0
.end method

.method public static declared-synchronized create(Landroid/content/Context;Lorg/webrtc/alirtcInterface/SophonEventListener;)Lorg/webrtc/alirtcInterface/SophonEngineImpl;
    .registers 4
    .param p0, "context"    # Landroid/content/Context;
    .param p1, "listener"    # Lorg/webrtc/alirtcInterface/SophonEventListener;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Exception;
        }
    .end annotation

    const-class v0, Lorg/webrtc/alirtcInterface/SophonEngine;

    monitor-enter v0

    .line 115
    if-eqz p0, :cond_16

    :try_start_5
    sget-object v1, Lorg/webrtc/alirtcInterface/SophonEngine;->mInstance:Lorg/webrtc/alirtcInterface/SophonEngineImpl;

    if-nez v1, :cond_16

    .line 116
    new-instance v1, Lorg/webrtc/alirtcInterface/SophonEngineImpl;

    invoke-direct {v1, p0, p1}, Lorg/webrtc/alirtcInterface/SophonEngineImpl;-><init>(Landroid/content/Context;Lorg/webrtc/alirtcInterface/SophonEventListener;)V

    invoke-virtual {v1}, Lorg/webrtc/alirtcInterface/SophonEngineImpl;->create()Lorg/webrtc/alirtcInterface/SophonEngineImpl;

    move-result-object v1

    sput-object v1, Lorg/webrtc/alirtcInterface/SophonEngine;->mInstance:Lorg/webrtc/alirtcInterface/SophonEngineImpl;
    :try_end_14
    .catchall {:try_start_5 .. :try_end_14} :catchall_1a

    .line 117
    monitor-exit v0

    return-object v1

    .line 119
    :cond_16
    :try_start_16
    sget-object v1, Lorg/webrtc/alirtcInterface/SophonEngine;->mInstance:Lorg/webrtc/alirtcInterface/SophonEngineImpl;
    :try_end_18
    .catchall {:try_start_16 .. :try_end_18} :catchall_1a

    monitor-exit v0

    return-object v1

    .line 114
    .end local p0    # "context":Landroid/content/Context;
    .end local p1    # "listener":Lorg/webrtc/alirtcInterface/SophonEventListener;
    :catchall_1a
    move-exception p0

    monitor-exit v0

    throw p0
.end method

.method public static declared-synchronized destroy()V
    .registers 2

    const-class v0, Lorg/webrtc/alirtcInterface/SophonEngine;

    monitor-enter v0

    .line 123
    :try_start_3
    sget-object v1, Lorg/webrtc/alirtcInterface/SophonEngine;->mInstance:Lorg/webrtc/alirtcInterface/SophonEngineImpl;

    if-eqz v1, :cond_d

    .line 124
    const/4 v1, 0x0

    sput-object v1, Lorg/webrtc/alirtcInterface/SophonEngine;->mInstance:Lorg/webrtc/alirtcInterface/SophonEngineImpl;

    .line 125
    invoke-static {}, Ljava/lang/System;->gc()V
    :try_end_d
    .catchall {:try_start_3 .. :try_end_d} :catchall_f

    .line 127
    :cond_d
    monitor-exit v0

    return-void

    .line 122
    :catchall_f
    move-exception v1

    monitor-exit v0

    throw v1
.end method

.method public static getH5CompatibleMode()I
    .registers 1

    .line 100
    invoke-static {}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE_IMPL;->GetH5CompatibleMode()I

    move-result v0

    return v0
.end method

.method public static setH5CompatibleMode(I)I
    .registers 3
    .param p0, "enable"    # I

    .line 95
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "setH5CompatibleMode"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "SophonEngine"

    invoke-static {v1, v0}, Lorg/webrtc/utils/AlivcLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 96
    invoke-static {p0}, Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE_IMPL;->SetH5CompatibleMode(I)I

    move-result v0

    return v0
.end method

.method public static setupUSBDevice(Landroid/content/Context;Lorg/webrtc/ali/USBMediaDevice$USBMediaDeviceEvent;)I
    .registers 4
    .param p0, "context"    # Landroid/content/Context;
    .param p1, "devEvent"    # Lorg/webrtc/ali/USBMediaDevice$USBMediaDeviceEvent;

    .line 67
    sget-object v0, Lorg/webrtc/alirtcInterface/SophonEngine;->mUSBMediaDevice:Lorg/webrtc/ali/USBMediaDevice;

    if-nez v0, :cond_1d

    .line 68
    const-class v0, Lorg/webrtc/alirtcInterface/SophonEngine;

    monitor-enter v0

    .line 69
    :try_start_7
    sget-object v1, Lorg/webrtc/alirtcInterface/SophonEngine;->mUSBMediaDevice:Lorg/webrtc/ali/USBMediaDevice;

    if-nez v1, :cond_18

    .line 70
    new-instance v1, Lorg/webrtc/ali/USBMediaDevice;

    invoke-direct {v1, p0, p1}, Lorg/webrtc/ali/USBMediaDevice;-><init>(Landroid/content/Context;Lorg/webrtc/ali/USBMediaDevice$USBMediaDeviceEvent;)V

    sput-object v1, Lorg/webrtc/alirtcInterface/SophonEngine;->mUSBMediaDevice:Lorg/webrtc/ali/USBMediaDevice;

    .line 71
    invoke-virtual {v1}, Lorg/webrtc/ali/USBMediaDevice;->setupDevice()I

    move-result v1

    monitor-exit v0

    return v1

    .line 73
    :cond_18
    monitor-exit v0

    goto :goto_1d

    :catchall_1a
    move-exception v1

    monitor-exit v0
    :try_end_1c
    .catchall {:try_start_7 .. :try_end_1c} :catchall_1a

    throw v1

    .line 76
    :cond_1d
    :goto_1d
    const/4 v0, 0x0

    return v0
.end method


# virtual methods
.method public abstract EnableEarBack(Z)I
.end method

.method public abstract GetAudioAccompanyPlayoutVolume()I
.end method

.method public abstract GetAudioAccompanyPublishVolume()I
.end method

.method public abstract GetAudioEffectPlayoutVolume(I)I
.end method

.method public abstract GetAudioEffectPublishVolume(I)I
.end method

.method public abstract PauseAudioEffect(I)I
.end method

.method public abstract PauseAudioMixing()I
.end method

.method public abstract PlayAudioEffect(ILjava/lang/String;IZ)I
.end method

.method public abstract PreloadAudioEffect(ILjava/lang/String;)I
.end method

.method public abstract RegisterAudioObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioType;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioObserver;)V
.end method

.method public abstract RegisterPreprocessVideoObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliDetectObserver;)V
.end method

.method public abstract RegisterRGBAObserver(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRenderDataObserver;)V
.end method

.method public abstract RegisterTexturePostObserver(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliTextureObserver;)V
.end method

.method public abstract RegisterTexturePreObserver(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliTextureObserver;)V
.end method

.method public abstract RegisterVideoObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliVideoObserver;)V
.end method

.method public abstract RegisterYUVObserver(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliVideoObserver;)V
.end method

.method public abstract ResumeAudioEffect(I)I
.end method

.method public abstract ResumeAudioMixing()I
.end method

.method public abstract SetAudioAccompanyPlayoutVolume(I)I
.end method

.method public abstract SetAudioAccompanyPublishVolume(I)I
.end method

.method public abstract SetAudioEffectPlayoutVolume(II)I
.end method

.method public abstract SetAudioEffectPublishVolume(II)I
.end method

.method public abstract SetChannelProfile(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDK_Channel_Profile;)I
.end method

.method public abstract SetClientRole(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDK_Client_Role;)I
.end method

.method public abstract SetEarBackVolume(I)I
.end method

.method public abstract StartAudioFileRecording(Ljava/lang/String;II)I
.end method

.method public abstract StopAudioEffect(I)I
.end method

.method public abstract StopAudioFileRecording()I
.end method

.method public abstract UnRegisterAudioObserver(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliAudioType;)V
.end method

.method public abstract UnRegisterPreprocessVideoObserver()V
.end method

.method public abstract UnRegisterRGBAObserver(Ljava/lang/String;)V
.end method

.method public abstract UnRegisterTexturePostObserver(Ljava/lang/String;)V
.end method

.method public abstract UnRegisterTexturePreObserver(Ljava/lang/String;)V
.end method

.method public abstract UnRegisterVideoObserver()V
.end method

.method public abstract UnRegisterYUVObserver(Ljava/lang/String;)V
.end method

.method public abstract UnloadAudioEffect(I)I
.end method

.method public abstract addLocalDisplayWindow(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;)V
.end method

.method public abstract addRemoteDisplayWindow(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;)V
.end method

.method public abstract applicationMicInterrupt()V
.end method

.method public abstract applicationMicInterruptResume()V
.end method

.method public abstract applicationWillBecomeActive()V
.end method

.method public abstract applicationWillResignActive()V
.end method

.method public abstract changeLogLevel(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSDKLogLevel;)V
.end method

.method public abstract closeCamera()V
.end method

.method public abstract destory()V
.end method

.method public abstract enableBackgroundAudioRecording(Z)V
.end method

.method public abstract enableHighDefinitionPreview(Z)I
.end method

.method public abstract enableLocalAudio(Z)V
.end method

.method public abstract enableLocalVideo(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;Z)V
.end method

.method public abstract enableRemoteAudio(Ljava/lang/String;Z)V
.end method

.method public abstract enableRemoteVideo(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;Z)V
.end method

.method public abstract enumerateAllCaptureDevices()[Ljava/lang/String;
.end method

.method public abstract generateTexture()I
.end method

.method public abstract getAudioAccompanyVolume()I
.end method

.method public abstract getCaptureType()Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCaptureType;
.end method

.method public abstract getMediaInfo(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
.end method

.method public abstract getSDKVersion()Ljava/lang/String;
.end method

.method public abstract getSelectAudioDevice()Lorg/webrtc/audio/AppRTCAudioManager$AudioDevice;
.end method

.method public abstract getTransportStatus(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$TransportType;)Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$TransportStatus;
.end method

.method public abstract gslb(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;)I
.end method

.method public abstract isCameraSupportExposurePoint()Z
.end method

.method public abstract isCameraSupportFocusPoint()Z
.end method

.method public abstract isEnableBackgroundAudioRecording()Z
.end method

.method public abstract joinChannel(Ljava/lang/String;)I
.end method

.method public abstract joinChannel(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AuthInfo;Ljava/lang/String;)I
.end method

.method public abstract leaveChannel()I
.end method

.method public abstract leaveChannel(J)I
.end method

.method public abstract openCamera(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliCameraConfig;)V
.end method

.method public abstract pauseRender()V
.end method

.method public abstract publish(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliPublishConfig;)V
.end method

.method public abstract registerVideoRawDataInterface(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRawDataStreamType;)Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$VideoRawDataInterface;
.end method

.method public abstract removeLocalDisplayWindow(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V
.end method

.method public abstract removeRemoteDisplayWindow(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRTCSdk_VideSource_Type;)V
.end method

.method public abstract republish(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliPublishConfig;)V
.end method

.method public abstract respondMessageNotification(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
.end method

.method public abstract resubscribe(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;)V
.end method

.method public abstract resumeRender()V
.end method

.method public abstract selectSpeakePhone(Z)V
.end method

.method public abstract setAudioAccompanyVolume(I)I
.end method

.method public abstract setCameraExposurePoint(FF)I
.end method

.method public abstract setCameraFocusPoint(FF)I
.end method

.method public abstract setCameraZoom(F)I
.end method

.method public abstract setCaptureDeviceByName(Ljava/lang/String;)I
.end method

.method public abstract setCollectStatusListener(Lorg/webrtc/alirtcInterface/CollectStatusListener;)V
.end method

.method public abstract setDeviceOrientationMode(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$Ali_RTC_Device_Orientation_Mode;)V
.end method

.method public abstract setFlash(Z)I
.end method

.method public abstract setPlayoutVolume(I)I
.end method

.method public abstract setRecordingVolume(I)I
.end method

.method public abstract setSpeakerStatus(Z)V
.end method

.method public abstract setTraceId(Ljava/lang/String;)V
.end method

.method public abstract startAudioAccompany(Ljava/lang/String;ZZI)I
.end method

.method public abstract startAudioCapture()I
.end method

.method public abstract startAudioPlayer()I
.end method

.method public abstract stopAudioAccompany()I
.end method

.method public abstract stopAudioCapture()I
.end method

.method public abstract stopAudioPlayer()I
.end method

.method public abstract subscribe(Ljava/lang/String;Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliSubscribeConfig;)V
.end method

.method public abstract switchCramer()I
.end method

.method public abstract unRegisterVideoRawDataInterface(Lorg/webrtc/alirtcInterface/ALI_RTC_INTERFACE$AliRawDataStreamType;)V
.end method

.method public abstract unpublish()V
.end method

.method public abstract unsubscribe(Ljava/lang/String;)V
.end method

.method public abstract updateDisplayWindow(Lorg/webrtc/alirtcInterface/SophonEngine$AliRendererConfig;)V
.end method

.method public abstract uplinkChannelMessage(Ljava/lang/String;Ljava/lang/String;)I
.end method

.method public abstract uploadLop()V
.end method