DialogObject.smali

.class public Lim/tpelyyftgw/messenger/DialogObject;
.super Ljava/lang/Object;
.source "DialogObject.java"


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

    return-void
.end method

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

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

    return-void
.end method

.method public static getPeerDialogId(Lim/tpelyyftgw/tgnet/TLRPC$InputPeer;)J
    .registers 3
    .param p0, "peer"    # Lim/tpelyyftgw/tgnet/TLRPC$InputPeer;

    .line 70
    if-nez p0, :cond_5

    .line 71
    const-wide/16 v0, 0x0

    return-wide v0

    .line 73
    :cond_5
    iget v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$InputPeer;->user_id:I

    if-eqz v0, :cond_d

    .line 74
    iget v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$InputPeer;->user_id:I

    int-to-long v0, v0

    return-wide v0

    .line 75
    :cond_d
    iget v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$InputPeer;->chat_id:I

    if-eqz v0, :cond_16

    .line 76
    iget v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$InputPeer;->chat_id:I

    neg-int v0, v0

    int-to-long v0, v0

    return-wide v0

    .line 78
    :cond_16
    iget v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$InputPeer;->channel_id:I

    neg-int v0, v0

    int-to-long v0, v0

    return-wide v0
.end method

.method public static getPeerDialogId(Lim/tpelyyftgw/tgnet/TLRPC$Peer;)J
    .registers 3
    .param p0, "peer"    # Lim/tpelyyftgw/tgnet/TLRPC$Peer;

    .line 57
    if-nez p0, :cond_5

    .line 58
    const-wide/16 v0, 0x0

    return-wide v0

    .line 60
    :cond_5
    iget v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Peer;->user_id:I

    if-eqz v0, :cond_d

    .line 61
    iget v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Peer;->user_id:I

    int-to-long v0, v0

    return-wide v0

    .line 62
    :cond_d
    iget v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Peer;->chat_id:I

    if-eqz v0, :cond_16

    .line 63
    iget v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Peer;->chat_id:I

    neg-int v0, v0

    int-to-long v0, v0

    return-wide v0

    .line 65
    :cond_16
    iget v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Peer;->channel_id:I

    neg-int v0, v0

    int-to-long v0, v0

    return-wide v0
.end method

.method public static initDialog(Lim/tpelyyftgw/tgnet/TLRPC$Dialog;)V
    .registers 6
    .param p0, "dialog"    # Lim/tpelyyftgw/tgnet/TLRPC$Dialog;

    .line 36
    if-eqz p0, :cond_4c

    iget-wide v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Dialog;->id:J

    const-wide/16 v2, 0x0

    cmp-long v4, v0, v2

    if-eqz v4, :cond_b

    goto :goto_4c

    .line 39
    :cond_b
    instance-of v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$TL_dialog;

    if-eqz v0, :cond_3a

    .line 40
    iget-object v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Dialog;->peer:Lim/tpelyyftgw/tgnet/TLRPC$Peer;

    if-nez v0, :cond_14

    .line 41
    return-void

    .line 43
    :cond_14
    iget-object v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Dialog;->peer:Lim/tpelyyftgw/tgnet/TLRPC$Peer;

    iget v0, v0, Lim/tpelyyftgw/tgnet/TLRPC$Peer;->user_id:I

    if-eqz v0, :cond_22

    .line 44
    iget-object v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Dialog;->peer:Lim/tpelyyftgw/tgnet/TLRPC$Peer;

    iget v0, v0, Lim/tpelyyftgw/tgnet/TLRPC$Peer;->user_id:I

    int-to-long v0, v0

    iput-wide v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Dialog;->id:J

    goto :goto_4b

    .line 45
    :cond_22
    iget-object v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Dialog;->peer:Lim/tpelyyftgw/tgnet/TLRPC$Peer;

    iget v0, v0, Lim/tpelyyftgw/tgnet/TLRPC$Peer;->chat_id:I

    if-eqz v0, :cond_31

    .line 46
    iget-object v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Dialog;->peer:Lim/tpelyyftgw/tgnet/TLRPC$Peer;

    iget v0, v0, Lim/tpelyyftgw/tgnet/TLRPC$Peer;->chat_id:I

    neg-int v0, v0

    int-to-long v0, v0

    iput-wide v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Dialog;->id:J

    goto :goto_4b

    .line 48
    :cond_31
    iget-object v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Dialog;->peer:Lim/tpelyyftgw/tgnet/TLRPC$Peer;

    iget v0, v0, Lim/tpelyyftgw/tgnet/TLRPC$Peer;->channel_id:I

    neg-int v0, v0

    int-to-long v0, v0

    iput-wide v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$Dialog;->id:J

    goto :goto_4b

    .line 50
    :cond_3a
    instance-of v0, p0, Lim/tpelyyftgw/tgnet/TLRPC$TL_dialogFolder;

    if-eqz v0, :cond_4b

    .line 51
    move-object v0, p0

    check-cast v0, Lim/tpelyyftgw/tgnet/TLRPC$TL_dialogFolder;

    .line 52
    .local v0, "dialogFolder":Lim/tpelyyftgw/tgnet/TLRPC$TL_dialogFolder;
    iget-object v1, v0, Lim/tpelyyftgw/tgnet/TLRPC$TL_dialogFolder;->folder:Lim/tpelyyftgw/tgnet/TLRPC$TL_folder;

    iget v1, v1, Lim/tpelyyftgw/tgnet/TLRPC$TL_folder;->id:I

    invoke-static {v1}, Lim/tpelyyftgw/messenger/DialogObject;->makeFolderDialogId(I)J

    move-result-wide v1

    iput-wide v1, p0, Lim/tpelyyftgw/tgnet/TLRPC$Dialog;->id:J

    .line 54
    .end local v0    # "dialogFolder":Lim/tpelyyftgw/tgnet/TLRPC$TL_dialogFolder;
    :cond_4b
    :goto_4b
    return-void

    .line 37
    :cond_4c
    :goto_4c
    return-void
