apkfuckery/com.discord/smali/com/discord/widgets/channels/memberlist/PrivateChannelMemberListItemGeneratorKt.smali

369 lines
10 KiB
Smali
Raw Normal View History

2020-03-03 02:12:30 +00:00
.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;
2020-04-17 17:35:24 +00:00
.locals 15
2020-03-03 02:12:30 +00:00
if-eqz p3, :cond_0
2020-04-17 17:35:24 +00:00
move-object/from16 v4, p3
2020-03-03 02:12:30 +00:00
goto :goto_0
:cond_0
invoke-virtual {p0}, Lcom/discord/models/domain/ModelUser;->getUsername()Ljava/lang/String;
2020-04-17 17:35:24 +00:00
move-result-object v0
move-object v4, v0
2020-03-03 02:12:30 +00:00
:goto_0
2020-04-17 17:35:24 +00:00
const/4 v0, 0x0
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
const/4 v1, 0x2
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
const/4 v2, 0x0
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
move-object v3, p0
2020-04-11 15:34:05 +00:00
2020-04-17 17:35:24 +00:00
invoke-static {p0, v0, v1, v2}, Lcom/discord/utilities/icon/IconUtils;->getForUser$default(Lcom/discord/models/domain/ModelUser;ZILjava/lang/Object;)Ljava/lang/String;
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
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
2020-04-11 15:34:05 +00:00
2020-04-17 17:35:24 +00:00
:cond_1
const v0, 0x7f120340
:goto_1
new-instance v14, Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$Member;
2020-03-03 02:12:30 +00:00
invoke-virtual {p0}, Lcom/discord/models/domain/ModelUser;->getId()J
2020-04-17 17:35:24 +00:00
move-result-wide v5
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
const-string v1, "name"
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
invoke-static {v4, v1}, Lz/u/b/j;->checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
2020-03-03 02:12:30 +00:00
invoke-virtual {p0}, Lcom/discord/models/domain/ModelUser;->isBot()Z
2020-04-17 17:35:24 +00:00
move-result v7
2020-04-11 15:34:05 +00:00
2020-04-17 17:35:24 +00:00
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
2020-03-03 02:12:30 +00:00
const/4 v9, 0x0
2020-04-17 17:35:24 +00:00
const/4 v12, 0x0
move-object v1, v14
move-wide v2, v5
move v5, v7
move-object v6, v0
move v7, v8
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
move-object/from16 v8, p1
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
move/from16 v11, p2
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
move/from16 v13, p4
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
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
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
return-object v14
2020-03-03 02:12:30 +00:00
.end method
2020-04-07 08:23:55 +00:00
.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
2020-03-03 02:12:30 +00:00
.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;",
2020-04-07 08:23:55 +00:00
">;Z)",
2020-03-03 02:12:30 +00:00
"Lcom/discord/widgets/channels/memberlist/WidgetChannelMembersListViewModel$MemberList;"
}
.end annotation
2020-04-07 08:23:55 +00:00
move-object/from16 v0, p2
move-object/from16 v1, p3
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
const/4 v2, 0x0
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
if-eqz p0, :cond_9
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
if-eqz p1, :cond_8
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
if-eqz v0, :cond_7
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
if-eqz v1, :cond_6
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
new-instance v3, Ljava/util/TreeMap;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
sget-object v4, Lcom/discord/widgets/channels/memberlist/PrivateChannelMemberListItemGeneratorKt$generateGroupDmMemberListItems$memberItems$1;->INSTANCE:Lcom/discord/widgets/channels/memberlist/PrivateChannelMemberListItemGeneratorKt$generateGroupDmMemberListItems$memberItems$1;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
if-eqz v4, :cond_0
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
new-instance v5, Lcom/discord/widgets/channels/memberlist/PrivateChannelMemberListItemGeneratorKt$sam$java_util_Comparator$0;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
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
2020-03-03 02:12:30 +00:00
:cond_0
2020-04-07 08:23:55 +00:00
check-cast v4, Ljava/util/Comparator;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-direct {v3, v4}, Ljava/util/TreeMap;-><init>(Ljava/util/Comparator;)V
2020-03-03 02:12:30 +00:00
invoke-interface {p1}, Ljava/util/Map;->values()Ljava/util/Collection;
2020-04-07 08:23:55 +00:00
move-result-object v4
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-interface {v4}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-object v4
2020-03-03 02:12:30 +00:00
:goto_0
2020-04-07 08:23:55 +00:00
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result v5
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
const/4 v6, 0x0
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
if-eqz v5, :cond_3
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-object v5
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
check-cast v5, Lcom/discord/models/domain/ModelUser;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
new-instance v7, Ljava/lang/StringBuilder;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-virtual {v5}, Lcom/discord/models/domain/ModelUser;->getUsernameLower()Ljava/lang/String;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-object v8
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-virtual {v5}, Lcom/discord/models/domain/ModelUser;->getDiscriminatorWithPadding()Ljava/lang/String;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-object v8
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
2020-03-03 02:12:30 +00:00
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->getNicks()Ljava/util/Map;
2020-04-07 08:23:55 +00:00
move-result-object v8
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
if-eqz v8, :cond_1
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
invoke-static {v5, v8}, Lf/e/b/a/a;->a(Lcom/discord/models/domain/ModelUser;Ljava/util/Map;)Ljava/lang/Object;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-object v8
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
check-cast v8, Lcom/discord/models/domain/ModelChannel$RecipientNick;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
if-eqz v8, :cond_1
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-virtual {v8}, Lcom/discord/models/domain/ModelChannel$RecipientNick;->getNick()Ljava/lang/String;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-object v8
2020-03-03 02:12:30 +00:00
goto :goto_1
:cond_1
2020-04-07 08:23:55 +00:00
move-object v8, v2
2020-03-03 02:12:30 +00:00
:goto_1
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->getOwnerId()J
2020-04-07 08:23:55 +00:00
move-result-wide v9
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-virtual {v5}, Lcom/discord/models/domain/ModelUser;->getId()J
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-wide v11
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
cmp-long v13, v9, v11
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
if-nez v13, :cond_2
2020-03-03 02:12:30 +00:00
const/4 v6, 0x1
:cond_2
2020-04-17 17:35:24 +00:00
invoke-static {v5, v0}, Lf/e/b/a/a;->a(Lcom/discord/models/domain/ModelUser;Ljava/util/Map;)Ljava/lang/Object;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-object v9
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
check-cast v9, Lcom/discord/models/domain/ModelPresence;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-virtual {v5}, Lcom/discord/models/domain/ModelUser;->getId()J
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-wide v10
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-static {v10, v11}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-object v10
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-interface {v1, v10}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result v10
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
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;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-object v5
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-interface {v3, v7, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
2020-03-03 02:12:30 +00:00
goto :goto_0
:cond_3
invoke-interface {p1}, Ljava/util/Map;->size()I
2020-04-07 08:23:55 +00:00
move-result v0
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
new-instance v1, Ljava/util/ArrayList;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
add-int/lit8 v2, v0, 0x1
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-direct {v1, v2}, Ljava/util/ArrayList;-><init>(I)V
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
if-eqz p4, :cond_5
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->isGroup()Z
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result v2
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
if-eqz v2, :cond_4
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
const v2, 0x7f120870
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
goto :goto_2
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
:cond_4
2020-04-17 17:35:24 +00:00
const v2, 0x7f1204aa
2020-04-07 08:23:55 +00:00
:goto_2
new-instance v4, Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$AddMember;
2020-03-03 02:12:30 +00:00
invoke-virtual {p0}, Lcom/discord/models/domain/ModelChannel;->getId()J
2020-04-07 08:23:55 +00:00
move-result-wide v7
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-static {v7, v8}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-object v5
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-direct {v4, v5, v2}, Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$AddMember;-><init>(Ljava/lang/String;I)V
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-virtual {v1, v6, v4}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
:cond_5
invoke-static {v0}, Lcom/discord/widgets/channels/memberlist/PrivateChannelMemberListItemGeneratorKt;->createGroupDmHeader(I)Lcom/discord/widgets/channels/memberlist/adapter/ChannelMembersListAdapter$Item$Header;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-object v0
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-virtual {v1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
invoke-virtual {v3}, Ljava/util/TreeMap;->values()Ljava/util/Collection;
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
move-result-object v0
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
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
2020-03-03 02:12:30 +00:00
:cond_6
2020-04-07 08:23:55 +00:00
const-string v0, "applicationStreams"
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
invoke-static {v0}, Lz/u/b/j;->a(Ljava/lang/String;)V
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
throw v2
2020-03-03 02:12:30 +00:00
:cond_7
2020-04-07 08:23:55 +00:00
const-string v0, "presences"
2020-04-17 17:35:24 +00:00
invoke-static {v0}, Lz/u/b/j;->a(Ljava/lang/String;)V
2020-04-07 08:23:55 +00:00
throw v2
:cond_8
const-string v0, "users"
2020-04-17 17:35:24 +00:00
invoke-static {v0}, Lz/u/b/j;->a(Ljava/lang/String;)V
2020-04-07 08:23:55 +00:00
throw v2
:cond_9
const-string v0, "channel"
2020-03-03 02:12:30 +00:00
2020-04-17 17:35:24 +00:00
invoke-static {v0}, Lz/u/b/j;->a(Ljava/lang/String;)V
2020-03-03 02:12:30 +00:00
2020-04-07 08:23:55 +00:00
throw v2
2020-03-03 02:12:30 +00:00
.end method