apkfuckery/com.discord/smali/com/discord/models/domain/ModelChannel.smali
2019-02-04 21:05:16 +01:00

2277 lines
56 KiB
Smali

.class public Lcom/discord/models/domain/ModelChannel;
.super Lcom/discord/models/domain/Model;
.source "ModelChannel.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/discord/models/domain/ModelChannel$Type;
}
.end annotation
# static fields
.field private static final sortByNameAndType: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 bitrate:I
.field private guildId:J
.field private id:J
.field private isDefaultChannel:Z
.field private isPrivate:Z
.field private lastMessageId:J
.field private name:Ljava/lang/String;
.field private permissionOverwrites:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Lcom/discord/models/domain/ModelPermissionOverwrite;",
">;"
}
.end annotation
.end field
.field private final transient permissionOverwritesMap: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 position:I
.field private recipient:Lcom/discord/models/domain/ModelUser;
.field private roles:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private token:Ljava/lang/String;
.field private topic:Ljava/lang/String;
.field private type:Ljava/lang/String;
.field private userLimit:I
# 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/ModelChannel;->sortByNameAndType: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/ModelChannel;->permissionOverwritesMap:Ljava/util/concurrent/atomic/AtomicReference;
return-void
.end method
.method static synthetic access$lambda$0(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/discord/models/domain/ModelPermissionOverwrite;
.locals 1
invoke-static {p0}, Lcom/discord/models/domain/ModelChannel;->lambda$assignField$29(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/discord/models/domain/ModelPermissionOverwrite;
move-result-object v0
return-object v0
.end method
.method static synthetic access$lambda$1(Lcom/discord/models/domain/ModelChannel;Lcom/discord/models/domain/ModelChannel;)I
.locals 1
invoke-static {p0, p1}, Lcom/discord/models/domain/ModelChannel;->lambda$getSortByNameAndType$30(Lcom/discord/models/domain/ModelChannel;Lcom/discord/models/domain/ModelChannel;)I
move-result v0
return v0
.end method
.method private computePermissionOverwrites(Ljava/util/List;)Ljava/util/Map;
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<",
"Lcom/discord/models/domain/ModelPermissionOverwrite;",
">;)",
"Ljava/util/Map",
"<",
"Ljava/lang/Long;",
"Lcom/discord/models/domain/ModelPermissionOverwrite;",
">;"
}
.end annotation
.prologue
.local p1, "permissionOverwrites":Ljava/util/List;, "Ljava/util/List<Lcom/discord/models/domain/ModelPermissionOverwrite;>;"
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.local v0, "map":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/Long;Lcom/discord/models/domain/ModelPermissionOverwrite;>;"
if-eqz p1, :cond_0
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_0
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_0
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/discord/models/domain/ModelPermissionOverwrite;
.local v1, "overwrite":Lcom/discord/models/domain/ModelPermissionOverwrite;
invoke-virtual {v1}, Lcom/discord/models/domain/ModelPermissionOverwrite;->getId()J
move-result-wide v4
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v3
invoke-interface {v0, v3, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_0
.end local v1 # "overwrite":Lcom/discord/models/domain/ModelPermissionOverwrite;
:cond_0
return-object v0
.end method
.method public static create(JJ)Lcom/discord/models/domain/ModelChannel;
.locals 2
.param p0, "id" # J
.param p2, "lastMessageId" # J
.prologue
new-instance v0, Lcom/discord/models/domain/ModelChannel;
invoke-direct {v0}, Lcom/discord/models/domain/ModelChannel;-><init>()V
.local v0, "channel":Lcom/discord/models/domain/ModelChannel;
iput-wide p0, v0, Lcom/discord/models/domain/ModelChannel;->id:J
iput-wide p2, v0, Lcom/discord/models/domain/ModelChannel;->lastMessageId:J
return-object v0
.end method
.method public static create(Lcom/discord/models/domain/ModelGuild;Lcom/discord/models/domain/ModelChannel;)Lcom/discord/models/domain/ModelChannel;
.locals 6
.param p0, "guild" # Lcom/discord/models/domain/ModelGuild;
.annotation build Llombok/NonNull;
.end annotation
.end param
.param p1, "channel" # Lcom/discord/models/domain/ModelChannel;
.annotation build Llombok/NonNull;
.end annotation
.end param
.prologue
if-nez p0, :cond_0
new-instance v1, Ljava/lang/NullPointerException;
const-string v2, "guild"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v1
:cond_0
if-nez p1, :cond_1
new-instance v1, Ljava/lang/NullPointerException;
const-string v2, "channel"
invoke-direct {v1, v2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v1
:cond_1
new-instance v0, Lcom/discord/models/domain/ModelChannel;
invoke-direct {v0}, Lcom/discord/models/domain/ModelChannel;-><init>()V
.local v0, "mergedChannel":Lcom/discord/models/domain/ModelChannel;
iget-object v1, p1, Lcom/discord/models/domain/ModelChannel;->topic:Ljava/lang/String;
iput-object v1, v0, Lcom/discord/models/domain/ModelChannel;->topic:Ljava/lang/String;
iget-object v1, p1, Lcom/discord/models/domain/ModelChannel;->token:Ljava/lang/String;
iput-object v1, v0, Lcom/discord/models/domain/ModelChannel;->token:Ljava/lang/String;
iget-object v1, p1, Lcom/discord/models/domain/ModelChannel;->type:Ljava/lang/String;
iput-object v1, v0, Lcom/discord/models/domain/ModelChannel;->type:Ljava/lang/String;
iget-object v1, p1, Lcom/discord/models/domain/ModelChannel;->roles:Ljava/util/List;
iput-object v1, v0, Lcom/discord/models/domain/ModelChannel;->roles:Ljava/util/List;
iget-wide v2, p1, Lcom/discord/models/domain/ModelChannel;->guildId:J
const-wide/16 v4, 0x0
cmp-long v1, v2, v4
if-eqz v1, :cond_2
iget-wide v2, p1, Lcom/discord/models/domain/ModelChannel;->guildId:J
:goto_0
iput-wide v2, v0, Lcom/discord/models/domain/ModelChannel;->guildId:J
iget-boolean v1, p1, Lcom/discord/models/domain/ModelChannel;->isDefaultChannel:Z
iput-boolean v1, v0, Lcom/discord/models/domain/ModelChannel;->isDefaultChannel:Z
iget-object v1, p1, Lcom/discord/models/domain/ModelChannel;->name:Ljava/lang/String;
iput-object v1, v0, Lcom/discord/models/domain/ModelChannel;->name:Ljava/lang/String;
iget-wide v2, p1, Lcom/discord/models/domain/ModelChannel;->lastMessageId:J
iput-wide v2, v0, Lcom/discord/models/domain/ModelChannel;->lastMessageId:J
iget-wide v2, p1, Lcom/discord/models/domain/ModelChannel;->id:J
iput-wide v2, v0, Lcom/discord/models/domain/ModelChannel;->id:J
iget-object v1, p1, Lcom/discord/models/domain/ModelChannel;->recipient:Lcom/discord/models/domain/ModelUser;
iput-object v1, v0, Lcom/discord/models/domain/ModelChannel;->recipient:Lcom/discord/models/domain/ModelUser;
iget v1, p1, Lcom/discord/models/domain/ModelChannel;->position:I
iput v1, v0, Lcom/discord/models/domain/ModelChannel;->position:I
iget-object v1, p1, Lcom/discord/models/domain/ModelChannel;->permissionOverwrites:Ljava/util/List;
iput-object v1, v0, Lcom/discord/models/domain/ModelChannel;->permissionOverwrites:Ljava/util/List;
iget v1, p1, Lcom/discord/models/domain/ModelChannel;->userLimit:I
iput v1, v0, Lcom/discord/models/domain/ModelChannel;->userLimit:I
iget v1, p1, Lcom/discord/models/domain/ModelChannel;->bitrate:I
iput v1, v0, Lcom/discord/models/domain/ModelChannel;->bitrate:I
return-object v0
:cond_2
invoke-virtual {p0}, Lcom/discord/models/domain/ModelGuild;->getId()J
move-result-wide v2
goto :goto_0
.end method
.method public static getSortByNameAndType()Ljava/util/Comparator;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator",
"<",
"Lcom/discord/models/domain/ModelChannel;",
">;"
}
.end annotation
.prologue
sget-object v2, Lcom/discord/models/domain/ModelChannel;->sortByNameAndType: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/ModelChannel;->sortByNameAndType:Ljava/util/concurrent/atomic/AtomicReference;
monitor-enter v3
:try_start_0
sget-object v2, Lcom/discord/models/domain/ModelChannel;->sortByNameAndType: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/ModelChannel$$Lambda$3;->lambdaFactory$()Ljava/util/Comparator;
move-result-object v0
.local v0, "actualValue":Ljava/util/Comparator;, "Ljava/util/Comparator<Lcom/discord/models/domain/ModelChannel;>;"
if-nez v0, :cond_2
sget-object v1, Lcom/discord/models/domain/ModelChannel;->sortByNameAndType:Ljava/util/concurrent/atomic/AtomicReference;
:goto_0
sget-object v2, Lcom/discord/models/domain/ModelChannel;->sortByNameAndType: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<Lcom/discord/models/domain/ModelChannel;>;"
: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/ModelChannel;->sortByNameAndType: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<Lcom/discord/models/domain/ModelChannel;>;"
:cond_2
move-object v1, v0
goto :goto_0
.end local v0 # "actualValue":Ljava/util/Comparator;, "Ljava/util/Comparator<Lcom/discord/models/domain/ModelChannel;>;"
: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$29(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/discord/models/domain/ModelPermissionOverwrite;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
new-instance v0, Lcom/discord/models/domain/ModelPermissionOverwrite;
invoke-direct {v0}, Lcom/discord/models/domain/ModelPermissionOverwrite;-><init>()V
const/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Lcom/discord/models/domain/ModelPermissionOverwrite;->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/ModelPermissionOverwrite;
return-object v0
.end method
.method private static synthetic lambda$getSortByNameAndType$30(Lcom/discord/models/domain/ModelChannel;Lcom/discord/models/domain/ModelChannel;)I
.locals 2
.param p0, "c1" # Lcom/discord/models/domain/ModelChannel;
.param p1, "c2" # Lcom/discord/models/domain/ModelChannel;
.prologue
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->getType()Lcom/discord/models/domain/ModelChannel$Type;
move-result-object v0
sget-object v1, Lcom/discord/models/domain/ModelChannel$Type;->TEXT:Lcom/discord/models/domain/ModelChannel$Type;
if-ne v0, v1, :cond_0
invoke-virtual {p1}, Lcom/discord/models/domain/ModelChannel;->getType()Lcom/discord/models/domain/ModelChannel$Type;
move-result-object v0
sget-object v1, Lcom/discord/models/domain/ModelChannel$Type;->VOICE:Lcom/discord/models/domain/ModelChannel$Type;
if-ne v0, v1, :cond_0
const/4 v0, -0x1
:goto_0
return v0
:cond_0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->getType()Lcom/discord/models/domain/ModelChannel$Type;
move-result-object v0
sget-object v1, Lcom/discord/models/domain/ModelChannel$Type;->VOICE:Lcom/discord/models/domain/ModelChannel$Type;
if-ne v0, v1, :cond_1
invoke-virtual {p1}, Lcom/discord/models/domain/ModelChannel;->getType()Lcom/discord/models/domain/ModelChannel$Type;
move-result-object v0
sget-object v1, Lcom/discord/models/domain/ModelChannel$Type;->TEXT:Lcom/discord/models/domain/ModelChannel$Type;
if-ne v0, v1, :cond_1
const/4 v0, 0x1
goto :goto_0
:cond_1
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->getPosition()I
move-result v0
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {p1}, Lcom/discord/models/domain/ModelChannel;->getPosition()I
move-result v1
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/Integer;->compareTo(Ljava/lang/Integer;)I
move-result v0
goto :goto_0
.end method
# virtual methods
.method protected assignField(Lcom/miguelgaeta/message_parser/MessageParser;)V
.locals 6
.param p1, "reader" # Lcom/miguelgaeta/message_parser/MessageParser;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.prologue
const/4 v1, 0x0
const-wide/16 v4, 0x0
:goto_0
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->hasNext()Z
move-result v0
if-eqz v0, :cond_1
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextName()Ljava/lang/String;
move-result-object v2
const/4 v0, -0x1
invoke-virtual {v2}, Ljava/lang/String;->hashCode()I
move-result v3
sparse-switch v3, :sswitch_data_0
:cond_0
:goto_1
packed-switch v0, :pswitch_data_0
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->skipValue()V
goto :goto_0
:sswitch_0
const-string v3, "topic"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
move v0, v1
goto :goto_1
:sswitch_1
const-string v3, "token"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/4 v0, 0x1
goto :goto_1
:sswitch_2
const-string v3, "type"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/4 v0, 0x2
goto :goto_1
:sswitch_3
const-string v3, "roles"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/4 v0, 0x3
goto :goto_1
:sswitch_4
const-string v3, "guild_id"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/4 v0, 0x4
goto :goto_1
:sswitch_5
const-string v3, "is_default_channel"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/4 v0, 0x5
goto :goto_1
:sswitch_6
const-string v3, "name"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/4 v0, 0x6
goto :goto_1
:sswitch_7
const-string v3, "last_message_id"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/4 v0, 0x7
goto :goto_1
:sswitch_8
const-string v3, "id"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/16 v0, 0x8
goto :goto_1
:sswitch_9
const-string v3, "recipient"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/16 v0, 0x9
goto :goto_1
:sswitch_a
const-string v3, "is_private"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/16 v0, 0xa
goto :goto_1
:sswitch_b
const-string v3, "position"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/16 v0, 0xb
goto/16 :goto_1
:sswitch_c
const-string v3, "permission_overwrites"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/16 v0, 0xc
goto/16 :goto_1
:sswitch_d
const-string v3, "user_limit"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/16 v0, 0xd
goto/16 :goto_1
:sswitch_e
const-string v3, "bitrate"
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
const/16 v0, 0xe
goto/16 :goto_1
:pswitch_0
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextStringOrNull()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/discord/models/domain/ModelChannel;->topic:Ljava/lang/String;
goto/16 :goto_0
:pswitch_1
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextStringOrNull()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/discord/models/domain/ModelChannel;->token:Ljava/lang/String;
goto/16 :goto_0
:pswitch_2
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/discord/models/domain/ModelChannel;->type:Ljava/lang/String;
goto/16 :goto_0
:pswitch_3
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
invoke-static {p1}, Lcom/discord/models/domain/ModelChannel$$Lambda$1;->lambdaFactory$(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/miguelgaeta/message_parser/MessageParser$ListItem;
move-result-object v0
invoke-interface {p1, v0}, Lcom/miguelgaeta/message_parser/MessageParser;->nextList(Lcom/miguelgaeta/message_parser/MessageParser$ListItem;)Ljava/util/List;
move-result-object v0
iput-object v0, p0, Lcom/discord/models/domain/ModelChannel;->roles:Ljava/util/List;
goto/16 :goto_0
:pswitch_4
invoke-interface {p1, v4, v5}, Lcom/miguelgaeta/message_parser/MessageParser;->nextLong(J)J
move-result-wide v2
iput-wide v2, p0, Lcom/discord/models/domain/ModelChannel;->guildId:J
goto/16 :goto_0
:pswitch_5
iget-boolean v0, p0, Lcom/discord/models/domain/ModelChannel;->isDefaultChannel:Z
invoke-interface {p1, v0}, Lcom/miguelgaeta/message_parser/MessageParser;->nextBoolean(Z)Z
move-result v0
iput-boolean v0, p0, Lcom/discord/models/domain/ModelChannel;->isDefaultChannel:Z
goto/16 :goto_0
:pswitch_6
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextString()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/discord/models/domain/ModelChannel;->name:Ljava/lang/String;
goto/16 :goto_0
:pswitch_7
invoke-interface {p1, v4, v5}, Lcom/miguelgaeta/message_parser/MessageParser;->nextLong(J)J
move-result-wide v2
iput-wide v2, p0, Lcom/discord/models/domain/ModelChannel;->lastMessageId:J
goto/16 :goto_0
:pswitch_8
invoke-interface {p1, v4, v5}, Lcom/miguelgaeta/message_parser/MessageParser;->nextLong(J)J
move-result-wide v2
iput-wide v2, p0, Lcom/discord/models/domain/ModelChannel;->id:J
goto/16 :goto_0
:pswitch_9
new-instance v0, Lcom/discord/models/domain/ModelUser;
invoke-direct {v0}, Lcom/discord/models/domain/ModelUser;-><init>()V
const/4 v2, 0x0
invoke-virtual {v0, 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 v0
check-cast v0, Lcom/discord/models/domain/ModelUser;
iput-object v0, p0, Lcom/discord/models/domain/ModelChannel;->recipient:Lcom/discord/models/domain/ModelUser;
goto/16 :goto_0
:pswitch_a
invoke-interface {p1, v1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextBoolean(Z)Z
move-result v0
iput-boolean v0, p0, Lcom/discord/models/domain/ModelChannel;->isPrivate:Z
goto/16 :goto_0
:pswitch_b
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextInt()I
move-result v0
iput v0, p0, Lcom/discord/models/domain/ModelChannel;->position:I
goto/16 :goto_0
:pswitch_c
invoke-static {p1}, Lcom/discord/models/domain/ModelChannel$$Lambda$2;->lambdaFactory$(Lcom/miguelgaeta/message_parser/MessageParser;)Lcom/miguelgaeta/message_parser/MessageParser$ListItem;
move-result-object v0
invoke-interface {p1, v0}, Lcom/miguelgaeta/message_parser/MessageParser;->nextList(Lcom/miguelgaeta/message_parser/MessageParser$ListItem;)Ljava/util/List;
move-result-object v0
iput-object v0, p0, Lcom/discord/models/domain/ModelChannel;->permissionOverwrites:Ljava/util/List;
goto/16 :goto_0
:pswitch_d
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextInt()I
move-result v0
iput v0, p0, Lcom/discord/models/domain/ModelChannel;->userLimit:I
goto/16 :goto_0
:pswitch_e
invoke-interface {p1}, Lcom/miguelgaeta/message_parser/MessageParser;->nextInt()I
move-result v0
iput v0, p0, Lcom/discord/models/domain/ModelChannel;->bitrate:I
goto/16 :goto_0
:cond_1
return-void
nop
:sswitch_data_0
.sparse-switch
-0x4de03319 -> :sswitch_4
-0x42e10810 -> :sswitch_5
-0x6188493 -> :sswitch_e
-0x4f2f664 -> :sswitch_7
0xd1b -> :sswitch_8
0x337a8b -> :sswitch_6
0x368f3a -> :sswitch_2
0x67a8ebd -> :sswitch_3
0x696b9f9 -> :sswitch_1
0x696cd2f -> :sswitch_0
0x2c929929 -> :sswitch_b
0x30e17219 -> :sswitch_9
0x32c91ab8 -> :sswitch_c
0x46ae0f6e -> :sswitch_a
0x72eb5647 -> :sswitch_d
.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
:pswitch_b
:pswitch_c
:pswitch_d
:pswitch_e
.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/ModelChannel;
return v0
.end method
.method public canPermission(ILjava/lang/Integer;)Z
.locals 2
.param p1, "permission" # I
.param p2, "computedPermission" # Ljava/lang/Integer;
.prologue
const/16 v0, 0x400
if-ne p1, v0, :cond_0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->getType()Lcom/discord/models/domain/ModelChannel$Type;
move-result-object v0
sget-object v1, Lcom/discord/models/domain/ModelChannel$Type;->TEXT:Lcom/discord/models/domain/ModelChannel$Type;
if-eq v0, v1, :cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_0
invoke-static {p1, p2}, Lcom/discord/models/domain/ModelPermissions;->can(ILjava/lang/Integer;)Z
move-result v0
goto :goto_0
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 22
.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 v17, 0x1
:goto_0
return v17
:cond_0
move-object/from16 v0, p1
instance-of v0, v0, Lcom/discord/models/domain/ModelChannel;
move/from16 v17, v0
if-nez v17, :cond_1
const/16 v17, 0x0
goto :goto_0
:cond_1
move-object/from16 v2, p1
check-cast v2, Lcom/discord/models/domain/ModelChannel;
.local v2, "other":Lcom/discord/models/domain/ModelChannel;
move-object/from16 v0, p0
invoke-virtual {v2, v0}, Lcom/discord/models/domain/ModelChannel;->canEqual(Ljava/lang/Object;)Z
move-result v17
if-nez v17, :cond_2
const/16 v17, 0x0
goto :goto_0
:cond_2
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getTopic()Ljava/lang/String;
move-result-object v15
.local v15, "this$topic":Ljava/lang/String;
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->getTopic()Ljava/lang/String;
move-result-object v8
.local v8, "other$topic":Ljava/lang/String;
if-nez v15, :cond_4
if-eqz v8, :cond_5
:cond_3
const/16 v17, 0x0
goto :goto_0
:cond_4
invoke-virtual {v15, v8}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v17
if-eqz v17, :cond_3
:cond_5
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getToken()Ljava/lang/String;
move-result-object v14
.local v14, "this$token":Ljava/lang/String;
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->getToken()Ljava/lang/String;
move-result-object v7
.local v7, "other$token":Ljava/lang/String;
if-nez v14, :cond_7
if-eqz v7, :cond_8
:cond_6
const/16 v17, 0x0
goto :goto_0
:cond_7
invoke-virtual {v14, v7}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v17
if-eqz v17, :cond_6
:cond_8
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getType()Lcom/discord/models/domain/ModelChannel$Type;
move-result-object v16
.local v16, "this$type":Lcom/discord/models/domain/ModelChannel$Type;
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->getType()Lcom/discord/models/domain/ModelChannel$Type;
move-result-object v9
.local v9, "other$type":Lcom/discord/models/domain/ModelChannel$Type;
if-nez v16, :cond_a
if-eqz v9, :cond_b
:cond_9
const/16 v17, 0x0
goto :goto_0
:cond_a
move-object/from16 v0, v16
invoke-virtual {v0, v9}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v17
if-eqz v17, :cond_9
:cond_b
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getRoles()Ljava/util/List;
move-result-object v13
.local v13, "this$roles":Ljava/util/List;
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->getRoles()Ljava/util/List;
move-result-object v6
.local v6, "other$roles":Ljava/util/List;
if-nez v13, :cond_d
if-eqz v6, :cond_e
:cond_c
const/16 v17, 0x0
goto :goto_0
:cond_d
invoke-virtual {v13, v6}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v17
if-eqz v17, :cond_c
:cond_e
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getGuildId()J
move-result-wide v18
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->getGuildId()J
move-result-wide v20
cmp-long v17, v18, v20
if-eqz v17, :cond_f
const/16 v17, 0x0
goto :goto_0
:cond_f
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->isDefaultChannel()Z
move-result v17
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->isDefaultChannel()Z
move-result v18
move/from16 v0, v17
move/from16 v1, v18
if-eq v0, v1, :cond_10
const/16 v17, 0x0
goto/16 :goto_0
:cond_10
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getName()Ljava/lang/String;
move-result-object v10
.local v10, "this$name":Ljava/lang/String;
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->getName()Ljava/lang/String;
move-result-object v3
.local v3, "other$name":Ljava/lang/String;
if-nez v10, :cond_12
if-eqz v3, :cond_13
:cond_11
const/16 v17, 0x0
goto/16 :goto_0
:cond_12
invoke-virtual {v10, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v17
if-eqz v17, :cond_11
:cond_13
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getLastMessageId()J
move-result-wide v18
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->getLastMessageId()J
move-result-wide v20
cmp-long v17, v18, v20
if-eqz v17, :cond_14
const/16 v17, 0x0
goto/16 :goto_0
:cond_14
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getId()J
move-result-wide v18
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->getId()J
move-result-wide v20
cmp-long v17, v18, v20
if-eqz v17, :cond_15
const/16 v17, 0x0
goto/16 :goto_0
:cond_15
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getRecipient()Lcom/discord/models/domain/ModelUser;
move-result-object v12
.local v12, "this$recipient":Lcom/discord/models/domain/ModelUser;
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->getRecipient()Lcom/discord/models/domain/ModelUser;
move-result-object v5
.local v5, "other$recipient":Lcom/discord/models/domain/ModelUser;
if-nez v12, :cond_17
if-eqz v5, :cond_18
:cond_16
const/16 v17, 0x0
goto/16 :goto_0
:cond_17
invoke-virtual {v12, v5}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v17
if-eqz v17, :cond_16
:cond_18
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->isPrivate()Z
move-result v17
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->isPrivate()Z
move-result v18
move/from16 v0, v17
move/from16 v1, v18
if-eq v0, v1, :cond_19
const/16 v17, 0x0
goto/16 :goto_0
:cond_19
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getPosition()I
move-result v17
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->getPosition()I
move-result v18
move/from16 v0, v17
move/from16 v1, v18
if-eq v0, v1, :cond_1a
const/16 v17, 0x0
goto/16 :goto_0
:cond_1a
move-object/from16 v0, p0
iget-object v11, v0, Lcom/discord/models/domain/ModelChannel;->permissionOverwrites:Ljava/util/List;
.local v11, "this$permissionOverwrites":Ljava/util/List;
iget-object v4, v2, Lcom/discord/models/domain/ModelChannel;->permissionOverwrites:Ljava/util/List;
.local v4, "other$permissionOverwrites":Ljava/util/List;
if-nez v11, :cond_1c
if-eqz v4, :cond_1d
:cond_1b
const/16 v17, 0x0
goto/16 :goto_0
:cond_1c
invoke-virtual {v11, v4}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v17
if-eqz v17, :cond_1b
:cond_1d
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getUserLimit()I
move-result v17
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->getUserLimit()I
move-result v18
move/from16 v0, v17
move/from16 v1, v18
if-eq v0, v1, :cond_1e
const/16 v17, 0x0
goto/16 :goto_0
:cond_1e
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getBitrate()I
move-result v17
invoke-virtual {v2}, Lcom/discord/models/domain/ModelChannel;->getBitrate()I
move-result v18
move/from16 v0, v17
move/from16 v1, v18
if-eq v0, v1, :cond_1f
const/16 v17, 0x0
goto/16 :goto_0
:cond_1f
const/16 v17, 0x1
goto/16 :goto_0
.end method
.method public getBitrate()I
.locals 1
.prologue
iget v0, p0, Lcom/discord/models/domain/ModelChannel;->bitrate:I
return v0
.end method
.method public getGuildId()J
.locals 2
.prologue
iget-wide v0, p0, Lcom/discord/models/domain/ModelChannel;->guildId:J
return-wide v0
.end method
.method public getId()J
.locals 2
.prologue
iget-wide v0, p0, Lcom/discord/models/domain/ModelChannel;->id:J
return-wide v0
.end method
.method public getLastMessageId()J
.locals 2
.prologue
iget-wide v0, p0, Lcom/discord/models/domain/ModelChannel;->lastMessageId:J
return-wide v0
.end method
.method public getName()Ljava/lang/String;
.locals 1
.prologue
iget-boolean v0, p0, Lcom/discord/models/domain/ModelChannel;->isPrivate:Z
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/discord/models/domain/ModelChannel;->recipient:Lcom/discord/models/domain/ModelUser;
invoke-virtual {v0}, Lcom/discord/models/domain/ModelUser;->getUsername()Ljava/lang/String;
move-result-object v0
:goto_0
return-object v0
:cond_0
iget-object v0, p0, Lcom/discord/models/domain/ModelChannel;->name:Ljava/lang/String;
goto :goto_0
.end method
.method public getPermissionOverwritesMap()Ljava/util/Map;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Map",
"<",
"Ljava/lang/Long;",
"Lcom/discord/models/domain/ModelPermissionOverwrite;",
">;"
}
.end annotation
.prologue
iget-object v2, p0, Lcom/discord/models/domain/ModelChannel;->permissionOverwritesMap: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
iget-object v3, p0, Lcom/discord/models/domain/ModelChannel;->permissionOverwritesMap:Ljava/util/concurrent/atomic/AtomicReference;
monitor-enter v3
:try_start_0
iget-object v2, p0, Lcom/discord/models/domain/ModelChannel;->permissionOverwritesMap: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
iget-object v2, p0, Lcom/discord/models/domain/ModelChannel;->permissionOverwrites:Ljava/util/List;
invoke-direct {p0, v2}, Lcom/discord/models/domain/ModelChannel;->computePermissionOverwrites(Ljava/util/List;)Ljava/util/Map;
move-result-object v0
.local v0, "actualValue":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/Long;Lcom/discord/models/domain/ModelPermissionOverwrite;>;"
if-nez v0, :cond_2
iget-object v1, p0, Lcom/discord/models/domain/ModelChannel;->permissionOverwritesMap:Ljava/util/concurrent/atomic/AtomicReference;
:goto_0
iget-object v2, p0, Lcom/discord/models/domain/ModelChannel;->permissionOverwritesMap: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/Map;, "Ljava/util/Map<Ljava/lang/Long;Lcom/discord/models/domain/ModelPermissionOverwrite;>;"
:cond_0
monitor-exit v3
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:cond_1
iget-object v2, p0, Lcom/discord/models/domain/ModelChannel;->permissionOverwritesMap:Ljava/util/concurrent/atomic/AtomicReference;
if-ne v1, v2, :cond_3
const/4 v2, 0x0
:goto_1
check-cast v2, Ljava/util/Map;
check-cast v2, Ljava/util/Map;
return-object v2
.restart local v0 # "actualValue":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/Long;Lcom/discord/models/domain/ModelPermissionOverwrite;>;"
:cond_2
move-object v1, v0
goto :goto_0
.end local v0 # "actualValue":Ljava/util/Map;, "Ljava/util/Map<Ljava/lang/Long;Lcom/discord/models/domain/ModelPermissionOverwrite;>;"
: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 public getPosition()I
.locals 1
.prologue
iget v0, p0, Lcom/discord/models/domain/ModelChannel;->position:I
return v0
.end method
.method public getRecipient()Lcom/discord/models/domain/ModelUser;
.locals 1
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelChannel;->recipient:Lcom/discord/models/domain/ModelUser;
return-object v0
.end method
.method public getRoles()Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List",
"<",
"Ljava/lang/String;",
">;"
}
.end annotation
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelChannel;->roles:Ljava/util/List;
return-object v0
.end method
.method public getToken()Ljava/lang/String;
.locals 1
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelChannel;->token:Ljava/lang/String;
return-object v0
.end method
.method public getTopic()Ljava/lang/String;
.locals 1
.prologue
iget-object v0, p0, Lcom/discord/models/domain/ModelChannel;->topic:Ljava/lang/String;
return-object v0
.end method
.method public getType()Lcom/discord/models/domain/ModelChannel$Type;
.locals 3
.prologue
iget-boolean v0, p0, Lcom/discord/models/domain/ModelChannel;->isPrivate:Z
if-eqz v0, :cond_0
sget-object v0, Lcom/discord/models/domain/ModelChannel$Type;->PRIVATE:Lcom/discord/models/domain/ModelChannel$Type;
:goto_0
return-object v0
:cond_0
iget-object v0, p0, Lcom/discord/models/domain/ModelChannel;->type:Ljava/lang/String;
if-nez v0, :cond_1
sget-object v0, Lcom/discord/models/domain/ModelChannel$Type;->UNKNOWN:Lcom/discord/models/domain/ModelChannel$Type;
goto :goto_0
:cond_1
iget-object v1, p0, Lcom/discord/models/domain/ModelChannel;->type:Ljava/lang/String;
const/4 v0, -0x1
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v2
sparse-switch v2, :sswitch_data_0
:cond_2
:goto_1
packed-switch v0, :pswitch_data_0
sget-object v0, Lcom/discord/models/domain/ModelChannel$Type;->UNKNOWN:Lcom/discord/models/domain/ModelChannel$Type;
goto :goto_0
:sswitch_0
const-string v2, "text"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2
const/4 v0, 0x0
goto :goto_1
:sswitch_1
const-string v2, "voice"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2
const/4 v0, 0x1
goto :goto_1
:pswitch_0
sget-object v0, Lcom/discord/models/domain/ModelChannel$Type;->TEXT:Lcom/discord/models/domain/ModelChannel$Type;
goto :goto_0
:pswitch_1
sget-object v0, Lcom/discord/models/domain/ModelChannel$Type;->VOICE:Lcom/discord/models/domain/ModelChannel$Type;
goto :goto_0
:sswitch_data_0
.sparse-switch
0x36452d -> :sswitch_0
0x6b2e132 -> :sswitch_1
.end sparse-switch
:pswitch_data_0
.packed-switch 0x0
:pswitch_0
:pswitch_1
.end packed-switch
.end method
.method public getUserLimit()I
.locals 1
.prologue
iget v0, p0, Lcom/discord/models/domain/ModelChannel;->userLimit:I
return v0
.end method
.method public hashCode()I
.locals 20
.prologue
const/16 v15, 0x3b
.local v15, "PRIME":I
const/16 v16, 0x1
.local v16, "result":I
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getTopic()Ljava/lang/String;
move-result-object v13
.local v13, "$topic":Ljava/lang/String;
if-nez v13, :cond_0
const/16 v17, 0x2b
:goto_0
add-int/lit8 v16, v17, 0x3b
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getToken()Ljava/lang/String;
move-result-object v12
.local v12, "$token":Ljava/lang/String;
mul-int/lit8 v18, v16, 0x3b
if-nez v12, :cond_1
const/16 v17, 0x2b
:goto_1
add-int v16, v18, v17
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getType()Lcom/discord/models/domain/ModelChannel$Type;
move-result-object v14
.local v14, "$type":Lcom/discord/models/domain/ModelChannel$Type;
mul-int/lit8 v18, v16, 0x3b
if-nez v14, :cond_2
const/16 v17, 0x2b
:goto_2
add-int v16, v18, v17
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getRoles()Ljava/util/List;
move-result-object v11
.local v11, "$roles":Ljava/util/List;
mul-int/lit8 v18, v16, 0x3b
if-nez v11, :cond_3
const/16 v17, 0x2b
:goto_3
add-int v16, v18, v17
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getGuildId()J
move-result-wide v2
.local v2, "$guildId":J
mul-int/lit8 v17, v16, 0x3b
const/16 v18, 0x20
ushr-long v18, v2, v18
xor-long v18, v18, v2
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v18, v0
add-int v16, v17, v18
mul-int/lit8 v18, v16, 0x3b
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->isDefaultChannel()Z
move-result v17
if-eqz v17, :cond_4
const/16 v17, 0x4f
:goto_4
add-int v16, v18, v17
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getName()Ljava/lang/String;
move-result-object v8
.local v8, "$name":Ljava/lang/String;
mul-int/lit8 v18, v16, 0x3b
if-nez v8, :cond_5
const/16 v17, 0x2b
:goto_5
add-int v16, v18, v17
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getLastMessageId()J
move-result-wide v6
.local v6, "$lastMessageId":J
mul-int/lit8 v17, v16, 0x3b
const/16 v18, 0x20
ushr-long v18, v6, v18
xor-long v18, v18, v6
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v18, v0
add-int v16, v17, v18
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getId()J
move-result-wide v4
.local v4, "$id":J
mul-int/lit8 v17, v16, 0x3b
const/16 v18, 0x20
ushr-long v18, v4, v18
xor-long v18, v18, v4
move-wide/from16 v0, v18
long-to-int v0, v0
move/from16 v18, v0
add-int v16, v17, v18
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getRecipient()Lcom/discord/models/domain/ModelUser;
move-result-object v10
.local v10, "$recipient":Lcom/discord/models/domain/ModelUser;
mul-int/lit8 v18, v16, 0x3b
if-nez v10, :cond_6
const/16 v17, 0x2b
:goto_6
add-int v16, v18, v17
mul-int/lit8 v18, v16, 0x3b
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->isPrivate()Z
move-result v17
if-eqz v17, :cond_7
const/16 v17, 0x4f
:goto_7
add-int v16, v18, v17
mul-int/lit8 v17, v16, 0x3b
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getPosition()I
move-result v18
add-int v16, v17, v18
move-object/from16 v0, p0
iget-object v9, v0, Lcom/discord/models/domain/ModelChannel;->permissionOverwrites:Ljava/util/List;
.local v9, "$permissionOverwrites":Ljava/util/List;
mul-int/lit8 v18, v16, 0x3b
if-nez v9, :cond_8
const/16 v17, 0x2b
:goto_8
add-int v16, v18, v17
mul-int/lit8 v17, v16, 0x3b
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getUserLimit()I
move-result v18
add-int v16, v17, v18
mul-int/lit8 v17, v16, 0x3b
invoke-virtual/range {p0 .. p0}, Lcom/discord/models/domain/ModelChannel;->getBitrate()I
move-result v18
add-int v16, v17, v18
return v16
.end local v2 # "$guildId":J
.end local v4 # "$id":J
.end local v6 # "$lastMessageId":J
.end local v8 # "$name":Ljava/lang/String;
.end local v9 # "$permissionOverwrites":Ljava/util/List;
.end local v10 # "$recipient":Lcom/discord/models/domain/ModelUser;
.end local v11 # "$roles":Ljava/util/List;
.end local v12 # "$token":Ljava/lang/String;
.end local v14 # "$type":Lcom/discord/models/domain/ModelChannel$Type;
:cond_0
invoke-virtual {v13}, Ljava/lang/Object;->hashCode()I
move-result v17
goto/16 :goto_0
.restart local v12 # "$token":Ljava/lang/String;
:cond_1
invoke-virtual {v12}, Ljava/lang/Object;->hashCode()I
move-result v17
goto/16 :goto_1
.restart local v14 # "$type":Lcom/discord/models/domain/ModelChannel$Type;
:cond_2
invoke-virtual {v14}, Ljava/lang/Object;->hashCode()I
move-result v17
goto/16 :goto_2
.restart local v11 # "$roles":Ljava/util/List;
:cond_3
invoke-virtual {v11}, Ljava/lang/Object;->hashCode()I
move-result v17
goto/16 :goto_3
.restart local v2 # "$guildId":J
:cond_4
const/16 v17, 0x61
goto/16 :goto_4
.restart local v8 # "$name":Ljava/lang/String;
:cond_5
invoke-virtual {v8}, Ljava/lang/Object;->hashCode()I
move-result v17
goto/16 :goto_5
.restart local v4 # "$id":J
.restart local v6 # "$lastMessageId":J
.restart local v10 # "$recipient":Lcom/discord/models/domain/ModelUser;
:cond_6
invoke-virtual {v10}, Ljava/lang/Object;->hashCode()I
move-result v17
goto :goto_6
:cond_7
const/16 v17, 0x61
goto :goto_7
.restart local v9 # "$permissionOverwrites":Ljava/util/List;
:cond_8
invoke-virtual {v9}, Ljava/lang/Object;->hashCode()I
move-result v17
goto :goto_8
.end method
.method public isDefaultChannel()Z
.locals 1
.prologue
iget-boolean v0, p0, Lcom/discord/models/domain/ModelChannel;->isDefaultChannel:Z
return v0
.end method
.method public isGuildTextChannel()Z
.locals 2
.prologue
iget-boolean v0, p0, Lcom/discord/models/domain/ModelChannel;->isPrivate:Z
if-nez v0, :cond_0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->getType()Lcom/discord/models/domain/ModelChannel$Type;
move-result-object v0
sget-object v1, Lcom/discord/models/domain/ModelChannel$Type;->TEXT:Lcom/discord/models/domain/ModelChannel$Type;
if-ne v0, v1, :cond_0
const/4 v0, 0x1
:goto_0
return v0
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
.method public isPrivate()Z
.locals 1
.prologue
iget-boolean v0, p0, Lcom/discord/models/domain/ModelChannel;->isPrivate:Z
return v0
.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, "ModelChannel(topic="
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/ModelChannel;->getTopic()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, ", token="
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/ModelChannel;->getToken()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, ", type="
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/ModelChannel;->getType()Lcom/discord/models/domain/ModelChannel$Type;
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, ", roles="
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/ModelChannel;->getRoles()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, ", guildId="
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/ModelChannel;->getGuildId()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, ", isDefaultChannel="
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/ModelChannel;->isDefaultChannel()Z
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", name="
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/ModelChannel;->getName()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, ", lastMessageId="
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/ModelChannel;->getLastMessageId()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, ", 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/ModelChannel;->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, ", recipient="
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/ModelChannel;->getRecipient()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, ", isPrivate="
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/ModelChannel;->isPrivate()Z
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", position="
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/ModelChannel;->getPosition()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", permissionOverwrites="
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/ModelChannel;->permissionOverwrites:Ljava/util/List;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", userLimit="
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/ModelChannel;->getUserLimit()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", bitrate="
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/ModelChannel;->getBitrate()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", permissionOverwritesMap="
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/ModelChannel;->getPermissionOverwritesMap()Ljava/util/Map;
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, ")"
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