.end method

.method public static isChannel(Lim/tpelyyftgw/tgnet/TLRPC$Dialog;)Z
    .registers 3
    .param p0, "dialog"    # Lim/tpelyyftgw/tgnet/TLRPC$Dialog;

    .line 8
    const/4 v0, 0x1

    if-eqz p0, :cond_9

    iget v1, p0, Lim/tpelyyftgw/tgnet/TLRPC$Dialog;->flags:I

    and-int/2addr v1, v0

    if-eqz v1, :cond_9

    goto :goto_a

    :cond_9
    const/4 v0, 0x0

    :goto_a
    return v0
.end method

.method public static isFolderDialogId(J)Z
    .registers 5
    .param p0, "dialogId"    # J

    .line 20
    long-to-int v0, p0

    .line 21
    .local v0, "lowerId":I
    const/16 v1, 0x20

    shr-long v1, p0, v1

    long-to-int v2, v1

    .line 22
    .local v2, "highId":I
    if-eqz v0, :cond_d

    const/4 v1, 0x2

    if-ne v2, v1, :cond_d

    const/4 v1, 0x1

    goto :goto_e

    :cond_d
    const/4 v1, 0x0

    :goto_e
    return v1
.end method

.method public static isPeerDialogId(J)Z
    .registers 6
    .param p0, "dialogId"    # J

    .line 26
    long-to-int v0, p0

    .line 27
    .local v0, "lowerId":I
    const/16 v1, 0x20

    shr-long v1, p0, v1

    long-to-int v2, v1

    .line 28
    .local v2, "highId":I
    const/4 v1, 0x1

    if-eqz v0, :cond_f

    const/4 v3, 0x2

    if-eq v2, v3, :cond_f

    if-eq v2, v1, :cond_f

    goto :goto_10

    :cond_f
    const/4 v1, 0x0

    :goto_10
    return v1
.end method

.method public static isSecretDialogId(J)Z
    .registers 3
    .param p0, "dialogId"    # J

    .line 32
    long-to-int v0, p0

    if-nez v0, :cond_5

    const/4 v0, 0x1

    goto :goto_6

    :cond_5
    const/4 v0, 0x0

    :goto_6
    return v0
.end method

.method public static makeFolderDialogId(I)J
    .registers 5
    .param p0, "folderId"    # I

    .line 16
    int-to-long v0, p0

    const-wide v2, 0x200000000L

    or-long/2addr v0, v2

    return-wide v0
.end method

.method public static makeSecretDialogId(I)J
    .registers 4
    .param p0, "chatId"    # I

    .line 12
    int-to-long v0, p0

    const/16 v2, 0x20

    shl-long/2addr v0, v2

    return-wide v0
.end method