apkfuckery/com.discord/smali/com/discord/widgets/channels/memberlist/PrivateChannelMemberListItemGeneratorKt.smali
2020-04-17 19:35:24 +02:00

369 lines
10 KiB
Smali

.class public final Lcom/discord/widgets/channels/memberlist/PrivateChannelMemberListItemGeneratorKt;
.super Ljava/lang/Object;
.source "PrivateChannelMemberListItemGenerator.kt"
# direct methods
.method public static final createGroupDmHeader(I)Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$Header;
.locals 3
new-instance v0, Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$Header;
sget-object v1, Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$Header$Type;->GROUP_DM:Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$Header$Type;
const-string v2, "%group_header_key"
invoke-direct {v0, v2, v1, p0}, Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$Header;-><init>(Ljava/lang/String;Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$Header$Type;I)V
return-object v0
.end method
.method public static final createMemberListItem(Lcom/discord/models/domain/ModelUser;Lcom/discord/models/domain/ModelPresence;ZLjava/lang/String;Z)Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$Member;
.locals 15
if-eqz p3, :cond_0
move-object/from16 v4, p3
goto :goto_0
:cond_0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelUser;->getUsername()Ljava/lang/String;
move-result-object v0
move-object v4, v0
:goto_0
const/4 v0, 0x0
const/4 v1, 0x2
const/4 v2, 0x0
move-object v3, p0
invoke-static {p0, v0, v1, v2}, Lcom/discord/utilities/icon/IconUtils;->getForUser$default(Lcom/discord/models/domain/ModelUser;ZILjava/lang/Object;)Ljava/lang/String;
move-result-object v10
invoke-virtual {p0}, Lcom/discord/models/domain/ModelUser;->isSystem()Z
move-result v0
if-eqz v0, :cond_1
const v0, 0x7f1213b3
goto :goto_1
:cond_1
const v0, 0x7f120340
:goto_1
new-instance v14, Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$Member;
invoke-virtual {p0}, Lcom/discord/models/domain/ModelUser;->getId()J
move-result-wide v5
const-string v1, "name"
invoke-static {v4, v1}, Lz/u/b/j;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p0}, Lcom/discord/models/domain/ModelUser;->isBot()Z
move-result v7
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelUser;->isVerifiedBot()Z
move-result v8
const/4 v9, 0x0
const/4 v12, 0x0
move-object v1, v14
move-wide v2, v5
move v5, v7
move-object v6, v0
move v7, v8
move-object/from16 v8, p1
move/from16 v11, p2
move/from16 v13, p4
invoke-direct/range {v1 .. v13}, Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$Member;-><init>(JLjava/lang/String;ZLjava/lang/Integer;ZLcom/discord/models/domain/ModelPresence;Ljava/lang/Integer;Ljava/lang/String;ZLjava/lang/String;Z)V
return-object v14
.end method
.method public static final generateGroupDmMemberListItems(Lcom/discord/models/domain/ModelChannel;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Z)Lcom/discord/widgets/channels/memberlist/WidgetChannelMembersListViewModel$MemberList;
.locals 14
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/discord/models/domain/ModelChannel;",
"Ljava/util/Map<",
"Ljava/lang/Long;",
"+",
"Lcom/discord/models/domain/ModelUser;",
">;",
"Ljava/util/Map<",
"Ljava/lang/Long;",
"Lcom/discord/models/domain/ModelPresence;",
">;",
"Ljava/util/Map<",
"Ljava/lang/Long;",
"Lcom/discord/models/domain/ModelApplicationStream;",
">;Z)",
"Lcom/discord/widgets/channels/memberlist/WidgetChannelMembersListViewModel$MemberList;"
}
.end annotation
move-object/from16 v0, p2
move-object/from16 v1, p3
const/4 v2, 0x0
if-eqz p0, :cond_9
if-eqz p1, :cond_8
if-eqz v0, :cond_7
if-eqz v1, :cond_6
new-instance v3, Ljava/util/TreeMap;
sget-object v4, Lcom/discord/widgets/channels/memberlist/PrivateChannelMemberListItemGeneratorKt$generateGroupDmMemberListItems$memberItems$1;->INSTANCE:Lcom/discord/widgets/channels/memberlist/PrivateChannelMemberListItemGeneratorKt$generateGroupDmMemberListItems$memberItems$1;
if-eqz v4, :cond_0
new-instance v5, Lcom/discord/widgets/channels/memberlist/PrivateChannelMemberListItemGeneratorKt$sam$java_util_Comparator$0;
invoke-direct {v5, v4}, Lcom/discord/widgets/channels/memberlist/PrivateChannelMemberListItemGeneratorKt$sam$java_util_Comparator$0;-><init>(Lkotlin/jvm/functions/Function2;)V
move-object v4, v5
:cond_0
check-cast v4, Ljava/util/Comparator;
invoke-direct {v3, v4}, Ljava/util/TreeMap;-><init>(Ljava/util/Comparator;)V
invoke-interface {p1}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v4
invoke-interface {v4}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v4
:goto_0
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v5
const/4 v6, 0x0
if-eqz v5, :cond_3
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcom/discord/models/domain/ModelUser;
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v5}, Lcom/discord/models/domain/ModelUser;->getUsernameLower()Ljava/lang/String;
move-result-object v8
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Lcom/discord/models/domain/ModelUser;->getDiscriminatorWithPadding()Ljava/lang/String;
move-result-object v8
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->getNicks()Ljava/util/Map;
move-result-object v8
if-eqz v8, :cond_1
invoke-static {v5, v8}, Lf/e/b/a/a;->a(Lcom/discord/models/domain/ModelUser;Ljava/util/Map;)Ljava/lang/Object;
move-result-object v8
check-cast v8, Lcom/discord/models/domain/ModelChannel$RecipientNick;
if-eqz v8, :cond_1
invoke-virtual {v8}, Lcom/discord/models/domain/ModelChannel$RecipientNick;->getNick()Ljava/lang/String;
move-result-object v8
goto :goto_1
:cond_1
move-object v8, v2
:goto_1
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->getOwnerId()J
move-result-wide v9
invoke-virtual {v5}, Lcom/discord/models/domain/ModelUser;->getId()J
move-result-wide v11
cmp-long v13, v9, v11
if-nez v13, :cond_2
const/4 v6, 0x1
:cond_2
invoke-static {v5, v0}, Lf/e/b/a/a;->a(Lcom/discord/models/domain/ModelUser;Ljava/util/Map;)Ljava/lang/Object;
move-result-object v9
check-cast v9, Lcom/discord/models/domain/ModelPresence;
invoke-virtual {v5}, Lcom/discord/models/domain/ModelUser;->getId()J
move-result-wide v10
invoke-static {v10, v11}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v10
invoke-interface {v1, v10}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v10
invoke-static {v5, v9, v6, v8, v10}, Lcom/discord/widgets/channels/memberlist/PrivateChannelMemberListItemGeneratorKt;->createMemberListItem(Lcom/discord/models/domain/ModelUser;Lcom/discord/models/domain/ModelPresence;ZLjava/lang/String;Z)Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$Member;
move-result-object v5
invoke-interface {v3, v7, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_0
:cond_3
invoke-interface {p1}, Ljava/util/Map;->size()I
move-result v0
new-instance v1, Ljava/util/ArrayList;
add-int/lit8 v2, v0, 0x1
invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(I)V
if-eqz p4, :cond_5
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->isGroup()Z
move-result v2
if-eqz v2, :cond_4
const v2, 0x7f120870
goto :goto_2
:cond_4
const v2, 0x7f1204aa
:goto_2
new-instance v4, Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$AddMember;
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->getId()J
move-result-wide v7
invoke-static {v7, v8}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v5
invoke-direct {v4, v5, v2}, Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$AddMember;-><init>(Ljava/lang/String;I)V
invoke-virtual {v1, v6, v4}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
:cond_5
invoke-static {v0}, Lcom/discord/widgets/channels/memberlist/PrivateChannelMemberListItemGeneratorKt;->createGroupDmHeader(I)Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$Header;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
invoke-virtual {v3}, Ljava/util/TreeMap;->values()Ljava/util/Collection;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z
new-instance v0, Lcom/discord/widgets/channels/memberlist/PrivateChannelMemberListItems;
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->getId()J
move-result-wide v2
invoke-static {v2, v3}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v2
invoke-direct {v0, v2, v1}, Lcom/discord/widgets/channels/memberlist/PrivateChannelMemberListItems;-><init>(Ljava/lang/String;Ljava/util/List;)V
return-object v0
:cond_6
const-string v0, "applicationStreams"
invoke-static {v0}, Lz/u/b/j;->a(Ljava/lang/String;)V
throw v2
:cond_7
const-string v0, "presences"
invoke-static {v0}, Lz/u/b/j;->a(Ljava/lang/String;)V
throw v2
:cond_8
const-string v0, "users"
invoke-static {v0}, Lz/u/b/j;->a(Ljava/lang/String;)V
throw v2
:cond_9
const-string v0, "channel"
invoke-static {v0}, Lz/u/b/j;->a(Ljava/lang/String;)V
throw v2
.end method