MetachatSceneImpl.smali

.class public Lio/agora/metachat/internal/MetachatSceneImpl;
.super Lio/agora/metachat/IMetachatScene;


# static fields
.field private static final TAG:Ljava/lang/String; = "MetachatSceneImpl"


# instance fields
.field private final mLocalUserAvatar:Lio/agora/metachat/ILocalUserAvatar;

.field private mNativeHandle:J


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

    return-void
.end method

.method constructor <init>(J)V
    .registers 5
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "nativeHandle"
        }
    .end annotation

    invoke-direct {p0}, Lio/agora/metachat/IMetachatScene;-><init>()V

    const-wide/16 v0, 0x0

    iput-wide v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    iput-wide p1, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    new-instance v0, Lio/agora/metachat/internal/LocalUserAvatarImpl;

    invoke-direct {p0, p1, p2}, Lio/agora/metachat/internal/MetachatSceneImpl;->nativeGetLocalUserAvatar(J)J

    move-result-wide p1

    invoke-direct {v0, p1, p2}, Lio/agora/metachat/internal/LocalUserAvatarImpl;-><init>(J)V

    iput-object v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mLocalUserAvatar:Lio/agora/metachat/ILocalUserAvatar;

    return-void
.end method

.method private native nativeAddEventHandler(JLjava/lang/Object;)I
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0
        }
        names = {
            "nativeMetachatSceneAndroid",
            "handler"
        }
    .end annotation
.end method

.method private static native nativeDestroy(J)I
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "handle"
        }
    .end annotation
.end method

.method private native nativeEnableUserPositionNotification(JZ)I
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0
        }
        names = {
            "nativeMetachatSceneAndroid",
            "enable"
        }
    .end annotation
.end method

.method private native nativeEnableVideoDisplay(JLjava/lang/String;Z)I
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0
        }
        names = {
            "nativeMetachatSceneAndroid",
            "displayId",
            "enable"
        }
    .end annotation
.end method

.method private native nativeEnterScene(JLio/agora/metachat/EnterSceneConfig;)I
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0
        }
        names = {
            "nativeMetachatSceneAndroid",
            "config"
        }
    .end annotation
.end method

.method private native nativeEnumerateVideoDisplays(J)I
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "nativeMetachatSceneAndroid"
        }
    .end annotation
.end method

.method private native nativeGetLocalUserAvatar(J)J
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "nativeMetachatSceneAndroid"
        }
    .end annotation
.end method

.method private native nativeLeaveScene(J)I
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "nativeMetachatSceneAndroid"
        }
    .end annotation
.end method

.method private native nativePushAgoraVideoFrameToDisplay(JLjava/lang/String;I[BIIJ)I
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0,
            0x0
        }
        names = {
            "nativeMetachatSceneAndroid",
            "displayId",
            "format",
            "buf",
            "stride",
            "height",
            "timestamp"
        }
    .end annotation
.end method

.method private native nativePushVideoFrameToDisplay(JLjava/lang/String;Lio/agora/base/VideoFrame;)I
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0,
            0x0
        }
        names = {
            "nativeMetachatSceneAndroid",
            "displayId",
            "frame"
        }
    .end annotation
.end method

.method private native nativeRemoveEventHandler(JLjava/lang/Object;)I
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0
        }
        names = {
            "nativeMetachatSceneAndroid",
            "handler"
        }
    .end annotation
.end method

.method private native nativeSendMessageToScene(J[B)I
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0
        }
        names = {
            "nativeMetachatSceneAndroid",
            "message"
        }
    .end annotation
.end method

.method private native nativeSetSceneParameters(JLjava/lang/String;)I
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0
        }
        names = {
            "nativeMetachatSceneAndroid",
            "jsonParam"
        }
    .end annotation
.end method


# virtual methods
.method public addEventHandler(Lio/agora/metachat/IMetachatSceneEventHandler;)I
    .registers 6
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "eventHandler"
        }
    .end annotation

    iget-wide v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    const-wide/16 v2, 0x0

    cmp-long v2, v0, v2

    if-nez v2, :cond_a

    const/4 p1, -0x7

    return p1

    :cond_a
    invoke-direct {p0, v0, v1, p1}, Lio/agora/metachat/internal/MetachatSceneImpl;->nativeAddEventHandler(JLjava/lang/Object;)I

    move-result p1

    return p1
.end method

.method public enableUserPositionNotification(Z)I
    .registers 6
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "enable"
        }
    .end annotation

    iget-wide v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    const-wide/16 v2, 0x0

    cmp-long v2, v0, v2

    if-nez v2, :cond_a

    const/4 p1, -0x7

    return p1

    :cond_a
    invoke-direct {p0, v0, v1, p1}, Lio/agora/metachat/internal/MetachatSceneImpl;->nativeEnableUserPositionNotification(JZ)I

    move-result p1

    return p1
.end method

.method public enableVideoDisplay(Ljava/lang/String;Z)I
    .registers 7
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0
        }
        names = {
            "displayId",
            "enable"
        }
    .end annotation

    iget-wide v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    const-wide/16 v2, 0x0

    cmp-long v2, v0, v2

    if-nez v2, :cond_a

    const/4 p1, -0x7

    return p1

    :cond_a
    invoke-direct {p0, v0, v1, p1, p2}, Lio/agora/metachat/internal/MetachatSceneImpl;->nativeEnableVideoDisplay(JLjava/lang/String;Z)I

    move-result p1

    return p1
.end method

