MacawHandler.smali

.class public abstract Lcom/imo/android/imoim/av/macaw/MacawHandler;
.super Ljava/lang/Object;
.source "SourceFile"

# interfaces
.implements Lcom/imo/android/imoim/av/c/a;
.implements Lcom/imo/android/imoim/av/f;
.implements Lcom/imo/android/imoim/av/macaw/VideoCapturer$CapturerOwnerInterface;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/imo/android/imoim/av/macaw/MacawHandler$IKaraokePlayerListener;,
        Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;,
        Lcom/imo/android/imoim/av/macaw/MacawHandler$HttpMode;,
        Lcom/imo/android/imoim/av/macaw/MacawHandler$MsgToNative;,
        Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;
    }
.end annotation


# static fields
.field public static final FRAME_TYPE_DEFAULT:I = 0x0

.field public static final FRAME_TYPE_SCREEN:I = 0x1

.field private static final TAG:Ljava/lang/String; = "MacawHandler"

.field protected static final UV_PLANE_BUFFERS:I = 0x3

.field static harlist:Ljava/util/List; = null
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Lcom/imo/android/imoim/av/c/b;",
            ">;"
        }
    .end annotation
.end field

.field static harout:Ljava/util/List; = null
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Ljava/lang/StringBuilder;",
            ">;"
        }
    .end annotation
.end field

.field private static loaded:Z = false

.field private static nativeException:Ljava/lang/String;


# instance fields
.field private audioFocusChangeListener:Landroid/media/AudioManager$OnAudioFocusChangeListener;

.field private cameraPreferHD:Z

.field private cameraWasLost:Z

.field private cameraWasRecovered:Z

.field private cameraWasStarted:Z

.field private context:J

.field private contextLock:Ljava/lang/Object;

