183 lines
9.1 KiB
Java
183 lines
9.1 KiB
Java
package com.discord.widgets.guilds.invite;
|
|
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.view.View;
|
|
import androidx.fragment.app.Fragment;
|
|
import c.a.d.j;
|
|
import c.a.d.o;
|
|
import c.d.b.a.a;
|
|
import com.discord.R;
|
|
import com.discord.api.guildscheduledevent.GuildScheduledEvent;
|
|
import com.discord.app.AppFragment;
|
|
import com.discord.databinding.WidgetGuildInvitePageBinding;
|
|
import com.discord.models.domain.ModelInvite;
|
|
import com.discord.stores.StoreInstantInvites;
|
|
import com.discord.stores.StoreInviteSettings;
|
|
import com.discord.stores.StoreStream;
|
|
import com.discord.utilities.analytics.AnalyticsTracker;
|
|
import com.discord.utilities.error.Error;
|
|
import com.discord.utilities.rx.ObservableExtensionsKt;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegate;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt;
|
|
import com.discord.widgets.guildscheduledevent.GuildScheduledEventItemView;
|
|
import com.discord.widgets.guildscheduledevent.GuildScheduledEventModel;
|
|
import com.discord.widgets.guildscheduledevent.GuildScheduledEventModelKt;
|
|
import com.google.android.material.button.MaterialButton;
|
|
import d0.g0.t;
|
|
import d0.z.d.m;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.reflect.KProperty;
|
|
import rx.Observable;
|
|
/* compiled from: WidgetGuildInvite.kt */
|
|
public final class WidgetGuildInvite extends AppFragment {
|
|
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.a0(WidgetGuildInvite.class, "binding", "getBinding()Lcom/discord/databinding/WidgetGuildInvitePageBinding;", 0)};
|
|
public static final Companion Companion = new Companion(null);
|
|
private static final String EXTRA_CODE = "EXTRA_CODE";
|
|
private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetGuildInvite$binding$2.INSTANCE, null, 2, null);
|
|
private StoreInviteSettings.InviteCode inviteCode;
|
|
private boolean inviteResolved;
|
|
private StoreInstantInvites.InviteState.Resolved inviteState;
|
|
|
|
/* compiled from: WidgetGuildInvite.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public final void launch(Context context, StoreInviteSettings.InviteCode inviteCode) {
|
|
m.checkNotNullParameter(context, "context");
|
|
m.checkNotNullParameter(inviteCode, "inviteCode");
|
|
Intent intent = new Intent();
|
|
intent.putExtra(WidgetGuildInvite.EXTRA_CODE, inviteCode);
|
|
j.d(context, WidgetGuildInvite.class, intent);
|
|
}
|
|
}
|
|
|
|
public WidgetGuildInvite() {
|
|
super(R.layout.widget_guild_invite_page);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$configureUI(WidgetGuildInvite widgetGuildInvite, StoreInstantInvites.InviteState.Resolved resolved) {
|
|
widgetGuildInvite.configureUI(resolved);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$configureUIFailure(WidgetGuildInvite widgetGuildInvite, Error error) {
|
|
widgetGuildInvite.configureUIFailure(error);
|
|
}
|
|
|
|
public static final /* synthetic */ StoreInviteSettings.InviteCode access$getInviteCode$p(WidgetGuildInvite widgetGuildInvite) {
|
|
return widgetGuildInvite.inviteCode;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setInviteCode$p(WidgetGuildInvite widgetGuildInvite, StoreInviteSettings.InviteCode inviteCode) {
|
|
widgetGuildInvite.inviteCode = inviteCode;
|
|
}
|
|
|
|
private final void configureUI(StoreInstantInvites.InviteState.Resolved resolved) {
|
|
boolean z2;
|
|
GuildScheduledEventModel model;
|
|
this.inviteState = resolved;
|
|
ModelInvite invite = resolved.getInvite();
|
|
trackAndConsumeDynamicLinkCache(invite);
|
|
getBinding().e.configureUI(invite);
|
|
GuildScheduledEventItemView guildScheduledEventItemView = getBinding().d;
|
|
m.checkNotNullExpressionValue(guildScheduledEventItemView, "binding.guildInviteEventInfo");
|
|
GuildScheduledEvent guildScheduledEvent = resolved.getInvite().getGuildScheduledEvent();
|
|
if (guildScheduledEvent == null || (model = GuildScheduledEventModelKt.toModel(guildScheduledEvent)) == null) {
|
|
z2 = false;
|
|
} else {
|
|
getBinding().d.configureAsPreview(model, resolved.getInvite().getChannel());
|
|
z2 = true;
|
|
}
|
|
guildScheduledEventItemView.setVisibility(z2 ? 0 : 8);
|
|
MaterialButton materialButton = getBinding().f1853c;
|
|
m.checkNotNullExpressionValue(materialButton, "binding.guildInviteCancel");
|
|
materialButton.setVisibility(8);
|
|
MaterialButton materialButton2 = getBinding().b;
|
|
m.checkNotNullExpressionValue(materialButton2, "binding.guildInviteAccept");
|
|
materialButton2.setVisibility(0);
|
|
getBinding().b.setOnClickListener(new WidgetGuildInvite$configureUI$2(this, invite));
|
|
}
|
|
|
|
private final void configureUIFailure(Error error) {
|
|
MaterialButton materialButton = getBinding().f1853c;
|
|
m.checkNotNullExpressionValue(materialButton, "binding.guildInviteCancel");
|
|
materialButton.setVisibility(0);
|
|
MaterialButton materialButton2 = getBinding().b;
|
|
m.checkNotNullExpressionValue(materialButton2, "binding.guildInviteAccept");
|
|
materialButton2.setVisibility(8);
|
|
getBinding().e.configureUIFailure(error);
|
|
trackAndConsumeDynamicLinkCache(null);
|
|
}
|
|
|
|
private final WidgetGuildInvitePageBinding getBinding() {
|
|
return (WidgetGuildInvitePageBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
|
|
}
|
|
|
|
private final Observable<? extends StoreInstantInvites.InviteState> getResolvedInviteOrDefault(StoreInviteSettings.InviteCode inviteCode) {
|
|
StoreInstantInvites.InviteState.Resolved resolved = this.inviteState;
|
|
if (resolved != null) {
|
|
return new j0.l.e.j(resolved);
|
|
}
|
|
if (inviteCode == null || !(!t.isBlank(inviteCode.getInviteCode()))) {
|
|
return new j0.l.e.j(null);
|
|
}
|
|
StoreStream.Companion companion = StoreStream.Companion;
|
|
companion.getInstantInvites().fetchInviteIfNotLoaded(inviteCode.getInviteCode(), inviteCode.getEventId(), inviteCode.getSource(), Boolean.valueOf(this.inviteResolved));
|
|
return companion.getInstantInvites().observeInvite(ModelInvite.getInviteStoreKey(inviteCode.getInviteCode(), inviteCode.getEventId())).x(WidgetGuildInvite$getResolvedInviteOrDefault$1.INSTANCE);
|
|
}
|
|
|
|
private final void trackAndConsumeDynamicLinkCache(ModelInvite modelInvite) {
|
|
String source;
|
|
String inviteCode;
|
|
String source2;
|
|
StoreStream.Companion.getInviteSettings().clearInviteCode();
|
|
if (!this.inviteResolved) {
|
|
this.inviteResolved = true;
|
|
String str = "";
|
|
if (modelInvite != null) {
|
|
AnalyticsTracker analyticsTracker = AnalyticsTracker.INSTANCE;
|
|
StoreInviteSettings.InviteCode inviteCode2 = this.inviteCode;
|
|
if (!(inviteCode2 == null || (source2 = inviteCode2.getSource()) == null)) {
|
|
str = source2;
|
|
}
|
|
analyticsTracker.inviteResolved(modelInvite, str);
|
|
return;
|
|
}
|
|
StoreInviteSettings.InviteCode inviteCode3 = this.inviteCode;
|
|
String str2 = (inviteCode3 == null || (inviteCode = inviteCode3.getInviteCode()) == null) ? str : inviteCode;
|
|
StoreInviteSettings.InviteCode inviteCode4 = this.inviteCode;
|
|
AnalyticsTracker.inviteResolveFailed$default(str2, (inviteCode4 == null || (source = inviteCode4.getSource()) == null) ? str : source, null, null, 12, null);
|
|
}
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBound(View view) {
|
|
m.checkNotNullParameter(view, "view");
|
|
super.onViewBound(view);
|
|
setRetainInstance(true);
|
|
String str = null;
|
|
AppFragment.setActionBarDisplayHomeAsUpEnabled$default(this, false, 1, null);
|
|
StoreInviteSettings.InviteCode inviteCode = (StoreInviteSettings.InviteCode) getMostRecentIntent().getParcelableExtra(EXTRA_CODE);
|
|
this.inviteCode = inviteCode;
|
|
AnalyticsTracker analyticsTracker = AnalyticsTracker.INSTANCE;
|
|
if (inviteCode != null) {
|
|
str = inviteCode.getInviteCode();
|
|
}
|
|
analyticsTracker.impressionInviteAccept(str);
|
|
getBinding().f1853c.setOnClickListener(new WidgetGuildInvite$onViewBound$1(this));
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBoundOrOnResume() {
|
|
super.onViewBoundOrOnResume();
|
|
Observable<? extends StoreInstantInvites.InviteState> resolvedInviteOrDefault = getResolvedInviteOrDefault(this.inviteCode);
|
|
m.checkNotNullExpressionValue(resolvedInviteOrDefault, "getResolvedInviteOrDefault(inviteCode)");
|
|
ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(resolvedInviteOrDefault, false, 1, null), this, null, 2, null).k(o.a.g(getContext(), new WidgetGuildInvite$onViewBoundOrOnResume$1(this), new WidgetGuildInvite$onViewBoundOrOnResume$2(this)));
|
|
}
|
|
}
|