.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 ()V .locals 1 .prologue new-instance v0, Ljava/util/concurrent/atomic/AtomicReference; invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;->()V sput-object v0, Lcom/discord/models/domain/ModelMessage;->sortByIds:Ljava/util/concurrent/atomic/AtomicReference; return-void .end method .method public constructor ()V .locals 1 .prologue invoke-direct {p0}, Lcom/discord/models/domain/Model;->()V new-instance v0, Ljava/util/concurrent/atomic/AtomicReference; invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;->()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;->()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;->()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;->()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;->()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;" 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;" :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;" :cond_2 move-object v1, v0 goto :goto_0 .end local v0 # "actualValue":Ljava/util/Comparator;, "Ljava/util/Comparator;" :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;->()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;->()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;->()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;->()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;->(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;->()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;->(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;->()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;->()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