apkfuckery/com.discord/smali/com/discord/models/domain/ModelMessage.smali

2492 lines
61 KiB
Smali
Raw Normal View History

2019-02-04 20:05:16 +00:00
.class public Lcom/discord/models/domain/ModelMessage;
.super Lcom/discord/models/domain/Model;
.source "ModelMessage.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/discord/models/domain/ModelMessage$Editing;,
Lcom/discord/models/domain/ModelMessage$Selected;,
Lcom/discord/models/domain/ModelMessage$Chunk;
}
.end annotation
# static fields
.field public static final EDITED:Ljava/lang/String; = " (edited)"
.field public static final EVERYONE:Ljava/lang/String; = "@everyone"
.field public static final MAX_MESSAGES:I = 0x32
.field private static final transient sortByIds:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference",
"<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
# instance fields
.field private attachments:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Lcom/discord/models/domain/ModelMessageAttachment;",
">;"
}
.end annotation
.end field
.field private author:Lcom/discord/models/domain/ModelUser;
.field private channelId:J
.field private content:Ljava/lang/String;
.field private editedTimestamp:Ljava/lang/String;
.field private final editedTimestampMilliseconds:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference",
"<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field private embeds:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Lcom/discord/models/domain/ModelMessageEmbed;",
">;"
}
.end annotation
.end field
.field private id:J
.field private transient localExpired:Z
.field private mentions:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Lcom/discord/models/domain/ModelUser;",
">;"
}
.end annotation
.end field
.field private nonce:Ljava/lang/Long;
.field private timestamp:Ljava/lang/String;
.field private final timestampMilliseconds:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference",
"<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field private tts:Z
# direct methods
.method static constructor <clinit>()V
.locals 1
.prologue
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
sput-object v0, Lcom/discord/models/domain/ModelMessage;->sortByIds:Ljava/util/concurrent/atomic/AtomicReference;
return-void
.end method
.method public constructor <init>()V
.locals 1
.prologue
invoke-direct {p0}, Lcom/discord/models/domain/Model;-><init>()V
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object v0, p0, Lcom/discord/models/domain/ModelMessage;->timestampMilliseconds:Ljava/util/concurrent/atomic/AtomicReference;
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object v0, p0, Lcom/discord/models/domain/ModelMessage;->editedTimestampMilliseconds:Ljava/util/concurrent/atomic/AtomicReference;
return-void
.end method
.method static synthetic access$lambda$0(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/discord/models/domain/ModelMessageAttachment;
.locals 1
invoke-static {p0}, Lcom/discord/models/domain/ModelMessage;->lambda$assignField$11(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/discord/models/domain/ModelMessageAttachment;
move-result-object v0
return-object v0
.end method
.method static synthetic access$lambda$1(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/discord/models/domain/ModelMessageEmbed;
.locals 1
invoke-static {p0}, Lcom/discord/models/domain/ModelMessage;->lambda$assignField$12(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/discord/models/domain/ModelMessageEmbed;
move-result-object v0
return-object v0
.end method
.method static synthetic access$lambda$2(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/discord/models/domain/ModelUser;
.locals 1
invoke-static {p0}, Lcom/discord/models/domain/ModelMessage;->lambda$assignField$13(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/discord/models/domain/ModelUser;
move-result-object v0
return-object v0
.end method
.method static synthetic access$lambda$3(Lcom/discord/models/domain/ModelUser;Lcom/discord/models/domain/ModelUser;)Z
.locals 1
invoke-static {p0, p1}, Lcom/discord/models/domain/ModelMessage;->lambda$getMentionCount$14(Lcom/discord/models/domain/ModelUser;Lcom/discord/models/domain/ModelUser;)Z
move-result v0
return v0
.end method
.method static synthetic access$lambda$4(Ljava/lang/Long;Ljava/lang/Long;)I
.locals 1
invoke-static {p0, p1}, Lcom/discord/models/domain/ModelMessage;->compare(Ljava/lang/Long;Ljava/lang/Long;)I
move-result v0
return v0
.end method
.method public static compare(Ljava/lang/Long;Ljava/lang/Long;)I
.locals 4
.param p0, "messageId1" # Ljava/lang/Long;
.param p1, "messageId2" # Ljava/lang/Long;
.prologue
const-wide/16 v0, 0x0
if-nez p0, :cond_0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p0
:cond_0
if-nez p1, :cond_1
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
:cond_1
invoke-virtual {p0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v2
cmp-long v0, v0, v2
if-nez v0, :cond_2
const/4 v0, 0x0
:goto_0
return v0
:cond_2
invoke-virtual {p0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v2
cmp-long v0, v0, v2
if-gez v0, :cond_3
const/4 v0, -0x1
goto :goto_0
:cond_3
const/4 v0, 0x1
goto :goto_0
.end method
.method private static computeNonce()J
.locals 4
.prologue
invoke-static {}, Lcom/miguelgaeta/simple_time/SimpleTime;->getDefault()Lcom/miguelgaeta/simple_time/SimpleTime;
move-result-object v0
invoke-virtual {v0}, Lcom/miguelgaeta/simple_time/SimpleTime;->currentTimeMillis()J
move-result-wide v0
const-wide/32 v2, 0x57b12c00
add-long/2addr v0, v2
const-wide v2, 0x14aa2cab000L
sub-long/2addr v0, v2
const/16 v2, 0x16
shl-long/2addr v0, v2
return-wide v0
.end method
.method public static createLocalMessage(Ljava/lang/String;JLcom/discord/models/domain/ModelUser;Z)Lcom/discord/models/domain/ModelMessage;
.locals 5
.param p0, "content" # Ljava/lang/String;
.param p1, "channelId" # J
.param p3, "user" # Lcom/discord/models/domain/ModelUser;
.param p4, "localExpired" # Z
.prologue
invoke-static {}, Lcom/discord/models/domain/ModelMessage;->computeNonce()J
move-result-wide v2
.local v2, "nonce":J
new-instance v0, Lcom/discord/models/domain/ModelMessage;
invoke-direct {v0}, Lcom/discord/models/domain/ModelMessage;-><init>()V
.local v0, "localMessage":Lcom/discord/models/domain/ModelMessage;
iput-object p0, v0, Lcom/discord/models/domain/ModelMessage;->content:Ljava/lang/String;
iput-wide p1, v0, Lcom/discord/models/domain/ModelMessage;->channelId:J
invoke-static {}, Lcom/miguelgaeta/simple_time/SimpleTime;->getDefault()Lcom/miguelgaeta/simple_time/SimpleTime;
move-result-object v1
invoke-virtual {v1}, Lcom/miguelgaeta/simple_time/SimpleTime;->currentTimeUTCDateString()Ljava/lang/String;
move-result-object v1
iput-object v1, v0, Lcom/discord/models/domain/ModelMessage;->timestamp:Ljava/lang/String;
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
iput-object v1, v0, Lcom/discord/models/domain/ModelMessage;->attachments:Ljava/util/List;
iput-object p3, v0, Lcom/discord/models/domain/ModelMessage;->author:Lcom/discord/models/domain/ModelUser;
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
iput-object v1, v0, Lcom/discord/models/domain/ModelMessage;->embeds:Ljava/util/List;
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
iput-object v1, v0, Lcom/discord/models/domain/ModelMessage;->nonce:Ljava/lang/Long;
iput-wide v2, v0, Lcom/discord/models/domain/ModelMessage;->id:J
iput-boolean p4, v0, Lcom/discord/models/domain/ModelMessage;->localExpired:Z
return-object v0
.end method
.method public static getSortByIds()Ljava/util/Comparator;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator",
"<",
"Ljava/lang/Long;",
">;"
}
.end annotation
.prologue
sget-object v2, Lcom/discord/models/domain/ModelMessage;->sortByIds:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v1
.local v1, "value":Ljava/lang/Object;
if-nez v1, :cond_1
sget-object v3, Lcom/discord/models/domain/ModelMessage;->sortByIds:Ljava/util/concurrent/atomic/AtomicReference;
monitor-enter v3
:try_start_0
sget-object v2, Lcom/discord/models/domain/ModelMessage;->sortByIds:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v1
if-nez v1, :cond_0
invoke-static {}, Lcom/discord/models/domain/ModelMessage$$Lambda$5;->lambdaFactory$()Ljava/util/Comparator;
move-result-object v0
.local v0, "actualValue":Ljava/util/Comparator;, "Ljava/util/Comparator<Ljava/lang/Long;>;"
if-nez v0, :cond_2
sget-object v1, Lcom/discord/models/domain/ModelMessage;->sortByIds:Ljava/util/concurrent/atomic/AtomicReference;
:goto_0
sget-object v2, Lcom/discord/models/domain/ModelMessage;->sortByIds:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v2, v1}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V
.end local v0 # "actualValue":Ljava/util/Comparator;, "Ljava/util/Comparator<Ljava/lang/Long;>;"
:cond_0
monitor-exit v3
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:cond_1
sget-object v2, Lcom/discord/models/domain/ModelMessage;->sortByIds:Ljava/util/concurrent/atomic/AtomicReference;
if-ne v1, v2, :cond_3
const/4 v2, 0x0
:goto_1
check-cast v2, Ljava/util/Comparator;
check-cast v2, Ljava/util/Comparator;
return-object v2
.restart local v0 # "actualValue":Ljava/util/Comparator;, "Ljava/util/Comparator<Ljava/lang/Long;>;"
:cond_2
move-object v1, v0
goto :goto_0
.end local v0 # "actualValue":Ljava/util/Comparator;, "Ljava/util/Comparator<Ljava/lang/Long;>;"
:catchall_0
move-exception v2
:try_start_1
monitor-exit v3
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw v2
:cond_3
move-object v2, v1
goto :goto_1
.end method
.method private static synthetic lambda$assignField$11(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/discord/models/domain/ModelMessageAttachment;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
new-instance v0, Lcom/discord/models/domain/ModelMessageAttachment;
invoke-direct {v0}, Lcom/discord/models/domain/ModelMessageAttachment;-><init>()V
const/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Lcom/discord/models/domain/ModelMessageAttachment;->parse(Lcom/miguelgaeta/message_parser/MessageParser;Lcom/discord/models/domain/Model;)Lcom/discord/models/domain/Model;
move-result-object v0
check-cast v0, Lcom/discord/models/domain/ModelMessageAttachment;
return-object v0
.end method
.method private static synthetic lambda$assignField$12(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/discord/models/domain/ModelMessageEmbed;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
new-instance v0, Lcom/discord/models/domain/ModelMessageEmbed;
invoke-direct {v0}, Lcom/discord/models/domain/ModelMessageEmbed;-><init>()V
const/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Lcom/discord/models/domain/ModelMessageEmbed;->parse(Lcom/miguelgaeta/message_parser/MessageParser;Lcom/discord/models/domain/Model;)Lcom/discord/models/domain/Model;
move-result-object v0
check-cast v0, Lcom/discord/models/domain/ModelMessageEmbed;
return-object v0
.end method
.method private static synthetic lambda$assignField$13(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/discord/models/domain/ModelUser;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
new-instance v0, Lcom/discord/models/domain/ModelUser;
invoke-direct {v0}, Lcom/discord/models/domain/ModelUser;-><init>()V
const/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Lcom/discord/models/domain/ModelUser;->parse(Lcom/miguelgaeta/message_parser/MessageParser;Lcom/discord/models/domain/Model;)Lcom/discord/models/domain/Model;
move-result-object v0
check-cast v0, Lcom/discord/models/domain/ModelUser;
return-object v0
.end method
.method private static synthetic lambda$getMentionCount$14(Lcom/discord/models/domain/ModelUser;Lcom/discord/models/domain/ModelUser;)Z
.locals 4
.param p1, "mentionedUser" # Lcom/discord/models/domain/ModelUser;
.prologue
invoke-virtual {p1}, Lcom/discord/models/domain/ModelUser;->getId()J
move-result-wide v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelUser;->getId()J
move-result-wide v2
cmp-long v0, v0, v2
if-nez v0, :cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method public static merge(Lcom/discord/models/domain/ModelMessage;Lcom/discord/models/domain/ModelMessage;)Lcom/discord/models/domain/ModelMessage;
.locals 1
.param p0, "existingMessage" # Lcom/discord/models/domain/ModelMessage;
.param p1, "message" # Lcom/discord/models/domain/ModelMessage;
.prologue
if-nez p0, :cond_0
new-instance p0, Lcom/discord/models/domain/ModelMessage;
.end local p0 # "existingMessage":Lcom/discord/models/domain/ModelMessage;
invoke-direct {p0}, Lcom/discord/models/domain/ModelMessage;-><init>()V
.restart local p0 # "existingMessage":Lcom/discord/models/domain/ModelMessage;
:cond_0
invoke-virtual {p0, p1}, Lcom/discord/models/domain/ModelMessage;->merge(Lcom/discord/models/domain/ModelMessage;)Lcom/discord/models/domain/ModelMessage;
move-result-object v0
return-object v0
.end method
# virtual methods
.method protected assignField(Lcom/miguelgaeta/message_parser/MessageParser;)V
.locals 5
.param p1, "reader" # Lcom/miguelgaeta/message_parser/MessageParser;
.annotation build Llombok/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/4 v2, 0x0
if-nez p1, :cond_0
new-instance v1, Ljava/lang/NullPointerException;
const-string v2, "reader"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v1
:cond_0
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextName()Ljava/lang/String;
move-result-object v3
const/4 v1, -0x1
invoke-virtual {v3}, Ljava/lang/String;->hashCode()I
move-result v4
sparse-switch v4, :sswitch_data_0
:cond_1
:goto_0
packed-switch v1, :pswitch_data_0
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->skipValue()V
:goto_1
return-void
:sswitch_0
const-string v4, "content"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
move v1, v2
goto :goto_0
:sswitch_1
const-string v4, "channel_id"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
const/4 v1, 0x1
goto :goto_0
:sswitch_2
const-string v4, "timestamp"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
const/4 v1, 0x2
goto :goto_0
:sswitch_3
const-string v4, "edited_timestamp"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
const/4 v1, 0x3
goto :goto_0
:sswitch_4
const-string v4, "attachments"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
const/4 v1, 0x4
goto :goto_0
:sswitch_5
const-string v4, "tts"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
const/4 v1, 0x5
goto :goto_0
:sswitch_6
const-string v4, "author"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
const/4 v1, 0x6
goto :goto_0
:sswitch_7
const-string v4, "embeds"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
const/4 v1, 0x7
goto :goto_0
:sswitch_8
const-string v4, "mentions"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
const/16 v1, 0x8
goto :goto_0
:sswitch_9
const-string v4, "nonce"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
const/16 v1, 0x9
goto :goto_0
:sswitch_a
const-string v4, "id"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
const/16 v1, 0xa
goto :goto_0
:pswitch_0
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextStringOrNull()Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/discord/models/domain/ModelMessage;->content:Ljava/lang/String;
goto :goto_1
:pswitch_1
const-wide/16 v2, 0x0
invoke-interface {p1, v2, v3}, Lcom/miguelgaeta/message_parser/MessageParser;->nextLong(J)J
move-result-wide v2
iput-wide v2, p0, Lcom/discord/models/domain/ModelMessage;->channelId:J
goto/16 :goto_1
:pswitch_2
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextString()Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/discord/models/domain/ModelMessage;->timestamp:Ljava/lang/String;
goto/16 :goto_1
:pswitch_3
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextStringOrNull()Ljava/lang/String;
move-result-object v1
iput-object v1, p0, Lcom/discord/models/domain/ModelMessage;->editedTimestamp:Ljava/lang/String;
goto/16 :goto_1
:pswitch_4
invoke-static {p1}, Lcom/discord/models/domain/ModelMessage$$Lambda$1;->lambdaFactory$(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/miguelgaeta/message_parser/MessageParser$ListItem;
move-result-object v1
invoke-interface {p1, v1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextList(Lcom/miguelgaeta/message_parser/MessageParser$ListItem;)Ljava/util/List;
move-result-object v1
iput-object v1, p0, Lcom/discord/models/domain/ModelMessage;->attachments:Ljava/util/List;
goto/16 :goto_1
:pswitch_5
invoke-interface {p1, v2}, Lcom/miguelgaeta/message_parser/MessageParser;->nextBoolean(Z)Z
move-result v1
iput-boolean v1, p0, Lcom/discord/models/domain/ModelMessage;->tts:Z
goto/16 :goto_1
:pswitch_6
new-instance v1, Lcom/discord/models/domain/ModelUser;
invoke-direct {v1}, Lcom/discord/models/domain/ModelUser;-><init>()V
const/4 v2, 0x0
invoke-virtual {v1, p1, v2}, Lcom/discord/models/domain/ModelUser;->parse(Lcom/miguelgaeta/message_parser/MessageParser;Lcom/discord/models/domain/Model;)Lcom/discord/models/domain/Model;
move-result-object v1
check-cast v1, Lcom/discord/models/domain/ModelUser;
iput-object v1, p0, Lcom/discord/models/domain/ModelMessage;->author:Lcom/discord/models/domain/ModelUser;
goto/16 :goto_1
:pswitch_7
invoke-static {p1}, Lcom/discord/models/domain/ModelMessage$$Lambda$2;->lambdaFactory$(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/miguelgaeta/message_parser/MessageParser$ListItem;
move-result-object v1
invoke-interface {p1, v1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextList(Lcom/miguelgaeta/message_parser/MessageParser$ListItem;)Ljava/util/List;
move-result-object v1
iput-object v1, p0, Lcom/discord/models/domain/ModelMessage;->embeds:Ljava/util/List;
goto/16 :goto_1
:pswitch_8
invoke-static {p1}, Lcom/discord/models/domain/ModelMessage$$Lambda$3;->lambdaFactory$(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/miguelgaeta/message_parser/MessageParser$ListItem;
move-result-object v1
invoke-interface {p1, v1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextList(Lcom/miguelgaeta/message_parser/MessageParser$ListItem;)Ljava/util/List;
move-result-object v1
iput-object v1, p0, Lcom/discord/models/domain/ModelMessage;->mentions:Ljava/util/List;
goto/16 :goto_1
:pswitch_9
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextStringOrNull()Ljava/lang/String;
move-result-object v0
.local v0, "nonce":Ljava/lang/String;
:try_start_0
invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v2
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
iput-object v1, p0, Lcom/discord/models/domain/ModelMessage;->nonce:Ljava/lang/Long;
:try_end_0
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0
goto/16 :goto_1
:catch_0
move-exception v1
goto/16 :goto_1
.end local v0 # "nonce":Ljava/lang/String;
:pswitch_a
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextLong()J
move-result-wide v2
iput-wide v2, p0, Lcom/discord/models/domain/ModelMessage;->id:J
goto/16 :goto_1
nop
:sswitch_data_0
.sparse-switch
-0x7315ce29 -> :sswitch_1
-0x53d2de75 -> :sswitch_6
-0x53711b80 -> :sswitch_3
-0x4d787346 -> :sswitch_7
-0x2c0c3450 -> :sswitch_4
-0x24016037 -> :sswitch_8
0xd1b -> :sswitch_a
0x1c1f3 -> :sswitch_5
0x3492916 -> :sswitch_2
0x64237ef -> :sswitch_9
0x38b73479 -> :sswitch_0
.end sparse-switch
:pswitch_data_0
.packed-switch 0x0
:pswitch_0
:pswitch_1
:pswitch_2
:pswitch_3
:pswitch_4
:pswitch_5
:pswitch_6
:pswitch_7
:pswitch_8
:pswitch_9
:pswitch_a
.end packed-switch
.end method
.method protected canEqual(Ljava/lang/Object;)Z
.locals 1
.param p1, "other" # Ljava/lang/Object;
.prologue
instance-of v0, p1, Lcom/discord/models/domain/ModelMessage;
return v0
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 24
.param p1, "o" # Ljava/lang/Object;
.prologue
move-object/from16 v0, p1
move-object/from16 v1, p0
if-ne v0, v1, :cond_0
const/16 v19, 0x1
:goto_0
return v19
:cond_0
move-object/from16 v0, p1
instance-of v0, v0, Lcom/discord/models/domain/ModelMessage;
move/from16 v19, v0
if-nez v19, :cond_1
const/16 v19, 0x0
goto :goto_0
:cond_1
move-object/from16 v2, p1
check-cast v2, Lcom/discord/models/domain/ModelMessage;
.local v2, "other":Lcom/discord/models/domain/ModelMessage;
move-object/from16 v0, p0
invoke-virtual {v2, v0}, Lcom/discord/models/domain/ModelMessage;->canEqual(Ljava/lang/Object;)Z
move-result v19
if-nez v19, :cond_2
const/16 v19, 0x0
goto :goto_0
:cond_2
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getContent()Ljava/lang/String;
move-result-object v13
.local v13, "this$content":Ljava/lang/String;
invoke-virtual {v2}, Lcom/discord/models/domain/ModelMessage;->getContent()Ljava/lang/String;
move-result-object v5
.local v5, "other$content":Ljava/lang/String;
if-nez v13, :cond_4
if-eqz v5, :cond_5
:cond_3
const/16 v19, 0x0
goto :goto_0
:cond_4
invoke-virtual {v13, v5}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v19
if-eqz v19, :cond_3
:cond_5
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getChannelId()J
move-result-wide v20
invoke-virtual {v2}, Lcom/discord/models/domain/ModelMessage;->getChannelId()J
move-result-wide v22
cmp-long v19, v20, v22
if-eqz v19, :cond_6
const/16 v19, 0x0
goto :goto_0
:cond_6
move-object/from16 v0, p0
iget-object v0, v0, Lcom/discord/models/domain/ModelMessage;->timestamp:Ljava/lang/String;
move-object/from16 v18, v0
.local v18, "this$timestamp":Ljava/lang/String;
iget-object v10, v2, Lcom/discord/models/domain/ModelMessage;->timestamp:Ljava/lang/String;
.local v10, "other$timestamp":Ljava/lang/String;
if-nez v18, :cond_8
if-eqz v10, :cond_9
:cond_7
const/16 v19, 0x0
goto :goto_0
:cond_8
move-object/from16 v0, v18
invoke-virtual {v0, v10}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v19
if-eqz v19, :cond_7
:cond_9
move-object/from16 v0, p0
iget-object v14, v0, Lcom/discord/models/domain/ModelMessage;->editedTimestamp:Ljava/lang/String;
.local v14, "this$editedTimestamp":Ljava/lang/String;
iget-object v6, v2, Lcom/discord/models/domain/ModelMessage;->editedTimestamp:Ljava/lang/String;
.local v6, "other$editedTimestamp":Ljava/lang/String;
if-nez v14, :cond_b
if-eqz v6, :cond_c
:cond_a
const/16 v19, 0x0
goto :goto_0
:cond_b
invoke-virtual {v14, v6}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v19
if-eqz v19, :cond_a
:cond_c
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getAttachments()Ljava/util/List;
move-result-object v11
.local v11, "this$attachments":Ljava/util/List;
invoke-virtual {v2}, Lcom/discord/models/domain/ModelMessage;->getAttachments()Ljava/util/List;
move-result-object v3
.local v3, "other$attachments":Ljava/util/List;
if-nez v11, :cond_e
if-eqz v3, :cond_f
:cond_d
const/16 v19, 0x0
goto :goto_0
:cond_e
invoke-virtual {v11, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v19
if-eqz v19, :cond_d
:cond_f
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->isTts()Z
move-result v19
invoke-virtual {v2}, Lcom/discord/models/domain/ModelMessage;->isTts()Z
move-result v20
move/from16 v0, v19
move/from16 v1, v20
if-eq v0, v1, :cond_10
const/16 v19, 0x0
goto/16 :goto_0
:cond_10
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getAuthor()Lcom/discord/models/domain/ModelUser;
move-result-object v12
.local v12, "this$author":Lcom/discord/models/domain/ModelUser;
invoke-virtual {v2}, Lcom/discord/models/domain/ModelMessage;->getAuthor()Lcom/discord/models/domain/ModelUser;
move-result-object v4
.local v4, "other$author":Lcom/discord/models/domain/ModelUser;
if-nez v12, :cond_12
if-eqz v4, :cond_13
:cond_11
const/16 v19, 0x0
goto/16 :goto_0
:cond_12
invoke-virtual {v12, v4}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v19
if-eqz v19, :cond_11
:cond_13
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getEmbeds()Ljava/util/List;
move-result-object v15
.local v15, "this$embeds":Ljava/util/List;
invoke-virtual {v2}, Lcom/discord/models/domain/ModelMessage;->getEmbeds()Ljava/util/List;
move-result-object v7
.local v7, "other$embeds":Ljava/util/List;
if-nez v15, :cond_15
if-eqz v7, :cond_16
:cond_14
const/16 v19, 0x0
goto/16 :goto_0
:cond_15
invoke-virtual {v15, v7}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v19
if-eqz v19, :cond_14
:cond_16
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getMentions()Ljava/util/List;
move-result-object v16
.local v16, "this$mentions":Ljava/util/List;
invoke-virtual {v2}, Lcom/discord/models/domain/ModelMessage;->getMentions()Ljava/util/List;
move-result-object v8
.local v8, "other$mentions":Ljava/util/List;
if-nez v16, :cond_18
if-eqz v8, :cond_19
:cond_17
const/16 v19, 0x0
goto/16 :goto_0
:cond_18
move-object/from16 v0, v16
invoke-virtual {v0, v8}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v19
if-eqz v19, :cond_17
:cond_19
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getNonce()Ljava/lang/Long;
move-result-object v17
.local v17, "this$nonce":Ljava/lang/Long;
invoke-virtual {v2}, Lcom/discord/models/domain/ModelMessage;->getNonce()Ljava/lang/Long;
move-result-object v9
.local v9, "other$nonce":Ljava/lang/Long;
if-nez v17, :cond_1b
if-eqz v9, :cond_1c
:cond_1a
const/16 v19, 0x0
goto/16 :goto_0
:cond_1b
move-object/from16 v0, v17
invoke-virtual {v0, v9}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v19
if-eqz v19, :cond_1a
:cond_1c
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getId()J
move-result-wide v20
invoke-virtual {v2}, Lcom/discord/models/domain/ModelMessage;->getId()J
move-result-wide v22
cmp-long v19, v20, v22
if-eqz v19, :cond_1d
const/16 v19, 0x0
goto/16 :goto_0
:cond_1d
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getTimestampMilliseconds()J
move-result-wide v20
invoke-virtual {v2}, Lcom/discord/models/domain/ModelMessage;->getTimestampMilliseconds()J
move-result-wide v22
cmp-long v19, v20, v22
if-eqz v19, :cond_1e
const/16 v19, 0x0
goto/16 :goto_0
:cond_1e
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getEditedTimestampMilliseconds()J
move-result-wide v20
invoke-virtual {v2}, Lcom/discord/models/domain/ModelMessage;->getEditedTimestampMilliseconds()J
move-result-wide v22
cmp-long v19, v20, v22
if-eqz v19, :cond_1f
const/16 v19, 0x0
goto/16 :goto_0
:cond_1f
const/16 v19, 0x1
goto/16 :goto_0
.end method
.method public getAttachments()Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List",
"<",
"Lcom/discord/models/domain/ModelMessageAttachment;",
">;"
}
.end annotation
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->attachments:Ljava/util/List;
return-object v0
.end method
.method public getAuthor()Lcom/discord/models/domain/ModelUser;
.locals 1
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->author:Lcom/discord/models/domain/ModelUser;
return-object v0
.end method
.method public getChannelId()J
.locals 2
.prologue
iget-wide v0, p0, Lcom/discord/models/domain/ModelMessage;->channelId:J
return-wide v0
.end method
.method public getContent()Ljava/lang/String;
.locals 3
.prologue
invoke-static {}, Lcom/discord/utilities/app/App;->isLocal()Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->content:Ljava/lang/String;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->content:Ljava/lang/String;
const-string v1, "localhost"
const-string v2, ""
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
move-result-object v0
:goto_0
return-object v0
:cond_0
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->content:Ljava/lang/String;
goto :goto_0
.end method
.method public getEditedTimestampMilliseconds()J
.locals 6
.prologue
iget-object v3, p0, Lcom/discord/models/domain/ModelMessage;->editedTimestampMilliseconds:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v2
.local v2, "value":Ljava/lang/Object;
if-nez v2, :cond_1
iget-object v4, p0, Lcom/discord/models/domain/ModelMessage;->editedTimestampMilliseconds:Ljava/util/concurrent/atomic/AtomicReference;
monitor-enter v4
:try_start_0
iget-object v3, p0, Lcom/discord/models/domain/ModelMessage;->editedTimestampMilliseconds:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v2
if-nez v2, :cond_0
invoke-static {}, Lcom/miguelgaeta/simple_time/SimpleTime;->getDefault()Lcom/miguelgaeta/simple_time/SimpleTime;
move-result-object v3
iget-object v5, p0, Lcom/discord/models/domain/ModelMessage;->editedTimestamp:Ljava/lang/String;
invoke-virtual {v3, v5}, Lcom/miguelgaeta/simple_time/SimpleTime;->parseUTCDate(Ljava/lang/String;)J
move-result-wide v0
.local v0, "actualValue":J
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v2
.local v2, "value":Ljava/lang/Long;
iget-object v3, p0, Lcom/discord/models/domain/ModelMessage;->editedTimestampMilliseconds:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v3, v2}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V
.end local v0 # "actualValue":J
.end local v2 # "value":Ljava/lang/Long;
:cond_0
monitor-exit v4
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
move-object v3, v2
:goto_0
check-cast v3, Ljava/lang/Long;
invoke-virtual {v3}, Ljava/lang/Long;->longValue()J
move-result-wide v4
return-wide v4
:catchall_0
move-exception v3
:try_start_1
monitor-exit v4
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw v3
.local v2, "value":Ljava/lang/Object;
:cond_1
move-object v3, v2
goto :goto_0
.end method
.method public getEmbeds()Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List",
"<",
"Lcom/discord/models/domain/ModelMessageEmbed;",
">;"
}
.end annotation
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->embeds:Ljava/util/List;
return-object v0
.end method
.method public getId()J
.locals 2
.prologue
iget-wide v0, p0, Lcom/discord/models/domain/ModelMessage;->id:J
return-wide v0
.end method
.method public getMentionCount(Lcom/discord/models/domain/ModelChannel;Lcom/discord/models/domain/ModelUser;)I
.locals 4
.param p1, "channel" # Lcom/discord/models/domain/ModelChannel;
.annotation build Landroid/support/annotation/Nullable;
.end annotation
.end param
.param p2, "user" # Lcom/discord/models/domain/ModelUser;
.annotation build Llombok/NonNull;
.end annotation
.end param
.prologue
if-nez p2, :cond_0
new-instance v1, Ljava/lang/NullPointerException;
const-string v2, "user"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v1
:cond_0
const/4 v0, 0x0
.local v0, "mentionCount":I
if-eqz p1, :cond_2
invoke-virtual {p1}, Lcom/discord/models/domain/ModelChannel;->isPrivate()Z
move-result v1
if-eqz v1, :cond_2
add-int/lit8 v0, v0, 0x1
:cond_1
:goto_0
return v0
:cond_2
invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessage;->hasMentions()Z
move-result v1
if-eqz v1, :cond_1
iget-object v1, p0, Lcom/discord/models/domain/ModelMessage;->mentions:Ljava/util/List;
invoke-static {v1}, Lcom/annimon/stream/Stream;->of(Ljava/util/List;)Lcom/annimon/stream/Stream;
move-result-object v1
invoke-static {p2}, Lcom/discord/models/domain/ModelMessage$$Lambda$4;->lambdaFactory$(Lcom/discord/models/domain/ModelUser;)Lcom/annimon/stream/function/Predicate;
move-result-object v2
invoke-virtual {v1, v2}, Lcom/annimon/stream/Stream;->filter(Lcom/annimon/stream/function/Predicate;)Lcom/annimon/stream/Stream;
move-result-object v1
invoke-virtual {v1}, Lcom/annimon/stream/Stream;->count()J
move-result-wide v2
long-to-int v0, v2
goto :goto_0
.end method
.method public getMentions()Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List",
"<",
"Lcom/discord/models/domain/ModelUser;",
">;"
}
.end annotation
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->mentions:Ljava/util/List;
return-object v0
.end method
.method public getNonce()Ljava/lang/Long;
.locals 1
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->nonce:Ljava/lang/Long;
return-object v0
.end method
.method public getTimestampMilliseconds()J
.locals 6
.prologue
iget-object v3, p0, Lcom/discord/models/domain/ModelMessage;->timestampMilliseconds:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v2
.local v2, "value":Ljava/lang/Object;
if-nez v2, :cond_1
iget-object v4, p0, Lcom/discord/models/domain/ModelMessage;->timestampMilliseconds:Ljava/util/concurrent/atomic/AtomicReference;
monitor-enter v4
:try_start_0
iget-object v3, p0, Lcom/discord/models/domain/ModelMessage;->timestampMilliseconds:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v2
if-nez v2, :cond_0
invoke-static {}, Lcom/miguelgaeta/simple_time/SimpleTime;->getDefault()Lcom/miguelgaeta/simple_time/SimpleTime;
move-result-object v3
iget-object v5, p0, Lcom/discord/models/domain/ModelMessage;->timestamp:Ljava/lang/String;
invoke-virtual {v3, v5}, Lcom/miguelgaeta/simple_time/SimpleTime;->parseUTCDate(Ljava/lang/String;)J
move-result-wide v0
.local v0, "actualValue":J
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v2
.local v2, "value":Ljava/lang/Long;
iget-object v3, p0, Lcom/discord/models/domain/ModelMessage;->timestampMilliseconds:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v3, v2}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V
.end local v0 # "actualValue":J
.end local v2 # "value":Ljava/lang/Long;
:cond_0
monitor-exit v4
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
move-object v3, v2
:goto_0
check-cast v3, Ljava/lang/Long;
invoke-virtual {v3}, Ljava/lang/Long;->longValue()J
move-result-wide v4
return-wide v4
:catchall_0
move-exception v3
:try_start_1
monitor-exit v4
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw v3
.local v2, "value":Ljava/lang/Object;
:cond_1
move-object v3, v2
goto :goto_0
.end method
.method public hasAttachments()Z
.locals 1
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->attachments:Ljava/util/List;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->attachments:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
if-lez v0, :cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method public hasEmbeds()Z
.locals 1
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->embeds:Ljava/util/List;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->embeds:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
if-lez v0, :cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method public hasMentions()Z
.locals 1
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->mentions:Ljava/util/List;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->mentions:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
if-lez v0, :cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method public hashCode()I
.locals 24
.prologue
const/16 v18, 0x3b
.local v18, "PRIME":I
const/16 v19, 0x1
.local v19, "result":I
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getContent()Ljava/lang/String;
move-result-object v6
.local v6, "$content":Ljava/lang/String;
if-nez v6, :cond_0
const/16 v20, 0x2b
:goto_0
add-int/lit8 v19, v20, 0x3b
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getChannelId()J
move-result-wide v4
.local v4, "$channelId":J
mul-int/lit8 v20, v19, 0x3b
const/16 v21, 0x20
ushr-long v22, v4, v21
xor-long v22, v22, v4
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v21, v0
add-int v19, v20, v21
move-object/from16 v0, p0
iget-object v15, v0, Lcom/discord/models/domain/ModelMessage;->timestamp:Ljava/lang/String;
.local v15, "$timestamp":Ljava/lang/String;
mul-int/lit8 v21, v19, 0x3b
if-nez v15, :cond_1
const/16 v20, 0x2b
:goto_1
add-int v19, v21, v20
move-object/from16 v0, p0
iget-object v7, v0, Lcom/discord/models/domain/ModelMessage;->editedTimestamp:Ljava/lang/String;
.local v7, "$editedTimestamp":Ljava/lang/String;
mul-int/lit8 v21, v19, 0x3b
if-nez v7, :cond_2
const/16 v20, 0x2b
:goto_2
add-int v19, v21, v20
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getAttachments()Ljava/util/List;
move-result-object v2
.local v2, "$attachments":Ljava/util/List;
mul-int/lit8 v21, v19, 0x3b
if-nez v2, :cond_3
const/16 v20, 0x2b
:goto_3
add-int v19, v21, v20
mul-int/lit8 v21, v19, 0x3b
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->isTts()Z
move-result v20
if-eqz v20, :cond_4
const/16 v20, 0x4f
:goto_4
add-int v19, v21, v20
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getAuthor()Lcom/discord/models/domain/ModelUser;
move-result-object v3
.local v3, "$author":Lcom/discord/models/domain/ModelUser;
mul-int/lit8 v21, v19, 0x3b
if-nez v3, :cond_5
const/16 v20, 0x2b
:goto_5
add-int v19, v21, v20
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getEmbeds()Ljava/util/List;
move-result-object v10
.local v10, "$embeds":Ljava/util/List;
mul-int/lit8 v21, v19, 0x3b
if-nez v10, :cond_6
const/16 v20, 0x2b
:goto_6
add-int v19, v21, v20
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getMentions()Ljava/util/List;
move-result-object v11
.local v11, "$mentions":Ljava/util/List;
mul-int/lit8 v21, v19, 0x3b
if-nez v11, :cond_7
const/16 v20, 0x2b
:goto_7
add-int v19, v21, v20
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getNonce()Ljava/lang/Long;
move-result-object v14
.local v14, "$nonce":Ljava/lang/Long;
mul-int/lit8 v21, v19, 0x3b
if-nez v14, :cond_8
const/16 v20, 0x2b
:goto_8
add-int v19, v21, v20
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getId()J
move-result-wide v12
.local v12, "$id":J
mul-int/lit8 v20, v19, 0x3b
const/16 v21, 0x20
ushr-long v22, v12, v21
xor-long v22, v22, v12
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v21, v0
add-int v19, v20, v21
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getTimestampMilliseconds()J
move-result-wide v16
.local v16, "$timestampMilliseconds":J
mul-int/lit8 v20, v19, 0x3b
const/16 v21, 0x20
ushr-long v22, v16, v21
xor-long v22, v22, v16
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v21, v0
add-int v19, v20, v21
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelMessage;->getEditedTimestampMilliseconds()J
move-result-wide v8
.local v8, "$editedTimestampMilliseconds":J
mul-int/lit8 v20, v19, 0x3b
const/16 v21, 0x20
ushr-long v22, v8, v21
xor-long v22, v22, v8
move-wide/from16 v0, v22
long-to-int v0, v0
move/from16 v21, v0
add-int v19, v20, v21
return v19
.end local v2 # "$attachments":Ljava/util/List;
.end local v3 # "$author":Lcom/discord/models/domain/ModelUser;
.end local v4 # "$channelId":J
.end local v7 # "$editedTimestamp":Ljava/lang/String;
.end local v8 # "$editedTimestampMilliseconds":J
.end local v10 # "$embeds":Ljava/util/List;
.end local v11 # "$mentions":Ljava/util/List;
.end local v12 # "$id":J
.end local v14 # "$nonce":Ljava/lang/Long;
.end local v15 # "$timestamp":Ljava/lang/String;
.end local v16 # "$timestampMilliseconds":J
:cond_0
invoke-virtual {v6}, Ljava/lang/Object;->hashCode()I
move-result v20
goto/16 :goto_0
.restart local v4 # "$channelId":J
.restart local v15 # "$timestamp":Ljava/lang/String;
:cond_1
invoke-virtual {v15}, Ljava/lang/Object;->hashCode()I
move-result v20
goto/16 :goto_1
.restart local v7 # "$editedTimestamp":Ljava/lang/String;
:cond_2
invoke-virtual {v7}, Ljava/lang/Object;->hashCode()I
move-result v20
goto/16 :goto_2
.restart local v2 # "$attachments":Ljava/util/List;
:cond_3
invoke-virtual {v2}, Ljava/lang/Object;->hashCode()I
move-result v20
goto/16 :goto_3
:cond_4
const/16 v20, 0x61
goto/16 :goto_4
.restart local v3 # "$author":Lcom/discord/models/domain/ModelUser;
:cond_5
invoke-virtual {v3}, Ljava/lang/Object;->hashCode()I
move-result v20
goto :goto_5
.restart local v10 # "$embeds":Ljava/util/List;
:cond_6
invoke-virtual {v10}, Ljava/lang/Object;->hashCode()I
move-result v20
goto :goto_6
.restart local v11 # "$mentions":Ljava/util/List;
:cond_7
invoke-virtual {v11}, Ljava/lang/Object;->hashCode()I
move-result v20
goto :goto_7
.restart local v14 # "$nonce":Ljava/lang/Long;
:cond_8
invoke-virtual {v14}, Ljava/lang/Object;->hashCode()I
move-result v20
goto :goto_8
.end method
.method public isContainingEveryoneTag()Z
.locals 2
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->content:Ljava/lang/String;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->content:Ljava/lang/String;
const-string v1, "@everyone"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method public isLocal()Z
.locals 4
.prologue
iget-boolean v0, p0, Lcom/discord/models/domain/ModelMessage;->localExpired:Z
if-nez v0, :cond_0
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->nonce:Ljava/lang/Long;
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/discord/models/domain/ModelMessage;->nonce:Ljava/lang/Long;
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
iget-wide v2, p0, Lcom/discord/models/domain/ModelMessage;->id:J
cmp-long v0, v0, v2
if-nez v0, :cond_1
:cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_1
const/4 v0, 0x0
goto :goto_0
.end method
.method public isLocalExpired()Z
.locals 1
.prologue
iget-boolean v0, p0, Lcom/discord/models/domain/ModelMessage;->localExpired:Z
return v0
.end method
.method public isTts()Z
.locals 1
.prologue
iget-boolean v0, p0, Lcom/discord/models/domain/ModelMessage;->tts:Z
return v0
.end method
.method public merge(Lcom/discord/models/domain/ModelMessage;)Lcom/discord/models/domain/ModelMessage;
.locals 6
.param p1, "message" # Lcom/discord/models/domain/ModelMessage;
.prologue
new-instance v0, Lcom/discord/models/domain/ModelMessage;
invoke-direct {v0}, Lcom/discord/models/domain/ModelMessage;-><init>()V
.local v0, "mergedMessage":Lcom/discord/models/domain/ModelMessage;
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->content:Ljava/lang/String;
if-eqz v1, :cond_1
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->content:Ljava/lang/String;
:goto_0
iput-object v1, v0, Lcom/discord/models/domain/ModelMessage;->content:Ljava/lang/String;
iget-wide v2, p1, Lcom/discord/models/domain/ModelMessage;->channelId:J
const-wide/16 v4, 0x0
cmp-long v1, v2, v4
if-eqz v1, :cond_2
iget-wide v2, p1, Lcom/discord/models/domain/ModelMessage;->channelId:J
:goto_1
iput-wide v2, v0, Lcom/discord/models/domain/ModelMessage;->channelId:J
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->timestamp:Ljava/lang/String;
if-eqz v1, :cond_3
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->timestamp:Ljava/lang/String;
:goto_2
iput-object v1, v0, Lcom/discord/models/domain/ModelMessage;->timestamp:Ljava/lang/String;
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->editedTimestamp:Ljava/lang/String;
if-eqz v1, :cond_4
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->editedTimestamp:Ljava/lang/String;
:goto_3
iput-object v1, v0, Lcom/discord/models/domain/ModelMessage;->editedTimestamp:Ljava/lang/String;
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->attachments:Ljava/util/List;
if-eqz v1, :cond_5
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->attachments:Ljava/util/List;
:goto_4
iput-object v1, v0, Lcom/discord/models/domain/ModelMessage;->attachments:Ljava/util/List;
iget-boolean v1, p1, Lcom/discord/models/domain/ModelMessage;->tts:Z
if-nez v1, :cond_0
iget-boolean v1, p0, Lcom/discord/models/domain/ModelMessage;->tts:Z
if-eqz v1, :cond_6
:cond_0
const/4 v1, 0x1
:goto_5
iput-boolean v1, v0, Lcom/discord/models/domain/ModelMessage;->tts:Z
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->author:Lcom/discord/models/domain/ModelUser;
if-eqz v1, :cond_7
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->author:Lcom/discord/models/domain/ModelUser;
:goto_6
iput-object v1, v0, Lcom/discord/models/domain/ModelMessage;->author:Lcom/discord/models/domain/ModelUser;
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->embeds:Ljava/util/List;
if-eqz v1, :cond_8
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->embeds:Ljava/util/List;
:goto_7
iput-object v1, v0, Lcom/discord/models/domain/ModelMessage;->embeds:Ljava/util/List;
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->mentions:Ljava/util/List;
if-eqz v1, :cond_9
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->mentions:Ljava/util/List;
:goto_8
iput-object v1, v0, Lcom/discord/models/domain/ModelMessage;->mentions:Ljava/util/List;
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->nonce:Ljava/lang/Long;
if-eqz v1, :cond_a
iget-object v1, p1, Lcom/discord/models/domain/ModelMessage;->nonce:Ljava/lang/Long;
:goto_9
iput-object v1, v0, Lcom/discord/models/domain/ModelMessage;->nonce:Ljava/lang/Long;
iget-boolean v1, p1, Lcom/discord/models/domain/ModelMessage;->localExpired:Z
iput-boolean v1, v0, Lcom/discord/models/domain/ModelMessage;->localExpired:Z
iget-wide v2, p1, Lcom/discord/models/domain/ModelMessage;->id:J
iput-wide v2, v0, Lcom/discord/models/domain/ModelMessage;->id:J
return-object v0
:cond_1
iget-object v1, p0, Lcom/discord/models/domain/ModelMessage;->content:Ljava/lang/String;
goto :goto_0
:cond_2
iget-wide v2, p0, Lcom/discord/models/domain/ModelMessage;->channelId:J
goto :goto_1
:cond_3
iget-object v1, p0, Lcom/discord/models/domain/ModelMessage;->timestamp:Ljava/lang/String;
goto :goto_2
:cond_4
iget-object v1, p0, Lcom/discord/models/domain/ModelMessage;->editedTimestamp:Ljava/lang/String;
goto :goto_3
:cond_5
iget-object v1, p0, Lcom/discord/models/domain/ModelMessage;->attachments:Ljava/util/List;
goto :goto_4
:cond_6
const/4 v1, 0x0
goto :goto_5
:cond_7
iget-object v1, p0, Lcom/discord/models/domain/ModelMessage;->author:Lcom/discord/models/domain/ModelUser;
goto :goto_6
:cond_8
iget-object v1, p0, Lcom/discord/models/domain/ModelMessage;->embeds:Ljava/util/List;
goto :goto_7
:cond_9
iget-object v1, p0, Lcom/discord/models/domain/ModelMessage;->mentions:Ljava/util/List;
goto :goto_8
:cond_a
iget-object v1, p0, Lcom/discord/models/domain/ModelMessage;->nonce:Ljava/lang/Long;
goto :goto_9
.end method
.method public toString()Ljava/lang/String;
.locals 4
.prologue
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "ModelMessage(content="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessage;->getContent()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", channelId="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessage;->getChannelId()J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", timestamp="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/discord/models/domain/ModelMessage;->timestamp:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", editedTimestamp="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/discord/models/domain/ModelMessage;->editedTimestamp:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", attachments="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessage;->getAttachments()Ljava/util/List;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", tts="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessage;->isTts()Z
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", author="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessage;->getAuthor()Lcom/discord/models/domain/ModelUser;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", embeds="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessage;->getEmbeds()Ljava/util/List;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", mentions="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessage;->getMentions()Ljava/util/List;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", nonce="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessage;->getNonce()Ljava/lang/Long;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", id="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessage;->getId()J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", localExpired="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessage;->isLocalExpired()Z
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", timestampMilliseconds="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessage;->getTimestampMilliseconds()J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", editedTimestampMilliseconds="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelMessage;->getEditedTimestampMilliseconds()J
move-result-wide v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method