.field httpSenders:[Lcom/imo/android/imoim/av/c/b;

.field isRunning:Z

.field private mMacawStreamThread:[Lcom/imo/android/imoim/av/macaw/MacawAudioStreamThread;

.field protected thread:Ljava/lang/Thread;

.field protected toNativeThread:Ljava/util/concurrent/BlockingQueue;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/concurrent/BlockingQueue<",
            "Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;",
            ">;"
        }
    .end annotation
.end field


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

    :try_start_0
    const-string v0, "imostream"

    .line 79
    invoke-static {v0}, Lsg/bigo/common/ab;->a(Ljava/lang/String;)V

    const/4 v0, 0x1

    .line 80
    sput-boolean v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->loaded:Z
    :try_end_8
    .catchall {:try_start_0 .. :try_end_8} :catchall_9

    goto :goto_10

    :catchall_9
    move-exception v0

    .line 82
    invoke-virtual {v0}, Ljava/lang/Throwable;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->nativeException:Ljava/lang/String;

    .line 817
    :goto_10
    new-instance v0, Ljava/util/ArrayList;

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

    sput-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    .line 818
    new-instance v0, Ljava/util/ArrayList;

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

    sput-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harout:Ljava/util/List;

    return-void
.end method

.method public constructor <init>()V
    .registers 4
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Lcom/imo/android/imoim/av/AVManager$NativeNotLoadedException;
        }
    .end annotation

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

    const/4 v0, 0x0

    .line 56
    iput-boolean v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->isRunning:Z

    .line 60
    iput-boolean v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->cameraWasStarted:Z

    .line 61
    iput-boolean v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->cameraWasLost:Z

    .line 62
    iput-boolean v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->cameraWasRecovered:Z

    .line 63
    iput-boolean v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->cameraPreferHD:Z

    const-wide/16 v1, 0x0

    .line 66
    iput-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    .line 67
    new-instance v1, Ljava/lang/Object;

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

    iput-object v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    const/4 v1, 0x2

    new-array v1, v1, [Lcom/imo/android/imoim/av/macaw/MacawAudioStreamThread;

    const/4 v2, 0x0

    aput-object v2, v1, v0

    const/4 v0, 0x1

    aput-object v2, v1, v0

    .line 1154
    iput-object v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->mMacawStreamThread:[Lcom/imo/android/imoim/av/macaw/MacawAudioStreamThread;

    .line 165
    sget-boolean v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->loaded:Z

    if-eqz v0, :cond_37

    .line 168
    new-instance v0, Ljava/util/concurrent/LinkedBlockingQueue;

    invoke-direct {v0}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V

    iput-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    .line 169
    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$1;

    invoke-direct {v0, p0}, Lcom/imo/android/imoim/av/macaw/MacawHandler$1;-><init>(Lcom/imo/android/imoim/av/macaw/MacawHandler;)V

    iput-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->audioFocusChangeListener:Landroid/media/AudioManager$OnAudioFocusChangeListener;

    return-void

    .line 166
    :cond_37
    new-instance v0, Lcom/imo/android/imoim/av/AVManager$NativeNotLoadedException;

    sget-object v1, Lcom/imo/android/imoim/av/macaw/MacawHandler;->nativeException:Ljava/lang/String;

    invoke-direct {v0, v1}, Lcom/imo/android/imoim/av/AVManager$NativeNotLoadedException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method static synthetic access$002(Lcom/imo/android/imoim/av/macaw/MacawHandler;Z)Z
    .registers 2

    .line 48
    iput-boolean p1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->cameraPreferHD:Z

    return p1
.end method

.method static synthetic access$100(Lcom/imo/android/imoim/av/macaw/MacawHandler;)V
    .registers 1

    .line 48
    invoke-direct {p0}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->runThread()V

    return-void
.end method

.method private native closeAutotoucher(J)V
.end method

.method private native convertNv21toYuv420p(J[B[BII)V
.end method

.method static crhar(Ljava/lang/String;)I
    .registers 13

    .line 876
    invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "crhar "

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

    move-result-object v0

    const-string v1, "MacawHandler"

    .line 14071
    invoke-static {v1, v0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    const-string v0, "#"

    .line 877
    invoke-virtual {p0, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object p0

    .line 879
    sget-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->size()I

    move-result v0

    const/4 v2, 0x0

    if-nez v0, :cond_23

    .line 880
    sget-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    :cond_23
    const/4 v0, 0x0

    const/4 v3, 0x0

    .line 882
    :cond_25
    sget-object v4, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {v4, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v4

    if-eqz v4, :cond_3c

    add-int/lit8 v3, v3, 0x1

    .line 884
    sget-object v4, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {v4}, Ljava/util/List;->size()I

    move-result v4

    if-ne v3, v4, :cond_25

    .line 885
    sget-object v4, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {v4, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 890
    :cond_3c
    invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v2

    const-string v4, "crhar picked "

    invoke-virtual {v4, v2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    .line 15071
    invoke-static {v1, v2}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 891
    sget-object v2, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v2

    if-nez v2, :cond_e1

    const/4 v2, 0x1

    .line 893
    :try_start_52
    aget-object v4, p0, v0

    invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v4

    const/4 v5, 0x3

    const/4 v6, 0x4

    const/4 v7, 0x2

    if-ne v4, v7, :cond_8d

    .line 895
    sget-object v4, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    new-instance v8, Lcom/imo/android/imoim/av/c/c;

    aget-object v9, p0, v2

    aget-object v5, p0, v5

    aget-object v10, p0, v7

    new-array v7, v7, [[B

    aget-object v11, p0, v6

    .line 896
    invoke-static {v11}, Lcom/imo/android/imoim/util/ei;->ah(Ljava/lang/String;)[B

    move-result-object v11

    aput-object v11, v7, v0

    aget-object p0, p0, v6

    invoke-static {p0}, Lcom/imo/android/imoim/util/ei;->ah(Ljava/lang/String;)[B

    move-result-object p0

    aput-object p0, v7, v2

    invoke-direct {v8, v9, v5, v10, v7}, Lcom/imo/android/imoim/av/c/c;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[[B)V

    .line 895
    invoke-interface {v4, v3, v8}, Ljava/util/List;->set(ILjava/lang/Object;)Ljava/lang/Object;

    const-string p0, "crhar made a stream "

    .line 897
    invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p0, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p0

    .line 16071
    invoke-static {v1, p0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_b2

    .line 899
    :cond_8d
    new-instance v0, Lcom/imo/android/imoim/av/c/d;

    aget-object v8, p0, v2

    aget-object v7, p0, v7

    invoke-direct {v0, v8, v7}, Lcom/imo/android/imoim/av/c/d;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    if-ne v4, v5, :cond_a0

    .line 901
    aget-object p0, p0, v6

    invoke-static {p0}, Lcom/imo/android/imoim/util/ei;->ah(Ljava/lang/String;)[B

    move-result-object p0

    .line 17061
    iput-object p0, v0, Lcom/imo/android/imoim/av/c/d;->c:[B

    .line 903
    :cond_a0
    sget-object p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {p0, v3, v0}, Ljava/util/List;->set(ILjava/lang/Object;)Ljava/lang/Object;

    const-string p0, "crhar made a pipe "

    .line 904
    invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p0, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p0

    .line 17071
    invoke-static {v1, p0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 906
    :goto_b2
    sget-object p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {p0, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object p0

    check-cast p0, Lcom/imo/android/imoim/av/c/b;

    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$6;

    invoke-direct {v0, v3}, Lcom/imo/android/imoim/av/macaw/MacawHandler$6;-><init>(I)V

    invoke-interface {p0, v0}, Lcom/imo/android/imoim/av/c/b;->a(Lcom/imo/android/imoim/av/c/a;)V
    :try_end_c2
    .catchall {:try_start_52 .. :try_end_c2} :catchall_c3

    goto :goto_e1

    :catchall_c3
    move-exception p0

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

    const-string v4, "exception in trahar "

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

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

    const-string v4, " "

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

    invoke-virtual {p0}, Ljava/lang/Throwable;->toString()Ljava/lang/String;

    move-result-object p0

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

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

    move-result-object p0

    .line 17079
    invoke-static {v1, p0, v2}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    .line 929
    :cond_e1
    :goto_e1
    invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object p0

    const-string v0, "crhar all done "

    invoke-virtual {v0, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p0

    .line 18071
    invoke-static {v1, p0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    return v3
.end method

.method static dohar(I[B)Ljava/lang/String;
    .registers 8

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

    const-string v1, "dohar start "

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

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

    if-eqz p1, :cond_1c

    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, " "

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

    array-length v2, p1

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

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

    move-result-object v1

    goto :goto_1e

    :cond_1c
    const-string v1, " null"

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

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

    move-result-object v0

    const-string v1, "MacawHandler"

    .line 11071
    invoke-static {v1, v0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    const/4 v0, 0x0

    .line 853
    :try_start_2b
    sget-object v1, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    if-eqz v1, :cond_c4

    sget-object v1, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {v1}, Ljava/util/List;->size()I

    move-result v1

    if-ge p0, v1, :cond_c4

    sget-object v1, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    .line 854
    invoke-interface {v1, p0}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v1

    if-eqz v1, :cond_c4

    if-eqz p1, :cond_4c

    .line 856
    sget-object v1, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {v1, p0}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/imo/android/imoim/av/c/b;

    invoke-interface {v1, p1}, Lcom/imo/android/imoim/av/c/b;->a([B)V

    .line 858
    :cond_4c
    sget-object p1, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {p1, p0}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Lcom/imo/android/imoim/av/c/b;

    monitor-enter p1
    :try_end_55
    .catchall {:try_start_2b .. :try_end_55} :catchall_a3

    .line 859
    :try_start_55
    sget-object v1, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harout:Ljava/util/List;

    invoke-interface {v1}, Ljava/util/List;->size()I

    move-result v1

    if-ge p0, v1, :cond_96

    sget-object v1, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harout:Ljava/util/List;

    invoke-interface {v1, p0}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v1

    if-eqz v1, :cond_96

    .line 860
    sget-object v1, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harout:Ljava/util/List;

    invoke-interface {v1, p0}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/lang/StringBuilder;

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

    move-result-object v1
    :try_end_71
    .catchall {:try_start_55 .. :try_end_71} :catchall_98

    :try_start_71
    const-string v2, "MacawHandler"

    .line 861
    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "we got a fish "

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

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

    const-string v4, " "

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

    invoke-virtual {v1}, Ljava/lang/String;->length()I

    move-result v4

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

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

    move-result-object v3

    .line 12071
    invoke-static {v2, v3}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 862
    sget-object v2, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harout:Ljava/util/List;

    invoke-interface {v2, p0, v0}, Ljava/util/List;->set(ILjava/lang/Object;)Ljava/lang/Object;
    :try_end_95
    .catchall {:try_start_71 .. :try_end_95} :catchall_a1

    move-object v0, v1

    .line 864
    :cond_96
    :try_start_96
    monitor-exit p1
    :try_end_97
    .catchall {:try_start_96 .. :try_end_97} :catchall_98

    goto :goto_c4

    :catchall_98
    move-exception v1

    move-object v5, v1

    move-object v1, v0

    move-object v0, v5

    :goto_9c
    :try_start_9c
    monitor-exit p1
    :try_end_9d
    .catchall {:try_start_9c .. :try_end_9d} :catchall_a1

    :try_start_9d
    throw v0
    :try_end_9e
    .catchall {:try_start_9d .. :try_end_9e} :catchall_9e

    :catchall_9e
    move-exception p1

    move-object v0, v1

    goto :goto_a4

    :catchall_a1
    move-exception v0

    goto :goto_9c

    :catchall_a3
    move-exception p1

    .line 867
    :goto_a4
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "exception in dohar "

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

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

    const-string v2, " "

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

    invoke-virtual {p1}, Ljava/lang/Throwable;->toString()Ljava/lang/String;

    move-result-object p1

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

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

    move-result-object p1

    const/4 v1, 0x1

    const-string v2, "MacawHandler"

    .line 12079
    invoke-static {v2, p1, v1}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    .line 869
    :cond_c4
    :goto_c4
    invoke-static {p0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object p0

    const-string p1, "dohar all done "

    invoke-virtual {p1, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p0

    const-string p1, "MacawHandler"

    .line 13071
    invoke-static {p1, p0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    return-object v0
.end method

.method private native getKaraokeCurrentPlayPosition(J)I
.end method

.method private native getKaraokeFileDuration(J)I
.end method

.method private native getKaraokeVolume(J)I
.end method

.method public static native getNumberOfCores()I
.end method

.method private native getRunningState(J)Ljava/lang/String;
.end method

.method private native isSupportVideoSwitchToAudioOnSelfCallAccepted(J)Z
.end method

.method public static mustUseNonDefaultFps()Z
    .registers 4

    .line 597
    sget-object v0, Landroid/os/Build;->BRAND:Ljava/lang/String;

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

    move-result-object v0

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

    move-result-object v0

    .line 598
    sget-object v1, Landroid/os/Build;->MODEL:Ljava/lang/String;

    invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v1

    .line 599
    sget-object v2, Lcom/imo/android/imoim/av/macaw/PhoneList;->CAMERA_DEFAULT_FPS_BLACKLIST:Ljava/util/HashSet;

    new-instance v3, Ljava/lang/StringBuilder;

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

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

    const-string v0, " "

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

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

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

    move-result-object v0

    invoke-virtual {v2, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z

    move-result v0

    return v0
.end method

.method private native onGroupMemberInfo(JI[I[Ljava/lang/String;)V
.end method

.method private native onPartyRoomPlayStatusUpdate(JII)V
.end method

.method private native pauseKaraoke(J)V
.end method

.method private native releaseKaraokePlayerStatusListener(J)V
.end method

.method private native resumeKaraoke(J)V
.end method

.method private native runThread()V
.end method

.method public static setAudioPriority()V
    .registers 1

    .line 953
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    const/16 v0, -0x10

    .line 954
    invoke-static {v0}, Landroid/os/Process;->setThreadPriority(I)V

    return-void
.end method

.method private native setKaraokeCurrentPlayPosition(JI)I
.end method

.method private native setKaraokePlayerStatusListener(JLcom/imo/android/imoim/av/macaw/MacawHandler$IKaraokePlayerListener;)V
.end method

.method private native setKaraokeVolume(JI)V
.end method

.method static shar(I)V
    .registers 4

    .line 823
    :try_start_0
    sget-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    if-eqz v0, :cond_1f

    sget-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->size()I

    move-result v0

    if-ge p0, v0, :cond_1f

    sget-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    .line 824
    invoke-interface {v0, p0}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v0

    if-eqz v0, :cond_1f

    .line 825
    sget-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {v0, p0}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/imo/android/imoim/av/c/b;

    invoke-interface {v0}, Lcom/imo/android/imoim/av/c/b;->b()V
    :try_end_1f
    .catchall {:try_start_0 .. :try_end_1f} :catchall_20

    :cond_1f
    return-void

    :catchall_20
    move-exception v0

    .line 828
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "exception in shar "

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

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

    const-string p0, " "

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

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

    move-result-object p0

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

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

    move-result-object p0

    const/4 v0, 0x1

    const-string v1, "MacawHandler"

    .line 9079
    invoke-static {v1, p0, v0}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    return-void
.end method

.method private native startKaraoke(JLjava/lang/String;IZ)V
.end method

.method private native stopKaraoke(J)V
.end method

.method static stophar(I)V
    .registers 4

    .line 835
    :try_start_0
    sget-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    if-eqz v0, :cond_32

    sget-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->size()I

    move-result v0

    if-ge p0, v0, :cond_32

    sget-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    .line 836
    invoke-interface {v0, p0}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v0

    if-eqz v0, :cond_32

    .line 837
    sget-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    invoke-interface {v0, p0}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/imo/android/imoim/av/c/b;

    invoke-interface {v0}, Lcom/imo/android/imoim/av/c/b;->a()V

    .line 838
    sget-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harlist:Ljava/util/List;

    const/4 v1, 0x0

    invoke-interface {v0, p0, v1}, Ljava/util/List;->set(ILjava/lang/Object;)Ljava/lang/Object;

    .line 839
    sget-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harout:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->size()I

    move-result v0

    if-ge p0, v0, :cond_32

    .line 840
    sget-object v0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->harout:Ljava/util/List;

    invoke-interface {v0, p0, v1}, Ljava/util/List;->set(ILjava/lang/Object;)Ljava/lang/Object;
    :try_end_32
    .catchall {:try_start_0 .. :try_end_32} :catchall_33

    :cond_32
    return-void

    :catchall_33
    move-exception v0

    .line 844
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "exception in stophar "

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

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

    const-string p0, " "

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

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

    move-result-object p0

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

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

    move-result-object p0

    const/4 v0, 0x1

    const-string v1, "MacawHandler"

    .line 10079
    invoke-static {v1, p0, v0}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    return-void
.end method

.method private native touchimageWithStrength(J[BIIII)V
.end method

.method public static useNewFpsRangeSelectionMethod()Z
    .registers 4

    .line 590
    sget-object v0, Landroid/os/Build;->BRAND:Ljava/lang/String;

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

    move-result-object v0

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

    move-result-object v0

    .line 591
    sget-object v1, Landroid/os/Build;->MODEL:Ljava/lang/String;

    invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v1

    .line 592
    sget-object v2, Lcom/imo/android/imoim/av/macaw/PhoneList;->NEW_FPS_RANGE_SELECTION_WHITELIST:Ljava/util/HashSet;

    new-instance v3, Ljava/lang/StringBuilder;

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

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

    const-string v0, " "

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

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

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

    move-result-object v0

    invoke-virtual {v2, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z

    move-result v0

    return v0
.end method

.method public static native viewCallback(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.end method


# virtual methods
.method protected abandonAudioFocus()V
    .registers 3

    .line 131
    invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;

    move-result-object v0

    const-string v1, "audio"

    invoke-virtual {v0, v1}, Lcom/imo/android/imoim/IMO;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/media/AudioManager;

    .line 133
    iget-object v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->audioFocusChangeListener:Landroid/media/AudioManager$OnAudioFocusChangeListener;

    invoke-virtual {v0, v1}, Landroid/media/AudioManager;->abandonAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;)I

    return-void
.end method

.method public acceptScreen()V
    .registers 4

    .line 1108
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    const/16 v2, 0x14

    invoke-direct {v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_10

    return-void

    .line 1109
    :cond_10
    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {v0}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw v0
.end method

.method public addLogs(Lorg/json/JSONObject;)V
    .registers 4

    if-eqz p1, :cond_d

    .line 1076
    :try_start_2
    iget-boolean v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->cameraWasLost:Z

    if-eqz v0, :cond_d

    const-string v0, "camera_was_recovered"

    .line 1077
    iget-boolean v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->cameraWasRecovered:Z

    invoke-virtual {p1, v0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
    :try_end_d
    .catch Lorg/json/JSONException; {:try_start_2 .. :try_end_d} :catch_d

    :catch_d
    :cond_d
    return-void
.end method

.method public audioRouteChanged(I)V
    .registers 4

    .line 1035
    sget-object v0, Lcom/imo/android/imoim/IMO;->y:Lcom/imo/android/imoim/av/AVManager;

    const/4 v0, 0x2

    if-ne p1, v0, :cond_1a

    .line 1036
    iget-object p1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    const/4 v1, 0x4

    invoke-direct {v0, v1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {p1, v0}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result p1

    if-eqz p1, :cond_14

    goto :goto_68

    .line 1038
    :cond_14
    new-instance p1, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw p1

    .line 1040
    :cond_1a
    sget-object v0, Lcom/imo/android/imoim/IMO;->y:Lcom/imo/android/imoim/av/AVManager;

    if-nez p1, :cond_33

    .line 1041
    iget-object p1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    const/4 v1, 0x5

    invoke-direct {v0, v1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {p1, v0}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result p1

    if-eqz p1, :cond_2d

    goto :goto_68

    .line 1043
    :cond_2d
    new-instance p1, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw p1

    .line 1045
    :cond_33
    sget-object v0, Lcom/imo/android/imoim/IMO;->y:Lcom/imo/android/imoim/av/AVManager;

    const/4 v0, 0x1

    if-ne p1, v0, :cond_4d

    .line 1046
    iget-object p1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    const/4 v1, 0x6

    invoke-direct {v0, v1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {p1, v0}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result p1

    if-eqz p1, :cond_47

    goto :goto_68

    .line 1048
    :cond_47
    new-instance p1, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw p1

    .line 1050
    :cond_4d
    sget-object v0, Lcom/imo/android/imoim/IMO;->y:Lcom/imo/android/imoim/av/AVManager;

    const/4 v0, 0x3

    if-ne p1, v0, :cond_68

    .line 1051
    iget-object p1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    const/16 v1, 0x8

    invoke-direct {v0, v1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {p1, v0}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result p1

    if-eqz p1, :cond_62

    goto :goto_68

    .line 1053
    :cond_62
    new-instance p1, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw p1

    :cond_68
    :goto_68
    return-void
.end method

.method audioStremStart(IIIIZ)Z
    .registers 10

    if-eqz p1, :cond_16

    const/4 v0, 0x1

    if-eq p1, v0, :cond_16

    .line 1159
    invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object p1

    const-string p2, "audioStremStart error audioDeviceType: "

    invoke-virtual {p2, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1

    const-string p2, "MacawHandler"

    .line 20079
    invoke-static {p2, p1, v0}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    const/4 p1, 0x0

    return p1

    .line 1162
    :cond_16
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->mMacawStreamThread:[Lcom/imo/android/imoim/av/macaw/MacawAudioStreamThread;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawAudioStreamThread;

    iget-wide v2, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {v1, p0, v2, v3, p1}, Lcom/imo/android/imoim/av/macaw/MacawAudioStreamThread;-><init>(Lcom/imo/android/imoim/av/macaw/MacawHandler;JI)V

    aput-object v1, v0, p1

    .line 1163
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->mMacawStreamThread:[Lcom/imo/android/imoim/av/macaw/MacawAudioStreamThread;

    aget-object v0, v0, p1

    invoke-virtual {v0, p2, p3, p4, p5}, Lcom/imo/android/imoim/av/macaw/MacawAudioStreamThread;->init(IIIZ)Z

    move-result p2

    if-eqz p2, :cond_32

    .line 1165
    iget-object p3, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->mMacawStreamThread:[Lcom/imo/android/imoim/av/macaw/MacawAudioStreamThread;

    aget-object p1, p3, p1

    invoke-virtual {p1}, Lcom/imo/android/imoim/av/macaw/MacawAudioStreamThread;->start()V

    :cond_32
    return p2
.end method

.method audioStremStop(II)V
    .registers 5

    if-eqz p1, :cond_15

    const/4 v0, 0x1

    if-eq p1, v0, :cond_15

    .line 1172
    invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object p1

    const-string p2, "audioStremStop error deviceType: "

    invoke-virtual {p2, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1

    const-string p2, "MacawHandler"

    .line 21079
    invoke-static {p2, p1, v0}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    return-void

    .line 1175
    :cond_15
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->mMacawStreamThread:[Lcom/imo/android/imoim/av/macaw/MacawAudioStreamThread;

    aget-object v1, v0, p1

    if-eqz v1, :cond_25

    .line 1176
    aget-object v0, v0, p1

    invoke-virtual {v0, p2}, Lcom/imo/android/imoim/av/macaw/MacawAudioStreamThread;->stopThread(I)V

    .line 1177
    iget-object p2, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->mMacawStreamThread:[Lcom/imo/android/imoim/av/macaw/MacawAudioStreamThread;

    const/4 v0, 0x0

    aput-object v0, p2, p1

    :cond_25
    return-void
.end method

.method protected abstract bigoABTestConfig(Ljava/lang/String;)I
.end method

.method public cameraLost()V
    .registers 2

    .line 1060
    iget-boolean v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->cameraWasStarted:Z

    if-eqz v0, :cond_7

    const/4 v0, 0x1

    .line 1061
    iput-boolean v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->cameraWasLost:Z

    :cond_7
    return-void
.end method

.method public cameraStarted()V
    .registers 3

    const/4 v0, 0x1

    .line 1067
    iput-boolean v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->cameraWasStarted:Z

    .line 1068
    iget-boolean v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->cameraWasLost:Z

    if-eqz v1, :cond_9

    .line 1069
    iput-boolean v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->cameraWasRecovered:Z

    :cond_9
    return-void
.end method

.method public cleanupVideo()V
    .registers 1

    return-void
.end method

.method public closeAutotoucher()V
    .registers 4

    .line 309
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 310
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->closeAutotoucher(J)V

    .line 311
    monitor-exit v0

    return-void

    :catchall_a
    move-exception v1

    monitor-exit v0
    :try_end_c
    .catchall {:try_start_3 .. :try_end_c} :catchall_a

    throw v1
.end method

.method public convertNv21toYuv420p([B[BII)V
    .registers 13

    .line 295
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 296
    :try_start_3
    iget-wide v2, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    move-object v1, p0

    move-object v4, p1

    move-object v5, p2

    move v6, p3

    move v7, p4

    invoke-direct/range {v1 .. v7}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->convertNv21toYuv420p(J[B[BII)V

    .line 297
    monitor-exit v0

    return-void

    :catchall_f
    move-exception p1

    monitor-exit v0
    :try_end_11
    .catchall {:try_start_3 .. :try_end_11} :catchall_f

    throw p1
.end method

.method public decideBitrate()Z
    .registers 4

    .line 210
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 211
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-virtual {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->decideBitrate(J)Z

    move-result v1

    .line 212
    monitor-exit v0

    return v1

    :catchall_b
    move-exception v1

    monitor-exit v0
    :try_end_d
    .catchall {:try_start_3 .. :try_end_d} :catchall_b

    throw v1
.end method

.method public native decideBitrate(J)Z
.end method

.method protected enableRoboticVoiceFix()Z
    .registers 5

    .line 604
    sget-object v0, Landroid/os/Build;->BRAND:Ljava/lang/String;

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

    move-result-object v0

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

    move-result-object v0

    .line 605
    sget-object v1, Landroid/os/Build;->MODEL:Ljava/lang/String;

    invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v1

    .line 606
    sget-object v2, Lcom/imo/android/imoim/av/macaw/PhoneList;->ROBOTIC_VOICE_FIX_WHITELIST:Ljava/util/HashSet;

    new-instance v3, Ljava/lang/StringBuilder;

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

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

    const-string v0, " "

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

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

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

    move-result-object v0

    invoke-virtual {v2, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z

    move-result v0

    .line 607
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    return v0
.end method

.method protected enableWebrtcAssertHack()Z
    .registers 4

    .line 581
    sget-object v0, Landroid/os/Build;->BRAND:Ljava/lang/String;

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

    move-result-object v0

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

    move-result-object v0

    .line 582
    sget-object v1, Landroid/os/Build;->MODEL:Ljava/lang/String;

    invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v1

    .line 583
    new-instance v2, Ljava/lang/StringBuilder;

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

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

    const-string v0, " "

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

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

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

    move-result-object v0

    .line 584
    sget-object v1, Lcom/imo/android/imoim/av/macaw/PhoneList;->WEBRTC_ASSERT_HACK:Ljava/util/HashSet;

    invoke-virtual {v1, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z

    move-result v0

    .line 585
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    return v0
.end method

.method public endScreen()V
    .registers 4

    .line 1102
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    const/16 v2, 0x13

    invoke-direct {v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_10

    return-void

    .line 1103
    :cond_10
    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {v0}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw v0
.end method

.method protected abstract getAVSyncParams()[I
.end method

.method protected abstract getAudioBitParams()[I
.end method

.method protected abstract getAudioHarqParams()[D
.end method

.method protected abstract getAudioJitterParams()[D
.end method

.method protected abstract getAudioRetransmitParams()[D
.end method

.method protected abstract getAudioStatsParams()[D
.end method

.method protected abstract getBigoABIntParams(Ljava/lang/String;)[I
.end method

.method protected abstract getBitrateParams()[D
.end method

.method protected abstract getCallParams()[D
.end method

.method protected abstract getConnNetParams(I)[D
.end method

.method protected abstract getConnServerName(I)Ljava/lang/String;
.end method

.method protected abstract getConnServerPort(I)I
.end method

.method protected abstract getConnServerTickets(I)[[B
.end method

.method protected abstract getConnSourcePort(I)I
.end method

.method protected abstract getConnStringParams(I)[Ljava/lang/String;
.end method

.method public getConnectionType()Ljava/lang/String;
    .registers 5

    const-string v0, ""

    .line 708
    :try_start_2
    invoke-static {}, Lcom/imo/android/imoim/util/ei;->J()Ljava/lang/String;

    move-result-object v1

    if-nez v1, :cond_9

    move-object v1, v0

    .line 712
    :cond_9
    invoke-virtual {v1}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

    move-result-object v1

    const-string v2, "mobile2["

    const-string v3, "mobile["

    .line 713
    invoke-virtual {v1, v2, v3}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;

    move-result-object v1

    .line 714
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;
    :try_end_1c
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_1c} :catch_1d

    return-object v1

    .line 717
    :catch_1d
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    return-object v0
.end method

.method protected abstract getConvID()Ljava/lang/String;
.end method

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

    .line 644
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    new-instance v0, Ljava/lang/StringBuilder;

    const-string v1, "getDeviceModel="

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

    sget-object v1, Landroid/os/Build;->MODEL:Ljava/lang/String;

    invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

    move-result-object v1

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

    .line 646
    sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String;

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

    move-result-object v0

    return-object v0
.end method

.method public getEncoderBitrateKbps()I
    .registers 4

    .line 202
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 203
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-virtual {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getEncoderBitrateKbps(J)I

    move-result v1

    .line 204
    monitor-exit v0

    return v1

    :catchall_b
    move-exception v1

    monitor-exit v0
    :try_end_d
    .catchall {:try_start_3 .. :try_end_d} :catchall_b

    throw v1
.end method

.method public native getEncoderBitrateKbps(J)I
.end method

.method protected abstract getErrorCorrectionParams()[D
.end method

.method protected abstract getIPv6Pipe()Ljava/lang/String;
.end method

.method protected abstract getInitiatorProtocolMask()[B
.end method

.method protected abstract getIntParams(I)[I
.end method

.method protected abstract getIsVideoCall()Z
.end method

.method public getKaraokeCurrentPlayPosition()I
    .registers 4

    .line 390
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 391
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getKaraokeCurrentPlayPosition(J)I

    move-result v1

    monitor-exit v0

    return v1

    :catchall_b
    move-exception v1

    .line 392
    monitor-exit v0
    :try_end_d
    .catchall {:try_start_3 .. :try_end_d} :catchall_b

    throw v1
.end method

.method public getKaraokeFileDuration()I
    .registers 4

    .line 383
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 384
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getKaraokeFileDuration(J)I

    move-result v1

    monitor-exit v0

    return v1

    :catchall_b
    move-exception v1

    .line 385
    monitor-exit v0
    :try_end_d
    .catchall {:try_start_3 .. :try_end_d} :catchall_b

    throw v1
.end method

.method public getKaraokeVolume()I
    .registers 4

    .line 411
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 412
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getKaraokeVolume(J)I

    move-result v1

    monitor-exit v0

    return v1

    :catchall_b
    move-exception v1

    .line 413
    monitor-exit v0
    :try_end_d
    .catchall {:try_start_3 .. :try_end_d} :catchall_b

    throw v1
.end method

.method protected abstract getLocalIPv6Address()Ljava/lang/String;
.end method

.method public getLogPath()Ljava/lang/String;
    .registers 8

    .line 612
    invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;

    move-result-object v0

    invoke-static {v0}, Lcom/imo/android/imoim/util/bb;->b(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v0

    .line 613
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    .line 614
    sget-object v1, Lcom/imo/android/imoim/util/cw;->a:Lcom/imo/android/imoim/util/cw$a;

    const-string v1, "logPath"

    invoke-static {v0, v1}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V

    .line 4025
    move-object v1, v0

    check-cast v1, Ljava/lang/CharSequence;

    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-eqz v1, :cond_73

    .line 4038
    invoke-static {}, Lcom/imo/android/imoim/util/cw;->a()I

    move-result v1

    const/4 v2, 0x2

    const/4 v3, 0x1

    const/4 v4, 0x0

    if-lt v1, v2, :cond_26

    const/4 v1, 0x1

    goto :goto_27

    :cond_26
    const/4 v1, 0x0

    :goto_27
    if-nez v1, :cond_73

    .line 4030
    new-instance v1, Ljava/util/LinkedHashMap;

    invoke-direct {v1}, Ljava/util/LinkedHashMap;-><init>()V

    check-cast v1, Ljava/util/Map;

    .line 4031
    new-instance v2, Ljava/lang/StringBuilder;

    const-string v5, "dir: "

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

    invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;

    move-result-object v5

    const-string v6, "IMO.getInstance()"

    invoke-static {v5, v6}, Lkotlin/f/b/o;->a(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-virtual {v5}, Lcom/imo/android/imoim/IMO;->getFilesDir()Ljava/io/File;

    move-result-object v5

    if-eqz v5, :cond_4c

    invoke-virtual {v5}, Ljava/io/File;->toString()Ljava/lang/String;

    move-result-object v5

    if-nez v5, :cond_4e

    :cond_4c
    const-string v5, "empty"

    :cond_4e
    invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

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

    move-result-object v2

    const-string v5, "files_dir"

    invoke-interface {v1, v5, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 4032
    sget-object v2, Lcom/imo/android/imoim/IMO;->O:Lcom/imo/android/imoim/managers/m;

    const-string v5, "05802063"

    invoke-virtual {v2, v5}, Lcom/imo/android/imoim/managers/m;->a(Ljava/lang/String;)Lcom/imo/android/imoim/managers/m$a;

    move-result-object v2

    invoke-virtual {v2, v1}, Lcom/imo/android/imoim/managers/m$a;->a(Ljava/util/Map;)Lcom/imo/android/imoim/managers/m$a;

    move-result-object v1

    .line 4635
    iput-boolean v4, v1, Lcom/imo/android/imoim/managers/m$a;->f:Z

    .line 4032
    invoke-virtual {v1}, Lcom/imo/android/imoim/managers/m$a;->c()V

    .line 4033
    invoke-static {}, Lcom/imo/android/imoim/util/cw;->a()I

    move-result v1

    add-int/2addr v1, v3

    invoke-static {v1}, Lcom/imo/android/imoim/util/cw;->a(I)V

    :cond_73
    return-object v0
.end method

.method protected abstract getMaxGroupVideoBitrates()[I
.end method

.method protected abstract getMaxVideoBitratesKbps()[I
.end method

.method protected abstract getMaxVideoSlots()I
.end method

.method public getNativeBufferSize()I
    .registers 4

    .line 989
    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    const/4 v1, 0x0

    const/16 v2, 0x11

    if-ge v0, v2, :cond_8

    return v1

    .line 993
    :cond_8
    invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;

    move-result-object v0

    const-string v2, "audio"

    invoke-virtual {v0, v2}, Lcom/imo/android/imoim/IMO;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/media/AudioManager;

    const-string v2, "android.media.property.OUTPUT_FRAMES_PER_BUFFER"

    .line 996
    invoke-virtual {v0, v2}, Landroid/media/AudioManager;->getProperty(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    if-nez v0, :cond_1d

    return v1

    .line 1000
    :cond_1d
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    .line 1001
    invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v0

    return v0
.end method

.method public getNativeSampleRate()I
    .registers 4

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

    const-string v1, "Build.VERSION.SDK_INT = "

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

    sget v1, Landroid/os/Build$VERSION;->SDK_INT:I

    invoke-virtual {v0, v1}, 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, "MacawHandler"

    .line 19071
    invoke-static {v1, v0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 968
    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    const/4 v1, 0x0

    const/16 v2, 0x11

    if-ge v0, v2, :cond_27

    .line 969
    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    const/4 v2, 0x3

    if-lt v0, v2, :cond_26

    .line 971
    invoke-static {v1}, Landroid/media/AudioTrack;->getNativeOutputSampleRate(I)I

    move-result v0

    return v0

    :cond_26
    return v1

    .line 976
    :cond_27
    invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;

    move-result-object v0

    const-string v2, "audio"

    invoke-virtual {v0, v2}, Lcom/imo/android/imoim/IMO;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/media/AudioManager;

    const-string v2, "android.media.property.OUTPUT_SAMPLE_RATE"

    .line 979
    invoke-virtual {v0, v2}, Landroid/media/AudioManager;->getProperty(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    if-nez v0, :cond_3c

    return v1

    .line 983
    :cond_3c
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    .line 984
    invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v0

    return v0
.end method

.method protected abstract getNumConnections()I
.end method

.method public native getOggFileChanCount(J)I
.end method

.method public native getOggFileLengthMs(J)I
.end method

.method public native getOggFileSampleRate(J)I
.end method

.method protected abstract getPeerCbcKey()[B
.end method

.method protected abstract getPoorNetworkParams()[I
.end method

.method protected abstract getQualityConfigParams(I)[D
.end method

.method protected abstract getReceiverProtocolMask()[B
.end method

.method protected abstract getServerCbcKey()[B
.end method

.method protected abstract getServerKey()[B
.end method

.method protected abstract getSharedKey()[B
.end method

.method protected abstract getStreamId()I
.end method

.method protected abstract getVideoArqParams()[I
.end method

.method public getVideoFps()I
    .registers 4

    .line 194
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 195
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-virtual {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getVideoFps(J)I

    move-result v1

    .line 196
    monitor-exit v0

    return v1

    :catchall_b
    move-exception v1

    monitor-exit v0
    :try_end_d
    .catchall {:try_start_3 .. :try_end_d} :catchall_b

    throw v1
.end method

.method public native getVideoFps(J)I
.end method

.method public native getimage([B[I)V
.end method

.method protected abstract isABTestEnabled(I)Z
.end method

.method protected abstract isAVReceiver()Z
.end method

.method protected abstract isAVSender()Z
.end method

.method public isCameraPreferHD()Z
    .registers 2

    .line 263
    iget-boolean v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->cameraPreferHD:Z

    return v0
.end method

.method protected abstract isErrorCorrectionAllowed()Z
.end method

.method public isFastPathSupported()Z
    .registers 3

    .line 958
    invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;

    move-result-object v0

    invoke-virtual {v0}, Lcom/imo/android/imoim/IMO;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v0

    const-string v1, "android.hardware.audio.low_latency"

    .line 959
    invoke-virtual {v0, v1}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_18

    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v1, 0x11

    if-lt v0, v1, :cond_18

    const/4 v0, 0x1

    goto :goto_19

    :cond_18
    const/4 v0, 0x0

    .line 961
    :goto_19
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    return v0
.end method

.method protected abstract isGroupCall()Z
.end method

.method public isGroupScreen()Z
    .registers 2

    .line 1127
    sget-object v0, Lcom/imo/android/imoim/IMO;->z:Lcom/imo/android/imoim/av/GroupAVManager;

    invoke-virtual {v0}, Lcom/imo/android/imoim/av/GroupAVManager;->v()Z

    move-result v0

    if-eqz v0, :cond_10

    sget-object v0, Lcom/imo/android/imoim/IMO;->z:Lcom/imo/android/imoim/av/GroupAVManager;

    .line 19604
    iget-boolean v0, v0, Lcom/imo/android/imoim/av/GroupAVManager;->B:Z

    if-nez v0, :cond_10

    const/4 v0, 0x1

    return v0

    :cond_10
    const/4 v0, 0x0

    return v0
.end method

.method public isHDAudio()Z
    .registers 4

    .line 218
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 219
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-virtual {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->isHDAudio(J)Z

    move-result v1

    if-nez v1, :cond_19

    invoke-static {}, Lcom/imo/android/imoim/util/al;->b()Z

    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-virtual {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->isNewHDAudio(J)Z

    move-result v1

    if-eqz v1, :cond_17

    goto :goto_19

    :cond_17
    const/4 v1, 0x0

    goto :goto_1a

    :cond_19
    :goto_19
    const/4 v1, 0x1

    .line 220
    :goto_1a
    monitor-exit v0

    return v1

    :catchall_1c
    move-exception v1

    monitor-exit v0
    :try_end_1e
    .catchall {:try_start_3 .. :try_end_1e} :catchall_1c

    throw v1
.end method

.method public native isHDAudio(J)Z
.end method

.method protected isHtcE8()Z
    .registers 3

    .line 657
    invoke-virtual {p0}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getDeviceModel()Ljava/lang/String;

    move-result-object v0

    if-eqz v0, :cond_10

    const-string v1, "htc one_e8"

    .line 658
    invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_10

    const/4 v0, 0x1

    return v0

    :cond_10
    const/4 v0, 0x0

    return v0
.end method

.method protected isHtcM8()Z
    .registers 3

    .line 662
    invoke-virtual {p0}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getDeviceModel()Ljava/lang/String;

    move-result-object v0

    const-string v1, "htc one_m8"

    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_1b

    .line 663
    invoke-virtual {p0}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getDeviceModel()Ljava/lang/String;

    move-result-object v0

    const-string v1, "htc_m8x"

    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_19

    goto :goto_1b

    :cond_19
    const/4 v0, 0x0

    return v0

    :cond_1b
    :goto_1b
    const/4 v0, 0x1

    return v0
.end method

.method protected abstract isInitiator()Z
.end method

.method protected isM3Max()Z
    .registers 3

    .line 667
    invoke-virtual {p0}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getDeviceModel()Ljava/lang/String;

    move-result-object v0

    const-string v1, "m3 max"

    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    return v0
.end method

.method public native isNewHDAudio(J)Z
.end method

.method protected abstract isPartyRoom()Z
.end method

.method public isRefl()Z
    .registers 2

    .line 652
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    const/4 v0, 0x0

    return v0
.end method

.method public isRunning()Z
    .registers 2

    .line 1084
    iget-boolean v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->isRunning:Z

    return v0
.end method

.method protected isSMG532G()Z
    .registers 3

    .line 671
    invoke-virtual {p0}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getDeviceModel()Ljava/lang/String;

    move-result-object v0

    const-string v1, "sm-g532g"

    invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    return v0
.end method

.method protected abstract isSpeakerEnabled()Z
.end method

.method public isSupportVideoSwitchToAudioOnSelfCallAccepted()Z
    .registers 4

    .line 439
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 440
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->isSupportVideoSwitchToAudioOnSelfCallAccepted(J)Z

    move-result v1

    monitor-exit v0

    return v1

    :catchall_b
    move-exception v1

    .line 441
    monitor-exit v0
    :try_end_d
    .catchall {:try_start_3 .. :try_end_d} :catchall_b

    throw v1
.end method

.method protected abstract isTalkieRoom()Z
.end method

.method protected abstract logNative(Ljava/lang/String;Ljava/lang/String;)V
.end method

.method protected abstract onAudioInitialized()V
.end method

.method protected abstract onBuddyConnect()V
.end method

.method protected abstract onBuddyDisconnect()V
.end method

.method protected abstract onBuddyFirstAVPkgRecv(Z)V
.end method

.method protected abstract onBuddyFirstVoicePlay()V
.end method

.method public onCallSettings(ZZ)V
    .registers 4

    .line 226
    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$2;

    invoke-direct {v0, p0, p2, p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$2;-><init>(Lcom/imo/android/imoim/av/macaw/MacawHandler;ZZ)V

    invoke-static {v0}, Lcom/imo/android/imoim/util/ec;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method public onGroupMemberInfo(I[I[Ljava/lang/String;)V
    .registers 11

    .line 316
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 317
    :try_start_3
    iget-wide v2, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    move-object v1, p0

    move v4, p1

    move-object v5, p2

    move-object v6, p3

    invoke-direct/range {v1 .. v6}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->onGroupMemberInfo(JI[I[Ljava/lang/String;)V

    .line 318
    monitor-exit v0

    return-void

    :catchall_e
    move-exception p1

    monitor-exit v0
    :try_end_10
    .catchall {:try_start_3 .. :try_end_10} :catchall_e

    throw p1
.end method

.method public onHDCallSettings(ZZ)V
    .registers 4

    .line 237
    invoke-static {}, Lcom/imo/android/imoim/util/al;->b()Z

    .line 242
    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$3;

    invoke-direct {v0, p0, p2, p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$3;-><init>(Lcom/imo/android/imoim/av/macaw/MacawHandler;ZZ)V

    invoke-static {v0}, Lcom/imo/android/imoim/util/ec;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method public onHttpData([B)V
    .registers 5

    .line 809
    array-length v0, p1

    const/4 v1, 0x4

    if-le v0, v1, :cond_1b

    .line 811
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    const/16 v2, 0x9

    invoke-direct {v1, v2, p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I[B)V

    invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result p1

    if-nez p1, :cond_1b

    const/4 p1, 0x1

    const-string v0, "MacawHandler"

    const-string v1, "Native thread queue full"

    .line 8079
    invoke-static {v0, v1, p1}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    :cond_1b
    return-void
.end method

.method protected onLocalSpeaking(Z)V
    .registers 2

    return-void
.end method

.method protected abstract onNativeExit()V
.end method

.method public onPartyRoomPlayStatusUpdate(II)V
    .registers 6

    .line 323
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 324
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2, p1, p2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->onPartyRoomPlayStatusUpdate(JII)V

    .line 325
    monitor-exit v0

    return-void

    :catchall_a
    move-exception p1

    monitor-exit v0
    :try_end_c
    .catchall {:try_start_3 .. :try_end_c} :catchall_a

    throw p1
.end method

.method public onPeerVASwitchACK(I)V
    .registers 2

    return-void
.end method

.method public onPeerVASwitchCMD(I)V
    .registers 2

    return-void
.end method

.method public onPoorNetworkDetected()V
    .registers 1

    return-void
.end method

.method public onSelfConnect()V
    .registers 1

    .line 1019
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    return-void
.end method

.method public onSelfDisconnect()V
    .registers 1

    .line 1023
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    return-void
.end method

.method public onSlotAcquire(II)V
    .registers 3

    .line 1027
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    return-void
.end method

.method public onSlotRelease(I)V
    .registers 2

    .line 1031
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    return-void
.end method

.method protected abstract onTalkieMicUpdate(SII)V
.end method

.method protected abstract onTalkieReset()V
.end method

.method public onVideoQualityStatus(III)V
    .registers 5

    .line 254
    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$4;

    invoke-direct {v0, p0, p1, p2, p3}, Lcom/imo/android/imoim/av/macaw/MacawHandler$4;-><init>(Lcom/imo/android/imoim/av/macaw/MacawHandler;III)V

    invoke-static {v0}, Lcom/imo/android/imoim/util/ec;->a(Ljava/lang/Runnable;)V

    return-void
.end method

.method protected abstract onXLogHandler(ILjava/lang/String;)V
.end method

.method public pauseKaraoke()V
    .registers 4

    .line 362
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 363
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->pauseKaraoke(J)V

    .line 364
    monitor-exit v0

    return-void

    :catchall_a
    move-exception v1

    monitor-exit v0
    :try_end_c
    .catchall {:try_start_3 .. :try_end_c} :catchall_a

    throw v1
.end method

.method public performVASwitch()V
    .registers 1

    return-void
.end method

.method public native readDataFromJavaDeviceStream(J[BI)I
.end method

.method public native readDataFromOggFile(J[BI)I
.end method

.method public rejectScreen()V
    .registers 4

    .line 1114
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    const/16 v2, 0x15

    invoke-direct {v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_10

    return-void

    .line 1115
    :cond_10
    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {v0}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw v0
.end method

.method public releaseKaraokePlayerStatusListener()V
    .registers 4

    .line 425
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 426
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->releaseKaraokePlayerStatusListener(J)V

    .line 427
    monitor-exit v0

    return-void

    :catchall_a
    move-exception v1

    monitor-exit v0
    :try_end_c
    .catchall {:try_start_3 .. :try_end_c} :catchall_a

    throw v1
.end method

.method protected releaseMicInternal()V
    .registers 4

    .line 476
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    const/16 v2, 0xf

    invoke-direct {v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_10

    return-void

    .line 477
    :cond_10
    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {v0}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw v0
.end method

.method public reportExitState()V
    .registers 5

    .line 334
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 335
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getRunningState(J)Ljava/lang/String;

    move-result-object v1

    .line 336
    monitor-exit v0
    :try_end_a
    .catchall {:try_start_3 .. :try_end_a} :catchall_47

    .line 338
    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    const-string v2, "reportExitState:"

    invoke-virtual {v2, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    const-string v2, "MacawHandler"

    .line 2071
    invoke-static {v2, v0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    if-eqz v1, :cond_46

    .line 341
    :try_start_1b
    invoke-static {v1}, Lcom/imo/android/imoim/util/cg;->a(Ljava/lang/String;)Lorg/json/JSONObject;

    move-result-object v0

    .line 342
    invoke-static {v0}, Lcom/imo/android/imoim/util/cg;->b(Lorg/json/JSONObject;)Ljava/util/Map;

    move-result-object v0

    .line 343
    sget-object v1, Lcom/imo/android/imoim/IMO;->O:Lcom/imo/android/imoim/managers/m;

    const-string v2, "macaw_exit_timeout"

    invoke-virtual {v1, v2}, Lcom/imo/android/imoim/managers/m;->a(Ljava/lang/String;)Lcom/imo/android/imoim/managers/m$a;

    move-result-object v1

    .line 344
    invoke-virtual {v1, v0}, Lcom/imo/android/imoim/managers/m$a;->a(Ljava/util/Map;)Lcom/imo/android/imoim/managers/m$a;

    move-result-object v0

    const-string v1, "user_agent"

    .line 345
    invoke-static {}, Lcom/imo/android/imoim/util/ei;->k()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v1, v2}, Lcom/imo/android/imoim/managers/m$a;->a(Ljava/lang/String;Ljava/lang/String;)Lcom/imo/android/imoim/managers/m$a;

    move-result-object v0

    .line 346
    invoke-virtual {v0}, Lcom/imo/android/imoim/managers/m$a;->c()V
    :try_end_3c
    .catchall {:try_start_1b .. :try_end_3c} :catchall_3d

    return-void

    :catchall_3d
    move-exception v0

    const/4 v1, 0x1

    const-string v2, "MacawHandler"

    const-string v3, "reportExitState parse error"

    .line 2083
    invoke-static {v2, v3, v0, v1}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Z)V

    :cond_46
    return-void

    :catchall_47
    move-exception v1

    .line 336
    :try_start_48
    monitor-exit v0
    :try_end_49
    .catchall {:try_start_48 .. :try_end_49} :catchall_47

    throw v1
.end method

.method protected abstract reportStats(Ljava/lang/String;)V
.end method

.method protected abstract reportStatsToHive(Ljava/lang/String;Ljava/lang/String;)V
.end method

.method protected requestAudioFocus()V
    .registers 5

    .line 123
    invoke-static {}, Lcom/imo/android/imoim/IMO;->a()Lcom/imo/android/imoim/IMO;

    move-result-object v0

    const-string v1, "audio"

    invoke-virtual {v0, v1}, Lcom/imo/android/imoim/IMO;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/media/AudioManager;

    .line 125
    iget-object v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->audioFocusChangeListener:Landroid/media/AudioManager$OnAudioFocusChangeListener;

    const/4 v2, 0x0

    const/4 v3, 0x1

    invoke-virtual {v0, v1, v2, v3}, Landroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;II)I

    return-void
.end method

.method protected requestMicInternal()V
    .registers 4

    .line 483
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    const/16 v2, 0xe

    invoke-direct {v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_10

    return-void

    .line 484
    :cond_10
    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {v0}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw v0
.end method

.method protected resetMicInternal()V
    .registers 4

    .line 489
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    const/16 v2, 0x10

    invoke-direct {v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_10

    return-void

    .line 490
    :cond_10
    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {v0}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw v0
.end method

.method public resumeKaraoke()V
    .registers 4

    .line 369
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 370
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->resumeKaraoke(J)V

    .line 371
    monitor-exit v0

    return-void

    :catchall_a
    move-exception v1

    monitor-exit v0
    :try_end_c
    .catchall {:try_start_3 .. :try_end_c} :catchall_a

    throw v1
.end method

.method protected sendCallStatsNative(Ljava/lang/String;)V
    .registers 2

    .line 532
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    return-void
.end method

.method protected sendDatagramHttp(I[B)V
    .registers 4

    .line 758
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    .line 760
    :try_start_3
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->httpSenders:[Lcom/imo/android/imoim/av/c/b;

    aget-object p1, v0, p1

    invoke-interface {p1, p2}, Lcom/imo/android/imoim/av/c/b;->a([B)V
    :try_end_a
    .catchall {:try_start_3 .. :try_end_a} :catchall_b

    return-void

    :catchall_b
    move-exception p1

    .line 762
    new-instance p2, Ljava/lang/StringBuilder;

    const-string v0, "exception in http send "

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

    invoke-virtual {p1}, Ljava/lang/Throwable;->toString()Ljava/lang/String;

    move-result-object p1

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

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

    move-result-object p1

    const/4 p2, 0x1

    const-string v0, "MacawHandler"

    .line 5079
    invoke-static {v0, p1, p2}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    return-void
.end method

.method protected abstract sendLog(Ljava/lang/String;Ljava/lang/String;)V
.end method

.method public sendimage(II[BIIZ)V
    .registers 20

    move-object v11, p0

    .line 181
    iget-object v12, v11, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v12

    .line 182
    :try_start_4
    iget-wide v2, v11, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    const/4 v10, 0x0

    move-object v1, p0

    move v4, p1

    move v5, p2

    move-object/from16 v6, p3

    move/from16 v7, p4

    move/from16 v8, p5

    move/from16 v9, p6

    invoke-virtual/range {v1 .. v10}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->sendimage(JII[BIIZI)V

    .line 183
    monitor-exit v12

    return-void

    :catchall_17
    move-exception v0

    monitor-exit v12
    :try_end_19
    .catchall {:try_start_4 .. :try_end_19} :catchall_17

    throw v0
.end method

.method public sendimage(II[BIIZI)V
    .registers 21

    move-object v11, p0

    .line 187
    iget-object v12, v11, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v12

    .line 188
    :try_start_4
    iget-wide v2, v11, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    move-object v1, p0

    move v4, p1

    move v5, p2

    move-object/from16 v6, p3

    move/from16 v7, p4

    move/from16 v8, p5

    move/from16 v9, p6

    move/from16 v10, p7

    invoke-virtual/range {v1 .. v10}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->sendimage(JII[BIIZI)V

    .line 189
    monitor-exit v12

    return-void

    :catchall_18
    move-exception v0

    monitor-exit v12
    :try_end_1a
    .catchall {:try_start_4 .. :try_end_1a} :catchall_18

    throw v0
.end method

.method public native sendimage(JII[BIIZI)V
.end method

.method public setCameraMuted(Z)V
    .registers 4

    .line 510
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    if-eqz p1, :cond_9

    const/16 p1, 0xc

    goto :goto_b

    :cond_9
    const/16 p1, 0xd

    :goto_b
    invoke-direct {v1, p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result p1

    if-eqz p1, :cond_15

    return-void

    .line 512
    :cond_15
    new-instance p1, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw p1
.end method

.method public setContext(J)V
    .registers 4

    .line 569
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    .line 570
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 571
    :try_start_6
    iput-wide p1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    .line 572
    monitor-exit v0

    return-void

    :catchall_a
    move-exception p1

    monitor-exit v0
    :try_end_c
    .catchall {:try_start_6 .. :try_end_c} :catchall_a

    throw p1
.end method

.method protected abstract setFrame([B[B[BIIIII)V
.end method

.method protected setHttpProperties(IILjava/lang/String;Ljava/lang/String;)V
    .registers 9

    .line 778
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    .line 779
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->httpSenders:[Lcom/imo/android/imoim/av/c/b;

    if-nez v0, :cond_f

    .line 780
    invoke-virtual {p0}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getNumConnections()I

    move-result v0

    new-array v0, v0, [Lcom/imo/android/imoim/av/c/b;

    iput-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->httpSenders:[Lcom/imo/android/imoim/av/c/b;

    .line 782
    :cond_f
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->httpSenders:[Lcom/imo/android/imoim/av/c/b;

    aget-object v0, v0, p1

    if-nez v0, :cond_d2

    const/4 v0, 0x2

    const-string v1, "/"

    const-string v2, "https://"

    if-ne p2, v0, :cond_5b

    .line 784
    new-instance p2, Ljava/lang/StringBuilder;

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

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

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

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

    move-result-object p2

    .line 785
    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getConnServerTickets(I)[[B

    move-result-object p3

    .line 786
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->httpSenders:[Lcom/imo/android/imoim/av/c/b;

    new-instance v1, Lcom/imo/android/imoim/av/c/c;

    new-instance v2, Ljava/lang/StringBuilder;

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

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

    const-string v3, "sendstream"

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

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

    move-result-object v2

    new-instance v3, Ljava/lang/StringBuilder;

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

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

    const-string p2, "recvstream"

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

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

    move-result-object p2

    invoke-direct {v1, v2, p2, p4, p3}, Lcom/imo/android/imoim/av/c/c;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[[B)V

    aput-object v1, v0, p1

    goto :goto_ca

    :cond_5b
    const/4 v0, 0x3

    if-ne p2, v0, :cond_8c

    .line 788
    new-instance p2, Ljava/lang/StringBuilder;

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

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

    const-string p3, "/send4"

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

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

    move-result-object p2

    .line 789
    new-instance p3, Lcom/imo/android/imoim/av/c/d;

    invoke-direct {p3, p2, p4}, Lcom/imo/android/imoim/av/c/d;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    .line 790
    invoke-virtual {p0}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->isGroupCall()Z

    move-result p2

    if-eqz p2, :cond_7e

    const/16 p2, 0x1e

    .line 7057
    iput p2, p3, Lcom/imo/android/imoim/av/c/d;->b:I

    .line 793
    :cond_7e
    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getConnServerTickets(I)[[B

    move-result-object p2

    const/4 p4, 0x0

    aget-object p2, p2, p4

    .line 7061
    iput-object p2, p3, Lcom/imo/android/imoim/av/c/d;->c:[B

    .line 794
    iget-object p2, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->httpSenders:[Lcom/imo/android/imoim/av/c/b;

    aput-object p3, p2, p1

    goto :goto_ca

    .line 796
    :cond_8c
    new-instance v0, Ljava/lang/StringBuilder;

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

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

    if-nez p2, :cond_99

    const-string p2, "/send3/"

    goto :goto_9b

    :cond_99
    const-string p2, "/send2/"

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

    invoke-virtual {p0}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getConvID()Ljava/lang/String;

    move-result-object p2

    invoke-static {p2}, Landroid/net/Uri;->encode(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p2

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

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

    invoke-virtual {p0}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getStreamId()I

    move-result p2

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

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

    invoke-virtual {p0, p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->getConnServerName(I)Ljava/lang/String;

    move-result-object p2

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

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

    move-result-object p2

    .line 797
    iget-object p3, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->httpSenders:[Lcom/imo/android/imoim/av/c/b;

    new-instance v0, Lcom/imo/android/imoim/av/c/d;

    invoke-direct {v0, p2, p4}, Lcom/imo/android/imoim/av/c/d;-><init>(Ljava/lang/String;Ljava/lang/String;)V

    aput-object v0, p3, p1

    .line 799
    :goto_ca
    iget-object p2, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->httpSenders:[Lcom/imo/android/imoim/av/c/b;

    aget-object p1, p2, p1

    invoke-interface {p1, p0}, Lcom/imo/android/imoim/av/c/b;->a(Lcom/imo/android/imoim/av/c/a;)V

    return-void

    .line 801
    :cond_d2
    invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object p1

    const-string p2, "setHttpProperties called twice "

    invoke-virtual {p2, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1

    const/4 p2, 0x1

    const-string p3, "MacawHandler"

    .line 7079
    invoke-static {p3, p1, p2}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    return-void
.end method

.method public setKaraokeCurrentPlayPosition(I)I
    .registers 5

    .line 397
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 398
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2, p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->setKaraokeCurrentPlayPosition(JI)I

    move-result p1

    monitor-exit v0

    return p1

    :catchall_b
    move-exception p1

    .line 399
    monitor-exit v0
    :try_end_d
    .catchall {:try_start_3 .. :try_end_d} :catchall_b

    throw p1
.end method

.method public setKaraokePlayerStatusListener(Lcom/imo/android/imoim/av/macaw/MacawHandler$IKaraokePlayerListener;)V
    .registers 5

    .line 418
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 419
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2, p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->setKaraokePlayerStatusListener(JLcom/imo/android/imoim/av/macaw/MacawHandler$IKaraokePlayerListener;)V

    .line 420
    monitor-exit v0

    return-void

    :catchall_a
    move-exception p1

    monitor-exit v0
    :try_end_c
    .catchall {:try_start_3 .. :try_end_c} :catchall_a

    throw p1
.end method

.method public setKaraokeVolume(I)V
    .registers 5

    .line 404
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 405
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2, p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->setKaraokeVolume(JI)V

    .line 406
    monitor-exit v0

    return-void

    :catchall_a
    move-exception p1

    monitor-exit v0
    :try_end_c
    .catchall {:try_start_3 .. :try_end_c} :catchall_a

    throw p1
.end method

.method public setMicMuted(Z)V
    .registers 4

    .line 502
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    if-eqz p1, :cond_9

    const/16 p1, 0xa

    goto :goto_b

    :cond_9
    const/16 p1, 0xb

    :goto_b
    invoke-direct {v1, p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result p1

    if-eqz p1, :cond_15

    return-void

    .line 504
    :cond_15
    new-instance p1, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw p1
.end method

.method public setScreenMuted(Z)V
    .registers 4

    if-eqz p1, :cond_5

    const/16 p1, 0x16

    goto :goto_7

    :cond_5
    const/16 p1, 0x17

    .line 1121
    :goto_7
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    invoke-direct {v1, p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result p1

    if-eqz p1, :cond_15

    return-void

    .line 1122
    :cond_15
    new-instance p1, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {p1}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw p1
.end method

.method protected setUpdateSpeakerList([II)V
    .registers 3

    return-void
.end method

.method protected startAudio()V
    .registers 4

    .line 495
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    const/4 v2, 0x1

    invoke-direct {v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_f

    return-void

    .line 496
    :cond_f
    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {v0}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw v0
.end method

.method public native startBuildOggFile(IIILjava/lang/String;)J
.end method

.method public startKaraoke(Ljava/lang/String;IZ)V
    .registers 11

    .line 355
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 356
    :try_start_3
    iget-wide v2, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    move-object v1, p0

    move-object v4, p1

    move v5, p2

    move v6, p3

    invoke-direct/range {v1 .. v6}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->startKaraoke(JLjava/lang/String;IZ)V

    .line 357
    monitor-exit v0

    return-void

    :catchall_e
    move-exception p1

    monitor-exit v0
    :try_end_10
    .catchall {:try_start_3 .. :try_end_10} :catchall_e

    throw p1
.end method

.method protected startNativeThread()V
    .registers 4

    .line 453
    new-instance v0, Ljava/lang/Thread;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawHandler$5;

    invoke-direct {v1, p0}, Lcom/imo/android/imoim/av/macaw/MacawHandler$5;-><init>(Lcom/imo/android/imoim/av/macaw/MacawHandler;)V

    const-string v2, "MacawHandler"

    invoke-direct {v0, v1, v2}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;Ljava/lang/String;)V

    iput-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->thread:Ljava/lang/Thread;

    const-string v0, "Starting thread forreals!"

    .line 3071
    invoke-static {v2, v0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V

    .line 471
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->thread:Ljava/lang/Thread;

    invoke-virtual {v0}, Ljava/lang/Thread;->start()V

    return-void
.end method

.method public native startReadOggFile(Ljava/lang/String;)J
.end method

.method protected startRecvHttp(I)V
    .registers 4

    .line 768
    invoke-static {}, Lcom/imo/android/imoim/av/ui/a;->a()Lcom/imo/android/imoim/av/ui/a;

    .line 770
    :try_start_3
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->httpSenders:[Lcom/imo/android/imoim/av/c/b;

    aget-object p1, v0, p1

    invoke-interface {p1}, Lcom/imo/android/imoim/av/c/b;->b()V
    :try_end_a
    .catchall {:try_start_3 .. :try_end_a} :catchall_b

    return-void

    :catchall_b
    move-exception p1

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

    const-string v1, "exception in http recv "

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

    invoke-virtual {p1}, Ljava/lang/Throwable;->toString()Ljava/lang/String;

    move-result-object p1

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

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

    move-result-object p1

    const/4 v0, 0x1

    const-string v1, "MacawHandler"

    .line 6079
    invoke-static {v1, p1, v0}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V

    return-void
.end method

.method public startScreen()V
    .registers 4

    .line 1096
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->toNativeThread:Ljava/util/concurrent/BlockingQueue;

    new-instance v1, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;

    const/16 v2, 0x12

    invoke-direct {v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler$Message;-><init>(I)V

    invoke-interface {v0, v1}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_10

    return-void

    .line 1097
    :cond_10
    new-instance v0, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;

    invoke-direct {v0}, Lcom/imo/android/imoim/av/macaw/MacawHandler$HungThreadException;-><init>()V

    throw v0
.end method

.method public native stopBuildOggFile(J)V
.end method

.method stopHttpThreads()V
    .registers 4

    .line 746
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->httpSenders:[Lcom/imo/android/imoim/av/c/b;

    if-eqz v0, :cond_1b

    const/4 v0, 0x0

    .line 747
    :goto_5
    iget-object v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->httpSenders:[Lcom/imo/android/imoim/av/c/b;

    array-length v2, v1

    if-ge v0, v2, :cond_1b

    .line 748
    aget-object v2, v1, v0

    if-eqz v2, :cond_18

    .line 749
    aget-object v1, v1, v0

    invoke-interface {v1}, Lcom/imo/android/imoim/av/c/b;->a()V

    .line 750
    iget-object v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->httpSenders:[Lcom/imo/android/imoim/av/c/b;

    const/4 v2, 0x0

    aput-object v2, v1, v0

    :cond_18
    add-int/lit8 v0, v0, 0x1

    goto :goto_5

    :cond_1b
    return-void
.end method

.method public stopKaraoke()V
    .registers 4

    .line 376
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 377
    :try_start_3
    iget-wide v1, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    invoke-direct {p0, v1, v2}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->stopKaraoke(J)V

    .line 378
    monitor-exit v0

    return-void

    :catchall_a
    move-exception v1

    monitor-exit v0
    :try_end_c
    .catchall {:try_start_3 .. :try_end_c} :catchall_a

    throw v1
.end method

.method public native stopReadOggFile(J)V
.end method

.method public touchimageWithStrength([BIIII)V
    .registers 15

    .line 302
    iget-object v0, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->contextLock:Ljava/lang/Object;

    monitor-enter v0

    .line 303
    :try_start_3
    iget-wide v2, p0, Lcom/imo/android/imoim/av/macaw/MacawHandler;->context:J

    move-object v1, p0

    move-object v4, p1

    move v5, p2

    move v6, p3

    move v7, p4

    move v8, p5

    invoke-direct/range {v1 .. v8}, Lcom/imo/android/imoim/av/macaw/MacawHandler;->touchimageWithStrength(J[BIIII)V

    .line 304
    monitor-exit v0

    return-void

    :catchall_10
    move-exception p1

    monitor-exit v0
    :try_end_12
    .catchall {:try_start_3 .. :try_end_12} :catchall_10

    throw p1
.end method

.method protected useNativeSampleRate()Z
    .registers 5

    .line 675
    sget-object v0, Landroid/os/Build;->BRAND:Ljava/lang/String;

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

    move-result-object v0

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

    move-result-object v0

    .line 676
    sget-object v1, Landroid/os/Build;->MODEL:Ljava/lang/String;

    invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v1

    .line 677
    sget-object v2, Lcom/imo/android/imoim/av/macaw/PhoneList;->NATIVE_SAMPLERATE_BLACKLIST:Ljava/util/HashSet;

    new-instance v3, Ljava/lang/StringBuilder;

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

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

    const-string v0, " "

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

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

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

    move-result-object v0

    invoke-virtual {v2, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_32

    const/4 v0, 0x1

    return v0

    :cond_32
    const/4 v0, 0x0

    return v0
.end method

.method public videoCaptureEnd()V
    .registers 1

    return-void
.end method

.method public native writeDataToJavaDeviceStream(J[BI)I
.end method

.method public native writeDataToOggFile(J[BI)I
.end method