461 lines
20 KiB
Java
461 lines
20 KiB
Java
package com.discord.widgets.servers.settings.invites;
|
|
|
|
import a0.a.a.b;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import androidx.fragment.app.Fragment;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
import c.a.d.j;
|
|
import c.d.b.a.a;
|
|
import com.airbnb.lottie.parser.AnimatableValueParser;
|
|
import com.discord.R;
|
|
import com.discord.api.channel.Channel;
|
|
import com.discord.api.user.User;
|
|
import com.discord.app.AppActivity;
|
|
import com.discord.app.AppFragment;
|
|
import com.discord.app.AppViewFlipper;
|
|
import com.discord.app.LoggingConfig;
|
|
import com.discord.databinding.WidgetServerSettingsInstantInvitesBinding;
|
|
import com.discord.models.domain.ModelInvite;
|
|
import com.discord.models.guild.Guild;
|
|
import com.discord.models.member.GuildMember;
|
|
import com.discord.stores.StoreGuilds;
|
|
import com.discord.stores.StoreInstantInvites;
|
|
import com.discord.stores.StoreStream;
|
|
import com.discord.stores.updates.ObservationDeck;
|
|
import com.discord.stores.updates.ObservationDeckProvider;
|
|
import com.discord.utilities.mg_recycler.MGRecyclerAdapter;
|
|
import com.discord.utilities.mg_recycler.MGRecyclerAdapterSimple;
|
|
import com.discord.utilities.mg_recycler.MGRecyclerDataPayload;
|
|
import com.discord.utilities.mg_recycler.MGRecyclerViewHolder;
|
|
import com.discord.utilities.rx.ObservableExtensionsKt;
|
|
import com.discord.utilities.user.UserUtils;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegate;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt;
|
|
import d0.g;
|
|
import d0.g0.t;
|
|
import d0.t.o;
|
|
import d0.t.u;
|
|
import d0.z.d.m;
|
|
import java.util.ArrayList;
|
|
import java.util.Collection;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import kotlin.Lazy;
|
|
import kotlin.Unit;
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.reflect.KProperty;
|
|
import rx.Observable;
|
|
/* compiled from: WidgetServerSettingsInstantInvites.kt */
|
|
public final class WidgetServerSettingsInstantInvites extends AppFragment {
|
|
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.a0(WidgetServerSettingsInstantInvites.class, "binding", "getBinding()Lcom/discord/databinding/WidgetServerSettingsInstantInvitesBinding;", 0)};
|
|
public static final Companion Companion = new Companion(null);
|
|
private static final String INTENT_EXTRA_GUILD_ID = "INTENT_EXTRA_GUILD_ID";
|
|
private static final int VIEW_INDEX_INVITES_LIST = 1;
|
|
private static final int VIEW_INDEX_INVITES_LOADING = 0;
|
|
private static final int VIEW_INDEX_NO_INVITES = 2;
|
|
private Adapter adapter;
|
|
private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetServerSettingsInstantInvites$binding$2.INSTANCE, null, 2, null);
|
|
private final Lazy guildId$delegate = g.lazy(new WidgetServerSettingsInstantInvites$guildId$2(this));
|
|
private final LoggingConfig loggingConfig = new LoggingConfig(false, null, WidgetServerSettingsInstantInvites$loggingConfig$1.INSTANCE, 3);
|
|
private final StoreInstantInvites storeInstantInvites = StoreStream.Companion.getInstantInvites();
|
|
|
|
/* compiled from: WidgetServerSettingsInstantInvites.kt */
|
|
public static final class Adapter extends MGRecyclerAdapterSimple<Model.InviteItem> {
|
|
private Function1<? super ModelInvite, Unit> onInviteExpiredListener = WidgetServerSettingsInstantInvites$Adapter$onInviteExpiredListener$1.INSTANCE;
|
|
private Function1<? super ModelInvite, Unit> onInviteSelectedListener = WidgetServerSettingsInstantInvites$Adapter$onInviteSelectedListener$1.INSTANCE;
|
|
|
|
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
|
|
public Adapter(RecyclerView recyclerView) {
|
|
super(recyclerView, false, 2, null);
|
|
m.checkNotNullParameter(recyclerView, "recycler");
|
|
}
|
|
|
|
public final void configure(List<Model.InviteItem> list, Function1<? super ModelInvite, Unit> function1, Function1<? super ModelInvite, Unit> function12) {
|
|
m.checkNotNullParameter(list, "data");
|
|
m.checkNotNullParameter(function1, "onInviteSelectedListener");
|
|
m.checkNotNullParameter(function12, "onInviteExpiredListener");
|
|
this.onInviteSelectedListener = function1;
|
|
this.onInviteExpiredListener = function12;
|
|
setData(list);
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
|
|
public MGRecyclerViewHolder<?, Model.InviteItem> onCreateViewHolder(ViewGroup viewGroup, int i) {
|
|
m.checkNotNullParameter(viewGroup, "parent");
|
|
if (i == 0) {
|
|
return new WidgetServerSettingsInstantInvitesListItem(this);
|
|
}
|
|
throw invalidViewTypeException(i);
|
|
}
|
|
|
|
public final void onInviteExpired(ModelInvite modelInvite) {
|
|
m.checkNotNullParameter(modelInvite, "invite");
|
|
this.onInviteExpiredListener.invoke(modelInvite);
|
|
}
|
|
|
|
public final void onInviteSelected(ModelInvite modelInvite) {
|
|
m.checkNotNullParameter(modelInvite, "invite");
|
|
this.onInviteSelectedListener.invoke(modelInvite);
|
|
}
|
|
}
|
|
|
|
/* compiled from: WidgetServerSettingsInstantInvites.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public final void create(Context context, long j) {
|
|
m.checkNotNullParameter(context, "context");
|
|
StoreStream.Companion.getAnalytics().onGuildSettingsPaneViewed("INSTANT_INVITES", j);
|
|
Intent putExtra = new Intent().putExtra("INTENT_EXTRA_GUILD_ID", j);
|
|
m.checkNotNullExpressionValue(putExtra, "Intent()\n .putE…_EXTRA_GUILD_ID, guildId)");
|
|
j.d(context, WidgetServerSettingsInstantInvites.class, putExtra);
|
|
}
|
|
}
|
|
|
|
/* compiled from: WidgetServerSettingsInstantInvites.kt */
|
|
public static final class Model {
|
|
public static final Companion Companion = new Companion(null);
|
|
private final Guild guild;
|
|
private final List<InviteItem> inviteItems;
|
|
|
|
/* compiled from: WidgetServerSettingsInstantInvites.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public static /* synthetic */ Observable get$default(Companion companion, long j, StoreGuilds storeGuilds, StoreInstantInvites storeInstantInvites, int i, Object obj) {
|
|
if ((i & 2) != 0) {
|
|
storeGuilds = StoreStream.Companion.getGuilds();
|
|
}
|
|
if ((i & 4) != 0) {
|
|
storeInstantInvites = StoreStream.Companion.getInstantInvites();
|
|
}
|
|
return companion.get(j, storeGuilds, storeInstantInvites);
|
|
}
|
|
|
|
public final Observable<Model> get(long j, StoreGuilds storeGuilds, StoreInstantInvites storeInstantInvites) {
|
|
m.checkNotNullParameter(storeGuilds, "storeGuilds");
|
|
m.checkNotNullParameter(storeInstantInvites, "storeInstantInvites");
|
|
Observable<Model> r = ObservableExtensionsKt.computationLatest(ObservationDeck.connectRx$default(ObservationDeckProvider.get(), new ObservationDeck.UpdateSource[]{storeGuilds, storeInstantInvites}, false, null, null, new WidgetServerSettingsInstantInvites$Model$Companion$get$1(storeGuilds, j, storeInstantInvites), 14, null)).r();
|
|
m.checkNotNullExpressionValue(r, "ObservationDeckProvider.… .distinctUntilChanged()");
|
|
return r;
|
|
}
|
|
}
|
|
|
|
/* compiled from: WidgetServerSettingsInstantInvites.kt */
|
|
public static final class InviteItem implements MGRecyclerDataPayload, Comparable<InviteItem> {
|
|
public static final Companion Companion = new Companion(null);
|
|
public static final int TYPE_INVITE = 0;
|
|
private final long guildId;
|
|
private final GuildMember guildMember;
|
|
private final ModelInvite invite;
|
|
private final String key;
|
|
private final int type;
|
|
|
|
/* compiled from: WidgetServerSettingsInstantInvites.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public final List<InviteItem> createList(Map<String, ? extends ModelInvite> map, long j, Map<Long, GuildMember> map2) {
|
|
m.checkNotNullParameter(map, "invites");
|
|
m.checkNotNullParameter(map2, "guildMembers");
|
|
Collection<? extends ModelInvite> values = map.values();
|
|
ArrayList arrayList = new ArrayList(o.collectionSizeOrDefault(values, 10));
|
|
for (ModelInvite modelInvite : values) {
|
|
User inviter = modelInvite.getInviter();
|
|
arrayList.add(new InviteItem(modelInvite, j, inviter != null ? map2.get(Long.valueOf(inviter.i())) : null));
|
|
}
|
|
return u.sorted(arrayList);
|
|
}
|
|
}
|
|
|
|
public InviteItem(ModelInvite modelInvite, long j, GuildMember guildMember) {
|
|
m.checkNotNullParameter(modelInvite, "invite");
|
|
this.invite = modelInvite;
|
|
this.guildId = j;
|
|
this.guildMember = guildMember;
|
|
String str = modelInvite.code;
|
|
m.checkNotNullExpressionValue(str, "invite.code");
|
|
this.key = str;
|
|
}
|
|
|
|
public static /* synthetic */ InviteItem copy$default(InviteItem inviteItem, ModelInvite modelInvite, long j, GuildMember guildMember, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
modelInvite = inviteItem.invite;
|
|
}
|
|
if ((i & 2) != 0) {
|
|
j = inviteItem.guildId;
|
|
}
|
|
if ((i & 4) != 0) {
|
|
guildMember = inviteItem.guildMember;
|
|
}
|
|
return inviteItem.copy(modelInvite, j, guildMember);
|
|
}
|
|
|
|
public int compareTo(InviteItem inviteItem) {
|
|
String str;
|
|
String str2;
|
|
m.checkNotNullParameter(inviteItem, "other");
|
|
Channel channel = this.invite.getChannel();
|
|
String str3 = null;
|
|
String y0 = channel != null ? AnimatableValueParser.y0(channel) : null;
|
|
Channel channel2 = inviteItem.invite.getChannel();
|
|
if (channel2 != null) {
|
|
str3 = AnimatableValueParser.y0(channel2);
|
|
}
|
|
int compareTo = (y0 == null || str3 == null) ? 0 : t.compareTo(y0, str3, true);
|
|
User inviter = this.invite.getInviter();
|
|
User inviter2 = inviteItem.invite.getInviter();
|
|
if (compareTo != 0) {
|
|
return compareTo;
|
|
}
|
|
UserUtils userUtils = UserUtils.INSTANCE;
|
|
if (inviter == null || (str = inviter.r()) == null) {
|
|
str = "";
|
|
}
|
|
if (inviter2 == null || (str2 = inviter2.r()) == null) {
|
|
str2 = "";
|
|
}
|
|
long j = 0;
|
|
long i = inviter != null ? inviter.i() : 0;
|
|
if (inviter2 != null) {
|
|
j = inviter2.i();
|
|
}
|
|
return userUtils.compareUserNames(str, str2, null, null, i, j);
|
|
}
|
|
|
|
public final ModelInvite component1() {
|
|
return this.invite;
|
|
}
|
|
|
|
public final long component2() {
|
|
return this.guildId;
|
|
}
|
|
|
|
public final GuildMember component3() {
|
|
return this.guildMember;
|
|
}
|
|
|
|
public final InviteItem copy(ModelInvite modelInvite, long j, GuildMember guildMember) {
|
|
m.checkNotNullParameter(modelInvite, "invite");
|
|
return new InviteItem(modelInvite, j, guildMember);
|
|
}
|
|
|
|
@Override // java.lang.Object
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof InviteItem)) {
|
|
return false;
|
|
}
|
|
InviteItem inviteItem = (InviteItem) obj;
|
|
return m.areEqual(this.invite, inviteItem.invite) && this.guildId == inviteItem.guildId && m.areEqual(this.guildMember, inviteItem.guildMember);
|
|
}
|
|
|
|
public final long getGuildId() {
|
|
return this.guildId;
|
|
}
|
|
|
|
public final GuildMember getGuildMember() {
|
|
return this.guildMember;
|
|
}
|
|
|
|
public final ModelInvite getInvite() {
|
|
return this.invite;
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.MGRecyclerDataPayload, com.discord.utilities.recycler.DiffKeyProvider
|
|
public String getKey() {
|
|
return this.key;
|
|
}
|
|
|
|
@Override // com.discord.utilities.mg_recycler.MGRecyclerDataPayload
|
|
public int getType() {
|
|
return this.type;
|
|
}
|
|
|
|
@Override // java.lang.Object
|
|
public int hashCode() {
|
|
ModelInvite modelInvite = this.invite;
|
|
int i = 0;
|
|
int a = (b.a(this.guildId) + ((modelInvite != null ? modelInvite.hashCode() : 0) * 31)) * 31;
|
|
GuildMember guildMember = this.guildMember;
|
|
if (guildMember != null) {
|
|
i = guildMember.hashCode();
|
|
}
|
|
return a + i;
|
|
}
|
|
|
|
@Override // java.lang.Object
|
|
public String toString() {
|
|
StringBuilder P = a.P("InviteItem(invite=");
|
|
P.append(this.invite);
|
|
P.append(", guildId=");
|
|
P.append(this.guildId);
|
|
P.append(", guildMember=");
|
|
P.append(this.guildMember);
|
|
P.append(")");
|
|
return P.toString();
|
|
}
|
|
}
|
|
|
|
public Model(Guild guild, List<InviteItem> list) {
|
|
m.checkNotNullParameter(guild, "guild");
|
|
this.guild = guild;
|
|
this.inviteItems = list;
|
|
}
|
|
|
|
/* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.widgets.servers.settings.invites.WidgetServerSettingsInstantInvites$Model */
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
public static /* synthetic */ Model copy$default(Model model, Guild guild, List list, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
guild = model.guild;
|
|
}
|
|
if ((i & 2) != 0) {
|
|
list = model.inviteItems;
|
|
}
|
|
return model.copy(guild, list);
|
|
}
|
|
|
|
public final Guild component1() {
|
|
return this.guild;
|
|
}
|
|
|
|
public final List<InviteItem> component2() {
|
|
return this.inviteItems;
|
|
}
|
|
|
|
public final Model copy(Guild guild, List<InviteItem> list) {
|
|
m.checkNotNullParameter(guild, "guild");
|
|
return new Model(guild, list);
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof Model)) {
|
|
return false;
|
|
}
|
|
Model model = (Model) obj;
|
|
return m.areEqual(this.guild, model.guild) && m.areEqual(this.inviteItems, model.inviteItems);
|
|
}
|
|
|
|
public final Guild getGuild() {
|
|
return this.guild;
|
|
}
|
|
|
|
public final List<InviteItem> getInviteItems() {
|
|
return this.inviteItems;
|
|
}
|
|
|
|
public int hashCode() {
|
|
Guild guild = this.guild;
|
|
int i = 0;
|
|
int hashCode = (guild != null ? guild.hashCode() : 0) * 31;
|
|
List<InviteItem> list = this.inviteItems;
|
|
if (list != null) {
|
|
i = list.hashCode();
|
|
}
|
|
return hashCode + i;
|
|
}
|
|
|
|
public String toString() {
|
|
StringBuilder P = a.P("Model(guild=");
|
|
P.append(this.guild);
|
|
P.append(", inviteItems=");
|
|
return a.J(P, this.inviteItems, ")");
|
|
}
|
|
}
|
|
|
|
public WidgetServerSettingsInstantInvites() {
|
|
super(R.layout.widget_server_settings_instant_invites);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$configureUI(WidgetServerSettingsInstantInvites widgetServerSettingsInstantInvites, Model model) {
|
|
widgetServerSettingsInstantInvites.configureUI(model);
|
|
}
|
|
|
|
private final void configureUI(Model model) {
|
|
if (model == null) {
|
|
AppActivity appActivity = getAppActivity();
|
|
if (appActivity != null) {
|
|
appActivity.onBackPressed();
|
|
return;
|
|
}
|
|
return;
|
|
}
|
|
if (model.getInviteItems() == null) {
|
|
AppViewFlipper appViewFlipper = getBinding().f1973c;
|
|
m.checkNotNullExpressionValue(appViewFlipper, "binding.serverSettingsInstantInvitesViewFlipper");
|
|
appViewFlipper.setDisplayedChild(0);
|
|
} else if (model.getInviteItems().isEmpty()) {
|
|
AppViewFlipper appViewFlipper2 = getBinding().f1973c;
|
|
m.checkNotNullExpressionValue(appViewFlipper2, "binding.serverSettingsInstantInvitesViewFlipper");
|
|
appViewFlipper2.setDisplayedChild(2);
|
|
} else {
|
|
AppViewFlipper appViewFlipper3 = getBinding().f1973c;
|
|
m.checkNotNullExpressionValue(appViewFlipper3, "binding.serverSettingsInstantInvitesViewFlipper");
|
|
appViewFlipper3.setDisplayedChild(1);
|
|
Adapter adapter = this.adapter;
|
|
if (adapter != null) {
|
|
adapter.configure(model.getInviteItems(), new WidgetServerSettingsInstantInvites$configureUI$1(this), WidgetServerSettingsInstantInvites$configureUI$2.INSTANCE);
|
|
}
|
|
}
|
|
setActionBarTitle(R.string.instant_invites);
|
|
setActionBarSubtitle(model.getGuild().getName());
|
|
}
|
|
|
|
private final WidgetServerSettingsInstantInvitesBinding getBinding() {
|
|
return (WidgetServerSettingsInstantInvitesBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
|
|
}
|
|
|
|
private final long getGuildId() {
|
|
return ((Number) this.guildId$delegate.getValue()).longValue();
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment, com.discord.app.AppLogger.a
|
|
public LoggingConfig getLoggingConfig() {
|
|
return this.loggingConfig;
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBound(View view) {
|
|
m.checkNotNullParameter(view, "view");
|
|
super.onViewBound(view);
|
|
MGRecyclerAdapter.Companion companion = MGRecyclerAdapter.Companion;
|
|
RecyclerView recyclerView = getBinding().b;
|
|
m.checkNotNullExpressionValue(recyclerView, "binding.serverSettingsInstantInvitesRecycler");
|
|
this.adapter = (Adapter) companion.configure(new Adapter(recyclerView));
|
|
AppFragment.setActionBarDisplayHomeAsUpEnabled$default(this, false, 1, null);
|
|
this.storeInstantInvites.clearInvites(getGuildId());
|
|
this.storeInstantInvites.fetchGuildInvites(getGuildId());
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBoundOrOnResume() {
|
|
super.onViewBoundOrOnResume();
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(Model.Companion.get$default(Model.Companion, getGuildId(), null, null, 6, null), this, null, 2, null), WidgetServerSettingsInstantInvites.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetServerSettingsInstantInvites$onViewBoundOrOnResume$1(this), 62, (Object) null);
|
|
}
|
|
}
|