158 lines
8.6 KiB
Java
158 lines
8.6 KiB
Java
package com.discord.widgets.forums;
|
|
|
|
import android.content.Context;
|
|
import b.a.k.b;
|
|
import com.discord.R;
|
|
import com.discord.api.channel.Channel;
|
|
import com.discord.api.message.reaction.MessageReaction;
|
|
import com.discord.api.message.reaction.MessageReactionEmoji;
|
|
import com.discord.models.domain.emoji.ModelEmojiUnicode;
|
|
import com.discord.models.experiments.domain.Experiment;
|
|
import com.discord.models.message.Message;
|
|
import com.discord.stores.ArchivedThreadsStore;
|
|
import com.discord.stores.StoreChannels;
|
|
import com.discord.stores.StoreChannelsSelected;
|
|
import com.discord.stores.StoreEmoji;
|
|
import com.discord.stores.StoreExperiments;
|
|
import com.discord.stores.StoreStream;
|
|
import com.discord.stores.updates.ObservationDeck;
|
|
import com.discord.stores.updates.ObservationDeckProvider;
|
|
import com.discord.utilities.time.ClockFactory;
|
|
import com.discord.utilities.time.TimeUtils;
|
|
import d0.t.u;
|
|
import d0.z.d.m;
|
|
import java.util.Comparator;
|
|
import java.util.List;
|
|
import rx.Observable;
|
|
/* compiled from: ForumUtils.kt */
|
|
/* loaded from: classes2.dex */
|
|
public final class ForumUtils {
|
|
public static final ForumUtils INSTANCE = new ForumUtils();
|
|
private static final long ONE_DAY_IN_MILLIS = 86400000;
|
|
private static final long ONE_HOUR_IN_MILLIS = 3600000;
|
|
private static final String PLACEHOLDER_EMOJI_KEY = "heart";
|
|
private static final long THIRTY_DAYS_IN_MILLIS = 2592000000L;
|
|
|
|
private ForumUtils() {
|
|
}
|
|
|
|
public static final /* synthetic */ String access$getPlaceholderReactionName(ForumUtils forumUtils, StoreEmoji storeEmoji) {
|
|
return forumUtils.getPlaceholderReactionName(storeEmoji);
|
|
}
|
|
|
|
public static /* synthetic */ boolean canAccessRedesignedForumChannels$default(ForumUtils forumUtils, long j, StoreExperiments storeExperiments, int i, Object obj) {
|
|
if ((i & 2) != 0) {
|
|
storeExperiments = StoreStream.Companion.getExperiments();
|
|
}
|
|
return forumUtils.canAccessRedesignedForumChannels(j, storeExperiments);
|
|
}
|
|
|
|
private final Comparator<MessageReaction> getMessageReactionComparator(StoreEmoji storeEmoji) {
|
|
return new ForumUtils$getMessageReactionComparator$1(storeEmoji);
|
|
}
|
|
|
|
private final String getPlaceholderReactionName(StoreEmoji storeEmoji) {
|
|
MessageReactionEmoji b2;
|
|
MessageReaction placeholderMessageReaction = getPlaceholderMessageReaction(storeEmoji);
|
|
if (placeholderMessageReaction == null || (b2 = placeholderMessageReaction.b()) == null) {
|
|
return null;
|
|
}
|
|
return b2.d();
|
|
}
|
|
|
|
public static /* synthetic */ Observable maybeLoadAndObserveThreadListing$default(ForumUtils forumUtils, long j, boolean z2, ArchivedThreadsStore archivedThreadsStore, int i, Object obj) {
|
|
if ((i & 4) != 0) {
|
|
archivedThreadsStore = StoreStream.Companion.getArchivedThreads();
|
|
}
|
|
return forumUtils.maybeLoadAndObserveThreadListing(j, z2, archivedThreadsStore);
|
|
}
|
|
|
|
public static /* synthetic */ Observable observeCanAccessRedesignedForumChannels$default(ForumUtils forumUtils, long j, StoreExperiments storeExperiments, ObservationDeck observationDeck, int i, Object obj) {
|
|
if ((i & 2) != 0) {
|
|
storeExperiments = StoreStream.Companion.getExperiments();
|
|
}
|
|
if ((i & 4) != 0) {
|
|
observationDeck = ObservationDeckProvider.get();
|
|
}
|
|
return forumUtils.observeCanAccessRedesignedForumChannels(j, storeExperiments, observationDeck);
|
|
}
|
|
|
|
public static /* synthetic */ Observable observeSelectedPostChannel$default(ForumUtils forumUtils, StoreChannels storeChannels, StoreChannelsSelected storeChannelsSelected, StoreExperiments storeExperiments, ObservationDeck observationDeck, int i, Object obj) {
|
|
if ((i & 4) != 0) {
|
|
storeExperiments = StoreStream.Companion.getExperiments();
|
|
}
|
|
if ((i & 8) != 0) {
|
|
observationDeck = ObservationDeckProvider.get();
|
|
}
|
|
return forumUtils.observeSelectedPostChannel(storeChannels, storeChannelsSelected, storeExperiments, observationDeck);
|
|
}
|
|
|
|
public final boolean canAccessRedesignedForumChannels(long j, StoreExperiments storeExperiments) {
|
|
m.checkNotNullParameter(storeExperiments, "experimentsStore");
|
|
Experiment guildExperiment = storeExperiments.getGuildExperiment("2022-03_android_forum_channel_redesign", j, false);
|
|
return guildExperiment != null && guildExperiment.getBucket() == 1;
|
|
}
|
|
|
|
public final CharSequence getActiveAgoTimestamp(Context context, Long l) {
|
|
m.checkNotNullParameter(context, "context");
|
|
if (l == null) {
|
|
return null;
|
|
}
|
|
long currentTimeMillis = ClockFactory.get().currentTimeMillis() - l.longValue();
|
|
if (currentTimeMillis < 0) {
|
|
return null;
|
|
}
|
|
return currentTimeMillis < ONE_HOUR_IN_MILLIS ? b.h(context, R.string.form_post_active_ago_timestamp_minutes, new Object[]{Integer.valueOf(TimeUtils.INSTANCE.getMinutesFromMillis(currentTimeMillis))}, null, 4) : currentTimeMillis < ONE_DAY_IN_MILLIS ? b.h(context, R.string.form_post_active_ago_timestamp_hours, new Object[]{Integer.valueOf(TimeUtils.INSTANCE.getHoursFromMillis(currentTimeMillis))}, null, 4) : currentTimeMillis < 2592000000L ? b.h(context, R.string.form_post_active_ago_timestamp_days, new Object[]{Integer.valueOf(TimeUtils.INSTANCE.getDaysFromMillis(currentTimeMillis))}, null, 4) : context.getString(R.string.form_post_active_ago_timestamp_more_than_month);
|
|
}
|
|
|
|
public final String getMessageCountString(Integer num) {
|
|
if (num == null) {
|
|
return null;
|
|
}
|
|
return num.intValue() < 50 ? String.valueOf(num.intValue()) : "50+";
|
|
}
|
|
|
|
public final MessageReaction getPlaceholderMessageReaction(StoreEmoji storeEmoji) {
|
|
m.checkNotNullParameter(storeEmoji, "storeEmoji");
|
|
ModelEmojiUnicode modelEmojiUnicode = storeEmoji.getUnicodeEmojisNamesMap().get(PLACEHOLDER_EMOJI_KEY);
|
|
if (modelEmojiUnicode != null) {
|
|
return new MessageReaction(0, new MessageReactionEmoji(null, modelEmojiUnicode.getUniqueId(), false), false);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public final Observable<ArchivedThreadsStore.ThreadListingState> maybeLoadAndObserveThreadListing(long j, boolean z2, ArchivedThreadsStore archivedThreadsStore) {
|
|
m.checkNotNullParameter(archivedThreadsStore, "storeArchivedThreads");
|
|
return z2 ? archivedThreadsStore.observeGuildForumThreadListing(j) : archivedThreadsStore.loadAndObserveGuildForumThreadListing(j);
|
|
}
|
|
|
|
public final MessageReaction mostCommonReaction(Message message, StoreEmoji storeEmoji) {
|
|
List sortedWith;
|
|
m.checkNotNullParameter(message, "$this$mostCommonReaction");
|
|
m.checkNotNullParameter(storeEmoji, "storeEmoji");
|
|
List<MessageReaction> reactions = message.getReactions();
|
|
if (reactions == null || (sortedWith = u.sortedWith(reactions, getMessageReactionComparator(storeEmoji))) == null) {
|
|
return null;
|
|
}
|
|
return (MessageReaction) u.firstOrNull((List<? extends Object>) sortedWith);
|
|
}
|
|
|
|
public final Observable<Boolean> observeCanAccessRedesignedForumChannels(long j, StoreExperiments storeExperiments, ObservationDeck observationDeck) {
|
|
m.checkNotNullParameter(storeExperiments, "experimentsStore");
|
|
m.checkNotNullParameter(observationDeck, "observationDeck");
|
|
Observable<Boolean> r = ObservationDeck.connectRx$default(observationDeck, new ObservationDeck.UpdateSource[]{storeExperiments}, false, null, null, new ForumUtils$observeCanAccessRedesignedForumChannels$1(j, storeExperiments), 14, null).r();
|
|
m.checkNotNullExpressionValue(r, "observationDeck.connectR… }.distinctUntilChanged()");
|
|
return r;
|
|
}
|
|
|
|
public final Observable<Channel> observeSelectedPostChannel(StoreChannels storeChannels, StoreChannelsSelected storeChannelsSelected, StoreExperiments storeExperiments, ObservationDeck observationDeck) {
|
|
m.checkNotNullParameter(storeChannels, "storeChannels");
|
|
m.checkNotNullParameter(storeChannelsSelected, "storeChannelsSelected");
|
|
m.checkNotNullParameter(storeExperiments, "storeExperiments");
|
|
m.checkNotNullParameter(observationDeck, "observationDeck");
|
|
Observable<Channel> r = ObservationDeck.connectRx$default(observationDeck, new ObservationDeck.UpdateSource[]{storeChannels, storeChannelsSelected, storeExperiments}, false, null, null, new ForumUtils$observeSelectedPostChannel$1(storeChannelsSelected, storeExperiments, storeChannels), 14, null).r();
|
|
m.checkNotNullExpressionValue(r, "observationDeck.connectR… }.distinctUntilChanged()");
|
|
return r;
|
|
}
|
|
}
|