453 lines
20 KiB
Java
453 lines
20 KiB
Java
package com.discord.stores;
|
|
|
|
import a0.a.a.b;
|
|
import android.content.Context;
|
|
import c.d.b.a.a;
|
|
import com.discord.api.message.reaction.MessageReactionEmoji;
|
|
import com.discord.api.message.reaction.MessageReactionUpdate;
|
|
import com.discord.models.user.User;
|
|
import com.discord.stores.updates.ObservationDeck;
|
|
import com.discord.stores.updates.ObservationDeckProvider;
|
|
import com.discord.utilities.rest.RestAPI;
|
|
import com.discord.utilities.rx.ObservableExtensionsKt;
|
|
import com.discord.widgets.chat.input.MentionUtilsKt;
|
|
import d0.z.d.m;
|
|
import java.util.HashMap;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import rx.Observable;
|
|
/* compiled from: StoreMessageReactions.kt */
|
|
public final class StoreMessageReactions extends StoreV2 {
|
|
private final Dispatcher dispatcher;
|
|
private final ObservationDeck observationDeck;
|
|
private final Map<Long, Map<String, EmojiResults>> reactions;
|
|
private Map<Long, ? extends Map<String, ? extends EmojiResults>> reactionsSnapshot;
|
|
private final StoreUser userStore;
|
|
|
|
/* compiled from: StoreMessageReactions.kt */
|
|
public static abstract class EmojiResults {
|
|
|
|
/* compiled from: StoreMessageReactions.kt */
|
|
public static final class Failure extends EmojiResults {
|
|
private final long channelId;
|
|
private final MessageReactionEmoji emoji;
|
|
private final long messageId;
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public Failure(long j, long j2, MessageReactionEmoji messageReactionEmoji) {
|
|
super(null);
|
|
m.checkNotNullParameter(messageReactionEmoji, "emoji");
|
|
this.channelId = j;
|
|
this.messageId = j2;
|
|
this.emoji = messageReactionEmoji;
|
|
}
|
|
|
|
public static /* synthetic */ Failure copy$default(Failure failure, long j, long j2, MessageReactionEmoji messageReactionEmoji, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
j = failure.channelId;
|
|
}
|
|
if ((i & 2) != 0) {
|
|
j2 = failure.messageId;
|
|
}
|
|
if ((i & 4) != 0) {
|
|
messageReactionEmoji = failure.emoji;
|
|
}
|
|
return failure.copy(j, j2, messageReactionEmoji);
|
|
}
|
|
|
|
public final long component1() {
|
|
return this.channelId;
|
|
}
|
|
|
|
public final long component2() {
|
|
return this.messageId;
|
|
}
|
|
|
|
public final MessageReactionEmoji component3() {
|
|
return this.emoji;
|
|
}
|
|
|
|
public final Failure copy(long j, long j2, MessageReactionEmoji messageReactionEmoji) {
|
|
m.checkNotNullParameter(messageReactionEmoji, "emoji");
|
|
return new Failure(j, j2, messageReactionEmoji);
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof Failure)) {
|
|
return false;
|
|
}
|
|
Failure failure = (Failure) obj;
|
|
return this.channelId == failure.channelId && this.messageId == failure.messageId && m.areEqual(this.emoji, failure.emoji);
|
|
}
|
|
|
|
public final long getChannelId() {
|
|
return this.channelId;
|
|
}
|
|
|
|
public final MessageReactionEmoji getEmoji() {
|
|
return this.emoji;
|
|
}
|
|
|
|
public final long getMessageId() {
|
|
return this.messageId;
|
|
}
|
|
|
|
public int hashCode() {
|
|
int a = (b.a(this.messageId) + (b.a(this.channelId) * 31)) * 31;
|
|
MessageReactionEmoji messageReactionEmoji = this.emoji;
|
|
return a + (messageReactionEmoji != null ? messageReactionEmoji.hashCode() : 0);
|
|
}
|
|
|
|
public String toString() {
|
|
StringBuilder O = a.O("Failure(channelId=");
|
|
O.append(this.channelId);
|
|
O.append(", messageId=");
|
|
O.append(this.messageId);
|
|
O.append(", emoji=");
|
|
O.append(this.emoji);
|
|
O.append(")");
|
|
return O.toString();
|
|
}
|
|
}
|
|
|
|
/* compiled from: StoreMessageReactions.kt */
|
|
public static final class Loading extends EmojiResults {
|
|
public static final Loading INSTANCE = new Loading();
|
|
|
|
private Loading() {
|
|
super(null);
|
|
}
|
|
}
|
|
|
|
/* compiled from: StoreMessageReactions.kt */
|
|
public static final class Users extends EmojiResults {
|
|
private final long channelId;
|
|
private final MessageReactionEmoji emoji;
|
|
private final long messageId;
|
|
private final LinkedHashMap<Long, User> users;
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public Users(LinkedHashMap<Long, User> linkedHashMap, long j, long j2, MessageReactionEmoji messageReactionEmoji) {
|
|
super(null);
|
|
m.checkNotNullParameter(linkedHashMap, "users");
|
|
m.checkNotNullParameter(messageReactionEmoji, "emoji");
|
|
this.users = linkedHashMap;
|
|
this.channelId = j;
|
|
this.messageId = j2;
|
|
this.emoji = messageReactionEmoji;
|
|
}
|
|
|
|
/* JADX DEBUG: Multi-variable search result rejected for r4v0, resolved type: com.discord.stores.StoreMessageReactions$EmojiResults$Users */
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
public static /* synthetic */ Users copy$default(Users users, LinkedHashMap linkedHashMap, long j, long j2, MessageReactionEmoji messageReactionEmoji, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
linkedHashMap = users.users;
|
|
}
|
|
if ((i & 2) != 0) {
|
|
j = users.channelId;
|
|
}
|
|
if ((i & 4) != 0) {
|
|
j2 = users.messageId;
|
|
}
|
|
if ((i & 8) != 0) {
|
|
messageReactionEmoji = users.emoji;
|
|
}
|
|
return users.copy(linkedHashMap, j, j2, messageReactionEmoji);
|
|
}
|
|
|
|
public final LinkedHashMap<Long, User> component1() {
|
|
return this.users;
|
|
}
|
|
|
|
public final long component2() {
|
|
return this.channelId;
|
|
}
|
|
|
|
public final long component3() {
|
|
return this.messageId;
|
|
}
|
|
|
|
public final MessageReactionEmoji component4() {
|
|
return this.emoji;
|
|
}
|
|
|
|
public final Users copy(LinkedHashMap<Long, User> linkedHashMap, long j, long j2, MessageReactionEmoji messageReactionEmoji) {
|
|
m.checkNotNullParameter(linkedHashMap, "users");
|
|
m.checkNotNullParameter(messageReactionEmoji, "emoji");
|
|
return new Users(linkedHashMap, j, j2, messageReactionEmoji);
|
|
}
|
|
|
|
public final Users deepCopy() {
|
|
return new Users(new LinkedHashMap(this.users), this.channelId, this.messageId, this.emoji);
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof Users)) {
|
|
return false;
|
|
}
|
|
Users users = (Users) obj;
|
|
return m.areEqual(this.users, users.users) && this.channelId == users.channelId && this.messageId == users.messageId && m.areEqual(this.emoji, users.emoji);
|
|
}
|
|
|
|
public final long getChannelId() {
|
|
return this.channelId;
|
|
}
|
|
|
|
public final MessageReactionEmoji getEmoji() {
|
|
return this.emoji;
|
|
}
|
|
|
|
public final long getMessageId() {
|
|
return this.messageId;
|
|
}
|
|
|
|
public final LinkedHashMap<Long, User> getUsers() {
|
|
return this.users;
|
|
}
|
|
|
|
public int hashCode() {
|
|
LinkedHashMap<Long, User> linkedHashMap = this.users;
|
|
int i = 0;
|
|
int hashCode = linkedHashMap != null ? linkedHashMap.hashCode() : 0;
|
|
int a = (b.a(this.messageId) + ((b.a(this.channelId) + (hashCode * 31)) * 31)) * 31;
|
|
MessageReactionEmoji messageReactionEmoji = this.emoji;
|
|
if (messageReactionEmoji != null) {
|
|
i = messageReactionEmoji.hashCode();
|
|
}
|
|
return a + i;
|
|
}
|
|
|
|
public String toString() {
|
|
StringBuilder O = a.O("Users(users=");
|
|
O.append(this.users);
|
|
O.append(", channelId=");
|
|
O.append(this.channelId);
|
|
O.append(", messageId=");
|
|
O.append(this.messageId);
|
|
O.append(", emoji=");
|
|
O.append(this.emoji);
|
|
O.append(")");
|
|
return O.toString();
|
|
}
|
|
}
|
|
|
|
private EmojiResults() {
|
|
}
|
|
|
|
public /* synthetic */ EmojiResults(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
}
|
|
|
|
public StoreMessageReactions(Dispatcher dispatcher, StoreUser storeUser, ObservationDeck observationDeck) {
|
|
m.checkNotNullParameter(dispatcher, "dispatcher");
|
|
m.checkNotNullParameter(storeUser, "userStore");
|
|
m.checkNotNullParameter(observationDeck, "observationDeck");
|
|
this.dispatcher = dispatcher;
|
|
this.userStore = storeUser;
|
|
this.observationDeck = observationDeck;
|
|
this.reactions = new HashMap();
|
|
this.reactionsSnapshot = new HashMap();
|
|
}
|
|
|
|
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
|
|
public /* synthetic */ StoreMessageReactions(Dispatcher dispatcher, StoreUser storeUser, ObservationDeck observationDeck, int i, DefaultConstructorMarker defaultConstructorMarker) {
|
|
this(dispatcher, storeUser, (i & 4) != 0 ? ObservationDeckProvider.get() : observationDeck);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$fetchReactions(StoreMessageReactions storeMessageReactions, long j, long j2, MessageReactionEmoji messageReactionEmoji) {
|
|
storeMessageReactions.fetchReactions(j, j2, messageReactionEmoji);
|
|
}
|
|
|
|
public static final /* synthetic */ Dispatcher access$getDispatcher$p(StoreMessageReactions storeMessageReactions) {
|
|
return storeMessageReactions.dispatcher;
|
|
}
|
|
|
|
public static final /* synthetic */ Map access$getReactions$p(StoreMessageReactions storeMessageReactions) {
|
|
return storeMessageReactions.reactions;
|
|
}
|
|
|
|
public static final /* synthetic */ Map access$getReactionsSnapshot$p(StoreMessageReactions storeMessageReactions) {
|
|
return storeMessageReactions.reactionsSnapshot;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$handleLoadReactionUsersFailure(StoreMessageReactions storeMessageReactions, long j, long j2, MessageReactionEmoji messageReactionEmoji) {
|
|
storeMessageReactions.handleLoadReactionUsersFailure(j, j2, messageReactionEmoji);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$handleReactionUsers(StoreMessageReactions storeMessageReactions, long j, long j2, MessageReactionEmoji messageReactionEmoji, List list) {
|
|
storeMessageReactions.handleReactionUsers(j, j2, messageReactionEmoji, list);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setReactionsSnapshot$p(StoreMessageReactions storeMessageReactions, Map map) {
|
|
storeMessageReactions.reactionsSnapshot = map;
|
|
}
|
|
|
|
@StoreThread
|
|
private final EmojiResults ensureReactionResults(long j, String str) {
|
|
Map<String, EmojiResults> map = this.reactions.get(Long.valueOf(j));
|
|
if (map == null) {
|
|
map = new HashMap<>();
|
|
}
|
|
EmojiResults emojiResults = map.get(str);
|
|
if (emojiResults == null) {
|
|
emojiResults = EmojiResults.Loading.INSTANCE;
|
|
}
|
|
map.put(str, emojiResults);
|
|
this.reactions.put(Long.valueOf(j), map);
|
|
return emojiResults;
|
|
}
|
|
|
|
@StoreThread
|
|
private final void fetchReactions(long j, long j2, MessageReactionEmoji messageReactionEmoji) {
|
|
EmojiResults ensureReactionResults = ensureReactionResults(j2, messageReactionEmoji.c());
|
|
if (!(ensureReactionResults instanceof EmojiResults.Users) || !(!((EmojiResults.Users) ensureReactionResults).getUsers().isEmpty())) {
|
|
String reactionEmojiRequestParam = getReactionEmojiRequestParam(messageReactionEmoji);
|
|
Map<String, EmojiResults> map = this.reactions.get(Long.valueOf(j2));
|
|
if (map != null) {
|
|
map.put(messageReactionEmoji.c(), EmojiResults.Loading.INSTANCE);
|
|
}
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.Companion.getApi().getReactionUsers(j, j2, reactionEmojiRequestParam, 100), false, 1, null), StoreMessageReactions.class, (Context) null, (Function1) null, new StoreMessageReactions$fetchReactions$2(this, j, j2, messageReactionEmoji), (Function0) null, (Function0) null, new StoreMessageReactions$fetchReactions$1(this, j, j2, messageReactionEmoji), 54, (Object) null);
|
|
}
|
|
}
|
|
|
|
private final String getReactionEmojiRequestParam(MessageReactionEmoji messageReactionEmoji) {
|
|
if (messageReactionEmoji.e()) {
|
|
return messageReactionEmoji.d() + MentionUtilsKt.EMOJIS_AND_STICKERS_CHAR + messageReactionEmoji.b();
|
|
}
|
|
String d = messageReactionEmoji.d();
|
|
return d != null ? d : "";
|
|
}
|
|
|
|
@StoreThread
|
|
private final void handleLoadReactionUsersFailure(long j, long j2, MessageReactionEmoji messageReactionEmoji) {
|
|
ensureReactionResults(j2, messageReactionEmoji.c());
|
|
Map<String, EmojiResults> map = this.reactions.get(Long.valueOf(j2));
|
|
if (map != null) {
|
|
map.put(messageReactionEmoji.c(), new EmojiResults.Failure(j, j2, messageReactionEmoji));
|
|
}
|
|
markChanged();
|
|
}
|
|
|
|
@StoreThread
|
|
private final void handleReactionUsers(long j, long j2, MessageReactionEmoji messageReactionEmoji, List<? extends User> list) {
|
|
ensureReactionResults(j2, messageReactionEmoji.c());
|
|
LinkedHashMap linkedHashMap = new LinkedHashMap();
|
|
for (Object obj : list) {
|
|
linkedHashMap.put(Long.valueOf(((User) obj).getId()), obj);
|
|
}
|
|
Map<String, EmojiResults> map = this.reactions.get(Long.valueOf(j2));
|
|
if (map != null) {
|
|
map.put(messageReactionEmoji.c(), new EmojiResults.Users(linkedHashMap, j, j2, messageReactionEmoji));
|
|
}
|
|
markChanged();
|
|
}
|
|
|
|
public final void deleteEmoji(long j, long j2, MessageReactionEmoji messageReactionEmoji, long j3) {
|
|
m.checkNotNullParameter(messageReactionEmoji, "emoji");
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.Companion.getApi().removeReaction(j, j2, getReactionEmojiRequestParam(messageReactionEmoji), j3), false, 1, null), StoreMessageReactions.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, StoreMessageReactions$deleteEmoji$1.INSTANCE, 62, (Object) null);
|
|
}
|
|
|
|
public final void forceRetryFetchReactions(long j, long j2, MessageReactionEmoji messageReactionEmoji) {
|
|
m.checkNotNullParameter(messageReactionEmoji, "emoji");
|
|
this.dispatcher.schedule(new StoreMessageReactions$forceRetryFetchReactions$1(this, j2, messageReactionEmoji, j));
|
|
}
|
|
|
|
@StoreThread
|
|
public final void handleConnectionOpen() {
|
|
if (!this.reactions.isEmpty()) {
|
|
this.reactions.clear();
|
|
markChanged();
|
|
}
|
|
}
|
|
|
|
@StoreThread
|
|
public final void handleReactionAdd(MessageReactionUpdate messageReactionUpdate) {
|
|
m.checkNotNullParameter(messageReactionUpdate, "update");
|
|
User user = this.userStore.getUsersInternal$app_productionBetaRelease().get(Long.valueOf(messageReactionUpdate.d()));
|
|
if (user != null) {
|
|
EmojiResults ensureReactionResults = ensureReactionResults(messageReactionUpdate.c(), messageReactionUpdate.b().c());
|
|
if (!(ensureReactionResults instanceof EmojiResults.Users)) {
|
|
ensureReactionResults = null;
|
|
}
|
|
EmojiResults.Users users = (EmojiResults.Users) ensureReactionResults;
|
|
if (users != null) {
|
|
users.getUsers().put(Long.valueOf(messageReactionUpdate.d()), user);
|
|
markChanged();
|
|
}
|
|
}
|
|
}
|
|
|
|
@StoreThread
|
|
public final void handleReactionRemove(MessageReactionUpdate messageReactionUpdate) {
|
|
m.checkNotNullParameter(messageReactionUpdate, "update");
|
|
EmojiResults ensureReactionResults = ensureReactionResults(messageReactionUpdate.c(), messageReactionUpdate.b().c());
|
|
if (!(ensureReactionResults instanceof EmojiResults.Users)) {
|
|
ensureReactionResults = null;
|
|
}
|
|
EmojiResults.Users users = (EmojiResults.Users) ensureReactionResults;
|
|
if (users != null) {
|
|
users.getUsers().remove(Long.valueOf(messageReactionUpdate.d()));
|
|
markChanged();
|
|
}
|
|
}
|
|
|
|
@StoreThread
|
|
public final void handleReactionRemoveAll(MessageReactionUpdate messageReactionUpdate) {
|
|
m.checkNotNullParameter(messageReactionUpdate, "update");
|
|
this.reactions.remove(Long.valueOf(messageReactionUpdate.c()));
|
|
markChanged();
|
|
}
|
|
|
|
@StoreThread
|
|
public final void handleReactionRemoveEmoji(MessageReactionUpdate messageReactionUpdate) {
|
|
m.checkNotNullParameter(messageReactionUpdate, "update");
|
|
long c2 = messageReactionUpdate.c();
|
|
String c3 = messageReactionUpdate.b().c();
|
|
ensureReactionResults(c2, c3);
|
|
Map<String, EmojiResults> map = this.reactions.get(Long.valueOf(c2));
|
|
if (map != null) {
|
|
map.remove(c3);
|
|
}
|
|
markChanged();
|
|
}
|
|
|
|
public final Observable<EmojiResults> observeMessageReactions(long j, long j2, MessageReactionEmoji messageReactionEmoji) {
|
|
m.checkNotNullParameter(messageReactionEmoji, "emoji");
|
|
this.dispatcher.schedule(new StoreMessageReactions$observeMessageReactions$1(this, j, j2, messageReactionEmoji));
|
|
Observable<EmojiResults> q = ObservationDeck.connectRx$default(this.observationDeck, new ObservationDeck.UpdateSource[]{this}, false, null, null, new StoreMessageReactions$observeMessageReactions$2(this, j2, messageReactionEmoji), 14, null).q();
|
|
m.checkNotNullExpressionValue(q, "observationDeck.connectR… }.distinctUntilChanged()");
|
|
return q;
|
|
}
|
|
|
|
@Override // com.discord.stores.StoreV2
|
|
@StoreThread
|
|
public void snapshotData() {
|
|
super.snapshotData();
|
|
HashMap hashMap = new HashMap(this.reactions);
|
|
for (Map.Entry<Long, Map<String, EmojiResults>> entry : this.reactions.entrySet()) {
|
|
long longValue = entry.getKey().longValue();
|
|
HashMap hashMap2 = new HashMap(entry.getValue());
|
|
hashMap.put(Long.valueOf(longValue), hashMap2);
|
|
for (Map.Entry entry2 : hashMap2.entrySet()) {
|
|
String str = (String) entry2.getKey();
|
|
Object obj = (EmojiResults) entry2.getValue();
|
|
if (obj instanceof EmojiResults.Users) {
|
|
obj = ((EmojiResults.Users) obj).deepCopy();
|
|
}
|
|
hashMap2.put(str, obj);
|
|
}
|
|
}
|
|
this.reactionsSnapshot = hashMap;
|
|
}
|
|
}
|