.method public enterScene(Lio/agora/metachat/EnterSceneConfig;)I
    .registers 6
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "config"
        }
    .end annotation

    iget-wide v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    const-wide/16 v2, 0x0

    cmp-long v2, v0, v2

    if-nez v2, :cond_a

    const/4 p1, -0x7

    return p1

    :cond_a
    invoke-direct {p0, v0, v1, p1}, Lio/agora/metachat/internal/MetachatSceneImpl;->nativeEnterScene(JLio/agora/metachat/EnterSceneConfig;)I

    move-result p1

    return p1
.end method

.method public enumerateVideoDisplays()I
    .registers 5

    iget-wide v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    const-wide/16 v2, 0x0

    cmp-long v2, v0, v2

    if-nez v2, :cond_a

    const/4 v0, -0x7

    return v0

    :cond_a
    invoke-direct {p0, v0, v1}, Lio/agora/metachat/internal/MetachatSceneImpl;->nativeEnumerateVideoDisplays(J)I

    move-result v0

    return v0
.end method

.method public getLocalUserAvatar()Lio/agora/metachat/ILocalUserAvatar;
    .registers 2

    iget-object v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mLocalUserAvatar:Lio/agora/metachat/ILocalUserAvatar;

    return-object v0
.end method

.method public leaveScene()I
    .registers 5

    iget-wide v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    const-wide/16 v2, 0x0

    cmp-long v2, v0, v2

    if-nez v2, :cond_a

    const/4 v0, -0x7

    return v0

    :cond_a
    invoke-direct {p0, v0, v1}, Lio/agora/metachat/internal/MetachatSceneImpl;->nativeLeaveScene(J)I

    move-result v0

    return v0
.end method

.method public pushVideoFrameToDisplay(Ljava/lang/String;Lio/agora/base/VideoFrame;)I
    .registers 7
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0
        }
        names = {
            "displayId",
            "frame"
        }
    .end annotation

    iget-wide v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    const-wide/16 v2, 0x0

    cmp-long v2, v0, v2

    if-nez v2, :cond_a

    const/4 p1, -0x7

    return p1

    :cond_a
    invoke-direct {p0, v0, v1, p1, p2}, Lio/agora/metachat/internal/MetachatSceneImpl;->nativePushVideoFrameToDisplay(JLjava/lang/String;Lio/agora/base/VideoFrame;)I

    move-result p1

    return p1
.end method

.method public pushVideoFrameToDisplay(Ljava/lang/String;Lio/agora/rtc2/video/AgoraVideoFrame;)I
    .registers 13
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0,
            0x0
        }
        names = {
            "displayId",
            "frame"
        }
    .end annotation

    iget-wide v1, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    const-wide/16 v3, 0x0

    cmp-long v0, v1, v3

    if-nez v0, :cond_a

    const/4 p1, -0x7

    return p1

    :cond_a
    iget v4, p2, Lio/agora/rtc2/video/AgoraVideoFrame;->format:I

    iget-object v5, p2, Lio/agora/rtc2/video/AgoraVideoFrame;->buf:[B

    iget v6, p2, Lio/agora/rtc2/video/AgoraVideoFrame;->stride:I

    iget v7, p2, Lio/agora/rtc2/video/AgoraVideoFrame;->height:I

    iget-wide v8, p2, Lio/agora/rtc2/video/AgoraVideoFrame;->timeStamp:J

    move-object v0, p0

    move-object v3, p1

    invoke-direct/range {v0 .. v9}, Lio/agora/metachat/internal/MetachatSceneImpl;->nativePushAgoraVideoFrameToDisplay(JLjava/lang/String;I[BIIJ)I

    move-result p1

    return p1
.end method

.method public release()I
    .registers 6

    iget-wide v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    const-wide/16 v2, 0x0

    cmp-long v4, v0, v2

    if-eqz v4, :cond_d

    invoke-static {v0, v1}, Lio/agora/metachat/internal/MetachatSceneImpl;->nativeDestroy(J)I

    iput-wide v2, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    :cond_d
    const/4 v0, 0x0

    return v0
.end method

.method public removeEventHandler(Lio/agora/metachat/IMetachatSceneEventHandler;)I
    .registers 6
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "eventHandler"
        }
    .end annotation

    iget-wide v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    const-wide/16 v2, 0x0

    cmp-long v2, v0, v2

    if-nez v2, :cond_a

    const/4 p1, -0x7

    return p1

    :cond_a
    invoke-direct {p0, v0, v1, p1}, Lio/agora/metachat/internal/MetachatSceneImpl;->nativeRemoveEventHandler(JLjava/lang/Object;)I

    move-result p1

    return p1
.end method

.method public sendMessageToScene([B)I
    .registers 6
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "message"
        }
    .end annotation

    iget-wide v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    const-wide/16 v2, 0x0

    cmp-long v2, v0, v2

    if-nez v2, :cond_a

    const/4 p1, -0x7

    return p1

    :cond_a
    invoke-direct {p0, v0, v1, p1}, Lio/agora/metachat/internal/MetachatSceneImpl;->nativeSendMessageToScene(J[B)I

    move-result p1

    return p1
.end method

.method public setSceneParameters(Ljava/lang/String;)I
    .registers 6
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "jsonParam"
        }
    .end annotation

    iget-wide v0, p0, Lio/agora/metachat/internal/MetachatSceneImpl;->mNativeHandle:J

    const-wide/16 v2, 0x0

    cmp-long v2, v0, v2

    if-nez v2, :cond_a

    const/4 p1, -0x7

    return p1

    :cond_a
    invoke-direct {p0, v0, v1, p1}, Lio/agora/metachat/internal/MetachatSceneImpl;->nativeSetSceneParameters(JLjava/lang/String;)I

    move-result p1

    return p1
.end method