2021-06-27 20:44:35 +00:00
|
|
|
package com.discord.widgets.channels.threads.browser;
|
|
|
|
|
|
|
|
import a0.a.a.b;
|
|
|
|
import android.content.Context;
|
|
|
|
import android.graphics.Typeface;
|
|
|
|
import android.text.SpannableStringBuilder;
|
|
|
|
import android.text.format.DateUtils;
|
|
|
|
import android.text.style.CharacterStyle;
|
|
|
|
import android.text.style.ForegroundColorSpan;
|
|
|
|
import android.text.style.StyleSpan;
|
|
|
|
import android.util.AttributeSet;
|
|
|
|
import android.view.LayoutInflater;
|
|
|
|
import android.widget.FrameLayout;
|
|
|
|
import android.widget.ImageView;
|
|
|
|
import android.widget.TextView;
|
|
|
|
import c.d.b.a.a;
|
|
|
|
import com.airbnb.lottie.parser.AnimatableValueParser;
|
|
|
|
import com.discord.api.channel.Channel;
|
|
|
|
import com.discord.api.role.GuildRole;
|
|
|
|
import com.discord.api.thread.ThreadMetadata;
|
|
|
|
import com.discord.databinding.ThreadBrowserThreadViewBinding;
|
|
|
|
import com.discord.models.member.GuildMember;
|
2021-07-03 23:36:06 +00:00
|
|
|
import com.discord.models.message.Message;
|
2021-06-27 20:44:35 +00:00
|
|
|
import com.discord.models.user.CoreUser;
|
|
|
|
import com.discord.models.user.User;
|
|
|
|
import com.discord.simpleast.core.parser.Parser;
|
|
|
|
import com.discord.utilities.color.ColorCompat;
|
|
|
|
import com.discord.utilities.font.FontUtils;
|
|
|
|
import com.discord.utilities.icon.IconUtils;
|
2021-06-27 20:53:42 +00:00
|
|
|
import com.discord.utilities.message.MessageUtils;
|
2021-06-27 20:44:35 +00:00
|
|
|
import com.discord.utilities.spans.TypefaceSpanCompat;
|
|
|
|
import com.discord.utilities.textprocessing.AstRenderer;
|
|
|
|
import com.discord.utilities.textprocessing.DiscordParser;
|
|
|
|
import com.discord.utilities.textprocessing.MessageParseState;
|
|
|
|
import com.discord.utilities.textprocessing.MessageRenderContext;
|
|
|
|
import com.discord.utilities.time.ClockFactory;
|
|
|
|
import com.discord.utilities.time.TimeUtils;
|
|
|
|
import com.discord.utilities.view.text.SimpleDraweeSpanTextView;
|
|
|
|
import com.facebook.drawee.span.DraweeSpanStringBuilder;
|
|
|
|
import com.facebook.drawee.view.SimpleDraweeView;
|
|
|
|
import d0.g0.t;
|
|
|
|
import d0.z.d.m;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
import kotlin.NoWhenBranchMatchedException;
|
|
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
|
|
/* compiled from: ThreadBrowserThreadView.kt */
|
|
|
|
public final class ThreadBrowserThreadView extends FrameLayout {
|
|
|
|
private final ThreadBrowserThreadViewBinding binding;
|
|
|
|
|
|
|
|
/* compiled from: ThreadBrowserThreadView.kt */
|
|
|
|
public static abstract class ThreadData {
|
|
|
|
private final Channel channel;
|
|
|
|
private final Map<Long, GuildMember> guildMembers;
|
|
|
|
private final User owner;
|
|
|
|
|
|
|
|
/* compiled from: ThreadBrowserThreadView.kt */
|
|
|
|
public static final class ActiveThread extends ThreadData {
|
|
|
|
private final Channel channel;
|
|
|
|
private final Map<Long, String> channelNames;
|
|
|
|
private final Map<Long, GuildMember> guildMembers;
|
|
|
|
private final Map<Long, GuildRole> guildRoles;
|
2021-06-27 20:53:42 +00:00
|
|
|
private final Message message;
|
2021-06-27 20:44:35 +00:00
|
|
|
private final long myUserId;
|
|
|
|
private final User owner;
|
|
|
|
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
2021-06-27 20:53:42 +00:00
|
|
|
public ActiveThread(Channel channel, User user, Message message, long j, Map<Long, GuildMember> map, Map<Long, GuildRole> map2, Map<Long, String> map3) {
|
2021-06-27 20:44:35 +00:00
|
|
|
super(channel, user, map, null);
|
|
|
|
m.checkNotNullParameter(channel, "channel");
|
|
|
|
m.checkNotNullParameter(map, "guildMembers");
|
|
|
|
m.checkNotNullParameter(map2, "guildRoles");
|
|
|
|
m.checkNotNullParameter(map3, "channelNames");
|
|
|
|
this.channel = channel;
|
|
|
|
this.owner = user;
|
2021-06-27 20:53:42 +00:00
|
|
|
this.message = message;
|
2021-06-27 20:44:35 +00:00
|
|
|
this.myUserId = j;
|
|
|
|
this.guildMembers = map;
|
|
|
|
this.guildRoles = map2;
|
|
|
|
this.channelNames = map3;
|
|
|
|
}
|
|
|
|
|
2021-06-27 20:53:42 +00:00
|
|
|
public static /* synthetic */ ActiveThread copy$default(ActiveThread activeThread, Channel channel, User user, Message message, long j, Map map, Map map2, Map map3, int i, Object obj) {
|
|
|
|
return activeThread.copy((i & 1) != 0 ? activeThread.getChannel() : channel, (i & 2) != 0 ? activeThread.getOwner() : user, (i & 4) != 0 ? activeThread.message : message, (i & 8) != 0 ? activeThread.myUserId : j, (i & 16) != 0 ? activeThread.getGuildMembers() : map, (i & 32) != 0 ? activeThread.guildRoles : map2, (i & 64) != 0 ? activeThread.channelNames : map3);
|
2021-06-27 20:44:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public final Channel component1() {
|
|
|
|
return getChannel();
|
|
|
|
}
|
|
|
|
|
|
|
|
public final User component2() {
|
|
|
|
return getOwner();
|
|
|
|
}
|
|
|
|
|
2021-06-27 20:53:42 +00:00
|
|
|
public final Message component3() {
|
2021-06-27 20:44:35 +00:00
|
|
|
return this.message;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final long component4() {
|
|
|
|
return this.myUserId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final Map<Long, GuildMember> component5() {
|
|
|
|
return getGuildMembers();
|
|
|
|
}
|
|
|
|
|
|
|
|
public final Map<Long, GuildRole> component6() {
|
|
|
|
return this.guildRoles;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final Map<Long, String> component7() {
|
|
|
|
return this.channelNames;
|
|
|
|
}
|
|
|
|
|
2021-06-27 20:53:42 +00:00
|
|
|
public final ActiveThread copy(Channel channel, User user, Message message, long j, Map<Long, GuildMember> map, Map<Long, GuildRole> map2, Map<Long, String> map3) {
|
2021-06-27 20:44:35 +00:00
|
|
|
m.checkNotNullParameter(channel, "channel");
|
|
|
|
m.checkNotNullParameter(map, "guildMembers");
|
|
|
|
m.checkNotNullParameter(map2, "guildRoles");
|
|
|
|
m.checkNotNullParameter(map3, "channelNames");
|
2021-06-27 20:53:42 +00:00
|
|
|
return new ActiveThread(channel, user, message, j, map, map2, map3);
|
2021-06-27 20:44:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public boolean equals(Object obj) {
|
|
|
|
if (this == obj) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
if (!(obj instanceof ActiveThread)) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
ActiveThread activeThread = (ActiveThread) obj;
|
|
|
|
return m.areEqual(getChannel(), activeThread.getChannel()) && m.areEqual(getOwner(), activeThread.getOwner()) && m.areEqual(this.message, activeThread.message) && this.myUserId == activeThread.myUserId && m.areEqual(getGuildMembers(), activeThread.getGuildMembers()) && m.areEqual(this.guildRoles, activeThread.guildRoles) && m.areEqual(this.channelNames, activeThread.channelNames);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override // com.discord.widgets.channels.threads.browser.ThreadBrowserThreadView.ThreadData
|
|
|
|
public Channel getChannel() {
|
|
|
|
return this.channel;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final Map<Long, String> getChannelNames() {
|
|
|
|
return this.channelNames;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override // com.discord.widgets.channels.threads.browser.ThreadBrowserThreadView.ThreadData
|
|
|
|
public Map<Long, GuildMember> getGuildMembers() {
|
|
|
|
return this.guildMembers;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final Map<Long, GuildRole> getGuildRoles() {
|
|
|
|
return this.guildRoles;
|
|
|
|
}
|
|
|
|
|
2021-06-27 20:53:42 +00:00
|
|
|
public final Message getMessage() {
|
2021-06-27 20:44:35 +00:00
|
|
|
return this.message;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final long getMyUserId() {
|
|
|
|
return this.myUserId;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override // com.discord.widgets.channels.threads.browser.ThreadBrowserThreadView.ThreadData
|
|
|
|
public User getOwner() {
|
|
|
|
return this.owner;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int hashCode() {
|
|
|
|
Channel channel = getChannel();
|
|
|
|
int i = 0;
|
|
|
|
int hashCode = (channel != null ? channel.hashCode() : 0) * 31;
|
|
|
|
User owner = getOwner();
|
|
|
|
int hashCode2 = (hashCode + (owner != null ? owner.hashCode() : 0)) * 31;
|
2021-06-27 20:53:42 +00:00
|
|
|
Message message = this.message;
|
|
|
|
int a = (b.a(this.myUserId) + ((hashCode2 + (message != null ? message.hashCode() : 0)) * 31)) * 31;
|
2021-06-27 20:44:35 +00:00
|
|
|
Map<Long, GuildMember> guildMembers = getGuildMembers();
|
|
|
|
int hashCode3 = (a + (guildMembers != null ? guildMembers.hashCode() : 0)) * 31;
|
|
|
|
Map<Long, GuildRole> map = this.guildRoles;
|
|
|
|
int hashCode4 = (hashCode3 + (map != null ? map.hashCode() : 0)) * 31;
|
|
|
|
Map<Long, String> map2 = this.channelNames;
|
|
|
|
if (map2 != null) {
|
|
|
|
i = map2.hashCode();
|
|
|
|
}
|
|
|
|
return hashCode4 + i;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String toString() {
|
|
|
|
StringBuilder L = a.L("ActiveThread(channel=");
|
|
|
|
L.append(getChannel());
|
|
|
|
L.append(", owner=");
|
|
|
|
L.append(getOwner());
|
|
|
|
L.append(", message=");
|
|
|
|
L.append(this.message);
|
|
|
|
L.append(", myUserId=");
|
|
|
|
L.append(this.myUserId);
|
|
|
|
L.append(", guildMembers=");
|
|
|
|
L.append(getGuildMembers());
|
|
|
|
L.append(", guildRoles=");
|
|
|
|
L.append(this.guildRoles);
|
|
|
|
L.append(", channelNames=");
|
|
|
|
return a.F(L, this.channelNames, ")");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* compiled from: ThreadBrowserThreadView.kt */
|
|
|
|
public static final class ArchivedThread extends ThreadData {
|
|
|
|
private final Channel channel;
|
|
|
|
private final Map<Long, GuildMember> guildMembers;
|
|
|
|
private final User owner;
|
|
|
|
private final TimestampMode timestampMode;
|
|
|
|
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
|
|
public ArchivedThread(Channel channel, Map<Long, GuildMember> map, User user, TimestampMode timestampMode) {
|
|
|
|
super(channel, user, map, null);
|
|
|
|
m.checkNotNullParameter(channel, "channel");
|
|
|
|
m.checkNotNullParameter(map, "guildMembers");
|
|
|
|
m.checkNotNullParameter(timestampMode, "timestampMode");
|
|
|
|
this.channel = channel;
|
|
|
|
this.guildMembers = map;
|
|
|
|
this.owner = user;
|
|
|
|
this.timestampMode = timestampMode;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.widgets.channels.threads.browser.ThreadBrowserThreadView$ThreadData$ArchivedThread */
|
|
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
|
|
public static /* synthetic */ ArchivedThread copy$default(ArchivedThread archivedThread, Channel channel, Map map, User user, TimestampMode timestampMode, int i, Object obj) {
|
|
|
|
if ((i & 1) != 0) {
|
|
|
|
channel = archivedThread.getChannel();
|
|
|
|
}
|
|
|
|
if ((i & 2) != 0) {
|
|
|
|
map = archivedThread.getGuildMembers();
|
|
|
|
}
|
|
|
|
if ((i & 4) != 0) {
|
|
|
|
user = archivedThread.getOwner();
|
|
|
|
}
|
|
|
|
if ((i & 8) != 0) {
|
|
|
|
timestampMode = archivedThread.timestampMode;
|
|
|
|
}
|
|
|
|
return archivedThread.copy(channel, map, user, timestampMode);
|
|
|
|
}
|
|
|
|
|
|
|
|
public final Channel component1() {
|
|
|
|
return getChannel();
|
|
|
|
}
|
|
|
|
|
|
|
|
public final Map<Long, GuildMember> component2() {
|
|
|
|
return getGuildMembers();
|
|
|
|
}
|
|
|
|
|
|
|
|
public final User component3() {
|
|
|
|
return getOwner();
|
|
|
|
}
|
|
|
|
|
|
|
|
public final TimestampMode component4() {
|
|
|
|
return this.timestampMode;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final ArchivedThread copy(Channel channel, Map<Long, GuildMember> map, User user, TimestampMode timestampMode) {
|
|
|
|
m.checkNotNullParameter(channel, "channel");
|
|
|
|
m.checkNotNullParameter(map, "guildMembers");
|
|
|
|
m.checkNotNullParameter(timestampMode, "timestampMode");
|
|
|
|
return new ArchivedThread(channel, map, user, timestampMode);
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean equals(Object obj) {
|
|
|
|
if (this == obj) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
if (!(obj instanceof ArchivedThread)) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
ArchivedThread archivedThread = (ArchivedThread) obj;
|
|
|
|
return m.areEqual(getChannel(), archivedThread.getChannel()) && m.areEqual(getGuildMembers(), archivedThread.getGuildMembers()) && m.areEqual(getOwner(), archivedThread.getOwner()) && m.areEqual(this.timestampMode, archivedThread.timestampMode);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override // com.discord.widgets.channels.threads.browser.ThreadBrowserThreadView.ThreadData
|
|
|
|
public Channel getChannel() {
|
|
|
|
return this.channel;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override // com.discord.widgets.channels.threads.browser.ThreadBrowserThreadView.ThreadData
|
|
|
|
public Map<Long, GuildMember> getGuildMembers() {
|
|
|
|
return this.guildMembers;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override // com.discord.widgets.channels.threads.browser.ThreadBrowserThreadView.ThreadData
|
|
|
|
public User getOwner() {
|
|
|
|
return this.owner;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final TimestampMode getTimestampMode() {
|
|
|
|
return this.timestampMode;
|
|
|
|
}
|
|
|
|
|
|
|
|
public int hashCode() {
|
|
|
|
Channel channel = getChannel();
|
|
|
|
int i = 0;
|
|
|
|
int hashCode = (channel != null ? channel.hashCode() : 0) * 31;
|
|
|
|
Map<Long, GuildMember> guildMembers = getGuildMembers();
|
|
|
|
int hashCode2 = (hashCode + (guildMembers != null ? guildMembers.hashCode() : 0)) * 31;
|
|
|
|
User owner = getOwner();
|
|
|
|
int hashCode3 = (hashCode2 + (owner != null ? owner.hashCode() : 0)) * 31;
|
|
|
|
TimestampMode timestampMode = this.timestampMode;
|
|
|
|
if (timestampMode != null) {
|
|
|
|
i = timestampMode.hashCode();
|
|
|
|
}
|
|
|
|
return hashCode3 + i;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String toString() {
|
|
|
|
StringBuilder L = a.L("ArchivedThread(channel=");
|
|
|
|
L.append(getChannel());
|
|
|
|
L.append(", guildMembers=");
|
|
|
|
L.append(getGuildMembers());
|
|
|
|
L.append(", owner=");
|
|
|
|
L.append(getOwner());
|
|
|
|
L.append(", timestampMode=");
|
|
|
|
L.append(this.timestampMode);
|
|
|
|
L.append(")");
|
|
|
|
return L.toString();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private ThreadData(Channel channel, User user, Map<Long, GuildMember> map) {
|
|
|
|
this.channel = channel;
|
|
|
|
this.owner = user;
|
|
|
|
this.guildMembers = map;
|
|
|
|
}
|
|
|
|
|
|
|
|
public /* synthetic */ ThreadData(Channel channel, User user, Map map, DefaultConstructorMarker defaultConstructorMarker) {
|
|
|
|
this(channel, user, map);
|
|
|
|
}
|
|
|
|
|
|
|
|
public Channel getChannel() {
|
|
|
|
return this.channel;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Map<Long, GuildMember> getGuildMembers() {
|
|
|
|
return this.guildMembers;
|
|
|
|
}
|
|
|
|
|
|
|
|
public User getOwner() {
|
|
|
|
return this.owner;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* compiled from: ThreadBrowserThreadView.kt */
|
|
|
|
public enum TimestampMode {
|
|
|
|
ArchivedAt,
|
|
|
|
CreatedAt
|
|
|
|
}
|
|
|
|
|
|
|
|
public final /* synthetic */ class WhenMappings {
|
|
|
|
public static final /* synthetic */ int[] $EnumSwitchMapping$0;
|
|
|
|
public static final /* synthetic */ int[] $EnumSwitchMapping$1;
|
|
|
|
|
|
|
|
static {
|
|
|
|
TimestampMode.values();
|
|
|
|
int[] iArr = new int[2];
|
|
|
|
$EnumSwitchMapping$0 = iArr;
|
|
|
|
TimestampMode timestampMode = TimestampMode.ArchivedAt;
|
|
|
|
iArr[timestampMode.ordinal()] = 1;
|
|
|
|
TimestampMode timestampMode2 = TimestampMode.CreatedAt;
|
|
|
|
iArr[timestampMode2.ordinal()] = 2;
|
|
|
|
TimestampMode.values();
|
|
|
|
int[] iArr2 = new int[2];
|
|
|
|
$EnumSwitchMapping$1 = iArr2;
|
|
|
|
iArr2[timestampMode.ordinal()] = 1;
|
|
|
|
iArr2[timestampMode2.ordinal()] = 2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public ThreadBrowserThreadView(Context context) {
|
|
|
|
this(context, null, 0, 6, null);
|
|
|
|
}
|
|
|
|
|
|
|
|
public ThreadBrowserThreadView(Context context, AttributeSet attributeSet) {
|
|
|
|
this(context, attributeSet, 0, 4, null);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
|
|
public ThreadBrowserThreadView(Context context, AttributeSet attributeSet, int i) {
|
|
|
|
super(context, attributeSet, i);
|
|
|
|
m.checkNotNullParameter(context, "context");
|
2021-07-13 20:23:20 +00:00
|
|
|
LayoutInflater.from(context).inflate(2131558701, this);
|
|
|
|
int i2 = 2131365342;
|
|
|
|
SimpleDraweeView simpleDraweeView = (SimpleDraweeView) findViewById(2131365342);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (simpleDraweeView != null) {
|
2021-07-13 20:23:20 +00:00
|
|
|
i2 = 2131365371;
|
|
|
|
ImageView imageView = (ImageView) findViewById(2131365371);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (imageView != null) {
|
2021-07-13 20:23:20 +00:00
|
|
|
i2 = 2131365372;
|
|
|
|
FrameLayout frameLayout = (FrameLayout) findViewById(2131365372);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (frameLayout != null) {
|
2021-07-13 20:23:20 +00:00
|
|
|
i2 = 2131365373;
|
|
|
|
SimpleDraweeSpanTextView simpleDraweeSpanTextView = (SimpleDraweeSpanTextView) findViewById(2131365373);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (simpleDraweeSpanTextView != null) {
|
2021-07-13 20:23:20 +00:00
|
|
|
i2 = 2131365374;
|
|
|
|
TextView textView = (TextView) findViewById(2131365374);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (textView != null) {
|
2021-07-19 11:38:20 +00:00
|
|
|
i2 = 2131365405;
|
|
|
|
TextView textView2 = (TextView) findViewById(2131365405);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (textView2 != null) {
|
2021-07-19 11:38:20 +00:00
|
|
|
i2 = 2131365406;
|
|
|
|
TextView textView3 = (TextView) findViewById(2131365406);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (textView3 != null) {
|
|
|
|
ThreadBrowserThreadViewBinding threadBrowserThreadViewBinding = new ThreadBrowserThreadViewBinding(this, simpleDraweeView, imageView, frameLayout, simpleDraweeSpanTextView, textView, textView2, textView3);
|
|
|
|
m.checkNotNullExpressionValue(threadBrowserThreadViewBinding, "ThreadBrowserThreadViewB…ater.from(context), this)");
|
|
|
|
this.binding = threadBrowserThreadViewBinding;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
throw new NullPointerException("Missing required view with ID: ".concat(getResources().getResourceName(i2)));
|
|
|
|
}
|
|
|
|
|
|
|
|
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
|
|
|
|
public /* synthetic */ ThreadBrowserThreadView(Context context, AttributeSet attributeSet, int i, int i2, DefaultConstructorMarker defaultConstructorMarker) {
|
|
|
|
this(context, (i2 & 2) != 0 ? null : attributeSet, (i2 & 4) != 0 ? 0 : i);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final /* synthetic */ List access$getMemberCharacterStyles(ThreadBrowserThreadView threadBrowserThreadView, GuildMember guildMember) {
|
|
|
|
return threadBrowserThreadView.getMemberCharacterStyles(guildMember);
|
|
|
|
}
|
|
|
|
|
2021-07-03 23:36:06 +00:00
|
|
|
/* JADX WARNING: Removed duplicated region for block: B:24:0x00f7 */
|
2021-06-27 20:44:35 +00:00
|
|
|
private final void configureActiveThreadUI(ThreadData.ActiveThread activeThread) {
|
|
|
|
DraweeSpanStringBuilder draweeSpanStringBuilder;
|
|
|
|
String str;
|
2021-06-27 20:53:42 +00:00
|
|
|
Message message = activeThread.getMessage();
|
2021-06-27 20:44:35 +00:00
|
|
|
DraweeSpanStringBuilder draweeSpanStringBuilder2 = null;
|
2021-07-03 23:36:06 +00:00
|
|
|
String content = message != null ? message.getContent() : null;
|
|
|
|
if (message == null || content == null) {
|
2021-06-27 20:44:35 +00:00
|
|
|
TextView textView = this.binding.g;
|
|
|
|
m.checkNotNullExpressionValue(textView, "binding.threadTimestampSeparator");
|
|
|
|
textView.setVisibility(8);
|
|
|
|
TextView textView2 = this.binding.f;
|
|
|
|
m.checkNotNullExpressionValue(textView2, "binding.threadTimestamp");
|
|
|
|
textView2.setVisibility(8);
|
|
|
|
if (activeThread.getOwner() == null) {
|
|
|
|
SimpleDraweeSpanTextView simpleDraweeSpanTextView = this.binding.d;
|
|
|
|
m.checkNotNullExpressionValue(simpleDraweeSpanTextView, "binding.threadMessage");
|
2021-07-13 20:23:20 +00:00
|
|
|
simpleDraweeSpanTextView.setText(getContext().getString(2131894058));
|
2021-06-27 20:44:35 +00:00
|
|
|
configureAvatar(null);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
Context context = getContext();
|
|
|
|
m.checkNotNullExpressionValue(context, "context");
|
2021-07-19 11:38:20 +00:00
|
|
|
MessageRenderContext messageRenderContext = new MessageRenderContext(context, activeThread.getMyUserId(), true, MessageUtils.getNickOrUsernames$default(message, activeThread.getChannel(), activeThread.getGuildMembers(), null, 8, null), activeThread.getChannelNames(), activeThread.getGuildRoles(), 0, null, null, ColorCompat.getThemedColor(getContext(), 2130970183), 0, null, null, null, 15808, null);
|
2021-07-03 23:36:06 +00:00
|
|
|
com.discord.api.user.User author = activeThread.getMessage().getAuthor();
|
|
|
|
m.checkNotNull(author);
|
|
|
|
CoreUser coreUser = new CoreUser(author);
|
2021-07-13 20:23:20 +00:00
|
|
|
String string = message.hasStickers() ? getContext().getString(2131892752) : (message.hasAttachments() || message.hasEmbeds()) ? getContext().getString(2131892750) : null;
|
2021-06-27 20:44:35 +00:00
|
|
|
if (string != null) {
|
|
|
|
draweeSpanStringBuilder2 = new DraweeSpanStringBuilder();
|
|
|
|
draweeSpanStringBuilder2.append((CharSequence) (string + (char) 160));
|
|
|
|
draweeSpanStringBuilder2.setSpan(new StyleSpan(2), 0, string.length(), 33);
|
2021-07-03 23:36:06 +00:00
|
|
|
} else if (!t.isBlank(content)) {
|
2021-06-27 20:44:35 +00:00
|
|
|
str = "binding.threadTimestamp";
|
2021-07-03 23:36:06 +00:00
|
|
|
draweeSpanStringBuilder = AstRenderer.render(Parser.parse$default(DiscordParser.createParser$default(false, true, false, 4, null), content, MessageParseState.Companion.getInitialState(), null, 4, null), messageRenderContext);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (draweeSpanStringBuilder != null) {
|
|
|
|
GuildMember guildMember = activeThread.getGuildMembers().get(Long.valueOf(coreUser.getId()));
|
|
|
|
String nickOrUsername$default = GuildMember.Companion.getNickOrUsername$default(GuildMember.Companion, coreUser, guildMember, activeThread.getChannel(), null, 8, null);
|
2021-07-13 20:23:20 +00:00
|
|
|
draweeSpanStringBuilder.insert(0, (CharSequence) new SpannableStringBuilder(a.t(nickOrUsername$default, ": ")));
|
2021-06-27 20:44:35 +00:00
|
|
|
for (CharacterStyle characterStyle : getMemberCharacterStyles(guildMember)) {
|
|
|
|
draweeSpanStringBuilder.setSpan(characterStyle, 0, nickOrUsername$default.length(), 33);
|
|
|
|
}
|
|
|
|
this.binding.d.setDraweeSpanStringBuilder(draweeSpanStringBuilder);
|
|
|
|
}
|
|
|
|
TextView textView3 = this.binding.g;
|
|
|
|
m.checkNotNullExpressionValue(textView3, "binding.threadTimestampSeparator");
|
|
|
|
textView3.setVisibility(0);
|
|
|
|
TextView textView4 = this.binding.f;
|
|
|
|
m.checkNotNullExpressionValue(textView4, str);
|
|
|
|
textView4.setVisibility(0);
|
|
|
|
configureAvatar(coreUser);
|
|
|
|
TextView textView5 = this.binding.f;
|
|
|
|
m.checkNotNullExpressionValue(textView5, str);
|
2021-07-03 23:36:06 +00:00
|
|
|
textView5.setText(formatActivityTimestamp((message.getId() >>> 22) + 1420070400000L));
|
2021-06-27 20:44:35 +00:00
|
|
|
}
|
|
|
|
str = "binding.threadTimestamp";
|
|
|
|
draweeSpanStringBuilder = draweeSpanStringBuilder2;
|
|
|
|
if (draweeSpanStringBuilder != null) {
|
|
|
|
}
|
|
|
|
TextView textView3 = this.binding.g;
|
|
|
|
m.checkNotNullExpressionValue(textView3, "binding.threadTimestampSeparator");
|
|
|
|
textView3.setVisibility(0);
|
|
|
|
TextView textView4 = this.binding.f;
|
|
|
|
m.checkNotNullExpressionValue(textView4, str);
|
|
|
|
textView4.setVisibility(0);
|
|
|
|
configureAvatar(coreUser);
|
|
|
|
TextView textView5 = this.binding.f;
|
|
|
|
m.checkNotNullExpressionValue(textView5, str);
|
2021-07-03 23:36:06 +00:00
|
|
|
textView5.setText(formatActivityTimestamp((message.getId() >>> 22) + 1420070400000L));
|
2021-06-27 20:44:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private final void configureArchivedThreadUI(ThreadData.ArchivedThread archivedThread) {
|
|
|
|
long j;
|
|
|
|
int i;
|
2021-07-03 23:36:06 +00:00
|
|
|
ThreadMetadata y2 = archivedThread.getChannel().y();
|
|
|
|
if (y2 != null) {
|
2021-06-27 20:44:35 +00:00
|
|
|
int ordinal = archivedThread.getTimestampMode().ordinal();
|
|
|
|
if (ordinal == 0) {
|
2021-07-03 23:36:06 +00:00
|
|
|
j = TimeUtils.parseUTCDate(y2.a());
|
2021-06-27 20:44:35 +00:00
|
|
|
} else if (ordinal == 1) {
|
2021-07-03 23:36:06 +00:00
|
|
|
j = (archivedThread.getChannel().h() >>> 22) + 1420070400000L;
|
2021-06-27 20:44:35 +00:00
|
|
|
} else {
|
|
|
|
throw new NoWhenBranchMatchedException();
|
|
|
|
}
|
|
|
|
int ordinal2 = archivedThread.getTimestampMode().ordinal();
|
|
|
|
if (ordinal2 == 0) {
|
2021-07-13 20:23:20 +00:00
|
|
|
i = 2131894047;
|
2021-06-27 20:44:35 +00:00
|
|
|
} else if (ordinal2 == 1) {
|
2021-07-13 20:23:20 +00:00
|
|
|
i = 2131894049;
|
2021-06-27 20:44:35 +00:00
|
|
|
} else {
|
|
|
|
throw new NoWhenBranchMatchedException();
|
|
|
|
}
|
|
|
|
TextView textView = this.binding.f;
|
|
|
|
m.checkNotNullExpressionValue(textView, "binding.threadTimestamp");
|
|
|
|
Context context = getContext();
|
|
|
|
m.checkNotNullExpressionValue(context, "context");
|
|
|
|
textView.setText(c.a.l.b.g(context, i, new Object[]{formatDateTimestamp(j)}, null, 4));
|
|
|
|
configureAvatar(archivedThread.getOwner());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private final void configureAvatar(User user) {
|
|
|
|
if (user == null) {
|
2021-07-13 20:23:20 +00:00
|
|
|
ImageView imageView = this.binding.f1638c;
|
2021-06-27 20:44:35 +00:00
|
|
|
m.checkNotNullExpressionValue(imageView, "binding.threadIcon");
|
|
|
|
imageView.setVisibility(0);
|
|
|
|
SimpleDraweeView simpleDraweeView = this.binding.b;
|
|
|
|
m.checkNotNullExpressionValue(simpleDraweeView, "binding.threadAvatar");
|
|
|
|
simpleDraweeView.setVisibility(8);
|
|
|
|
return;
|
|
|
|
}
|
2021-07-13 20:23:20 +00:00
|
|
|
ImageView imageView2 = this.binding.f1638c;
|
2021-06-27 20:44:35 +00:00
|
|
|
m.checkNotNullExpressionValue(imageView2, "binding.threadIcon");
|
|
|
|
imageView2.setVisibility(8);
|
|
|
|
SimpleDraweeView simpleDraweeView2 = this.binding.b;
|
|
|
|
m.checkNotNullExpressionValue(simpleDraweeView2, "binding.threadAvatar");
|
|
|
|
simpleDraweeView2.setVisibility(0);
|
|
|
|
SimpleDraweeView simpleDraweeView3 = this.binding.b;
|
|
|
|
m.checkNotNullExpressionValue(simpleDraweeView3, "binding.threadAvatar");
|
|
|
|
IconUtils.setIcon$default(simpleDraweeView3, user, 2131165295, null, null, null, 56, null);
|
|
|
|
}
|
|
|
|
|
|
|
|
private final CharSequence formatActivityTimestamp(long j) {
|
|
|
|
long currentTimeMillis = ClockFactory.get().currentTimeMillis() - j;
|
|
|
|
if (currentTimeMillis < 60000) {
|
|
|
|
Context context = getContext();
|
|
|
|
m.checkNotNullExpressionValue(context, "context");
|
2021-07-13 20:23:20 +00:00
|
|
|
return c.a.l.b.g(context, 2131894067, new Object[]{1}, null, 4);
|
2021-06-27 20:44:35 +00:00
|
|
|
} else if (currentTimeMillis < 3600000) {
|
|
|
|
Context context2 = getContext();
|
|
|
|
m.checkNotNullExpressionValue(context2, "context");
|
2021-07-13 20:23:20 +00:00
|
|
|
return c.a.l.b.g(context2, 2131894067, new Object[]{Long.valueOf(currentTimeMillis / 60000)}, null, 4);
|
2021-06-27 20:44:35 +00:00
|
|
|
} else if (currentTimeMillis < 86400000) {
|
|
|
|
Context context3 = getContext();
|
|
|
|
m.checkNotNullExpressionValue(context3, "context");
|
2021-07-13 20:23:20 +00:00
|
|
|
return c.a.l.b.g(context3, 2131894066, new Object[]{Long.valueOf(currentTimeMillis / 3600000)}, null, 4);
|
2021-06-27 20:44:35 +00:00
|
|
|
} else if (currentTimeMillis < 2592000000L) {
|
|
|
|
Context context4 = getContext();
|
|
|
|
m.checkNotNullExpressionValue(context4, "context");
|
2021-07-13 20:23:20 +00:00
|
|
|
return c.a.l.b.g(context4, 2131894065, new Object[]{Long.valueOf(currentTimeMillis / 86400000)}, null, 4);
|
2021-06-27 20:44:35 +00:00
|
|
|
} else {
|
2021-07-13 20:23:20 +00:00
|
|
|
String string = getContext().getString(2131894068);
|
2021-06-27 20:44:35 +00:00
|
|
|
m.checkNotNullExpressionValue(string, "context.getString(R.stri…imestamp_more_than_month)");
|
|
|
|
return string;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private final CharSequence formatDateTimestamp(long j) {
|
|
|
|
long currentTimeMillis = ClockFactory.get().currentTimeMillis() - j;
|
|
|
|
if (currentTimeMillis < 60000) {
|
|
|
|
Context context = getContext();
|
|
|
|
m.checkNotNullExpressionValue(context, "context");
|
2021-07-13 20:23:20 +00:00
|
|
|
return c.a.l.b.g(context, 2131894067, new Object[]{1}, null, 4);
|
2021-06-27 20:44:35 +00:00
|
|
|
} else if (currentTimeMillis < 3600000) {
|
|
|
|
Context context2 = getContext();
|
|
|
|
m.checkNotNullExpressionValue(context2, "context");
|
2021-07-13 20:23:20 +00:00
|
|
|
return c.a.l.b.g(context2, 2131894067, new Object[]{Long.valueOf(currentTimeMillis / 60000)}, null, 4);
|
2021-06-27 20:44:35 +00:00
|
|
|
} else if (currentTimeMillis < 86400000) {
|
|
|
|
Context context3 = getContext();
|
|
|
|
m.checkNotNullExpressionValue(context3, "context");
|
2021-07-13 20:23:20 +00:00
|
|
|
return c.a.l.b.g(context3, 2131894066, new Object[]{Long.valueOf(currentTimeMillis / 3600000)}, null, 4);
|
2021-06-27 20:44:35 +00:00
|
|
|
} else {
|
|
|
|
String formatDateTime = DateUtils.formatDateTime(getContext(), j, 131076);
|
|
|
|
m.checkNotNullExpressionValue(formatDateTime, "DateUtils.formatDateTime…teUtils.FORMAT_SHOW_YEAR)");
|
|
|
|
return formatDateTime;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private final List<CharacterStyle> getMemberCharacterStyles(GuildMember guildMember) {
|
|
|
|
ArrayList arrayList = new ArrayList();
|
|
|
|
FontUtils fontUtils = FontUtils.INSTANCE;
|
|
|
|
Context context = getContext();
|
|
|
|
m.checkNotNullExpressionValue(context, "context");
|
|
|
|
Typeface themedFont = fontUtils.getThemedFont(context, 2130969326);
|
|
|
|
if (themedFont != null) {
|
|
|
|
arrayList.add(new TypefaceSpanCompat(themedFont));
|
|
|
|
}
|
|
|
|
if (guildMember != null) {
|
|
|
|
arrayList.add(new ForegroundColorSpan(GuildMember.Companion.getColor(guildMember, ColorCompat.getThemedColor(getContext(), 2130968932))));
|
|
|
|
}
|
|
|
|
return arrayList;
|
|
|
|
}
|
|
|
|
|
|
|
|
public final void setThreadData(ThreadData threadData) {
|
|
|
|
m.checkNotNullParameter(threadData, "threadData");
|
|
|
|
TextView textView = this.binding.e;
|
|
|
|
m.checkNotNullExpressionValue(textView, "binding.threadName");
|
|
|
|
Channel channel = threadData.getChannel();
|
|
|
|
Context context = getContext();
|
|
|
|
m.checkNotNullExpressionValue(context, "context");
|
|
|
|
textView.setText(AnimatableValueParser.z0(channel, context, false));
|
|
|
|
User owner = threadData.getOwner();
|
|
|
|
if (owner == null) {
|
2021-07-03 23:36:06 +00:00
|
|
|
owner = new CoreUser(threadData.getChannel().q(), null, null, null, false, false, 0, null, 0, 0, null, null, 4094, null);
|
2021-06-27 20:44:35 +00:00
|
|
|
}
|
2021-07-13 20:23:20 +00:00
|
|
|
GuildMember guildMember = (GuildMember) a.d(owner, threadData.getGuildMembers());
|
2021-06-27 20:44:35 +00:00
|
|
|
String nickOrUsername$default = GuildMember.Companion.getNickOrUsername$default(GuildMember.Companion, owner, guildMember, threadData.getChannel(), null, 8, null);
|
|
|
|
SimpleDraweeSpanTextView simpleDraweeSpanTextView = this.binding.d;
|
|
|
|
m.checkNotNullExpressionValue(simpleDraweeSpanTextView, "binding.threadMessage");
|
2021-07-13 20:23:20 +00:00
|
|
|
c.a.l.b.l(simpleDraweeSpanTextView, 2131894064, new Object[0], new ThreadBrowserThreadView$setThreadData$1(this, nickOrUsername$default, guildMember));
|
2021-06-27 20:44:35 +00:00
|
|
|
if (threadData instanceof ThreadData.ActiveThread) {
|
|
|
|
configureActiveThreadUI((ThreadData.ActiveThread) threadData);
|
|
|
|
} else if (threadData instanceof ThreadData.ArchivedThread) {
|
|
|
|
configureArchivedThreadUI((ThreadData.ArchivedThread) threadData);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|