321 lines
19 KiB
Java
321 lines
19 KiB
Java
package com.discord.widgets.guild_role_subscriptions.tier.create.benefits;
|
|
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.view.View;
|
|
import android.widget.TextView;
|
|
import androidx.activity.result.ActivityResultLauncher;
|
|
import androidx.activity.result.contract.ActivityResultContracts;
|
|
import androidx.fragment.app.Fragment;
|
|
import androidx.fragment.app.FragmentActivity;
|
|
import androidx.fragment.app.FragmentViewModelLazyKt;
|
|
import c.a.d.f0;
|
|
import c.a.d.h0;
|
|
import c.a.d.j;
|
|
import c.d.b.a.a;
|
|
import com.discord.R;
|
|
import com.discord.api.guildrolesubscription.GuildRoleSubscriptionBenefitType;
|
|
import com.discord.app.AppFragment;
|
|
import com.discord.app.AppLog;
|
|
import com.discord.databinding.WidgetGuildRoleSubscriptionTierBenefitBinding;
|
|
import com.discord.models.domain.emoji.Emoji;
|
|
import com.discord.utilities.icon.IconUtils;
|
|
import com.discord.utilities.images.MGImages;
|
|
import com.discord.utilities.logging.Logger;
|
|
import com.discord.utilities.rx.ObservableExtensionsKt;
|
|
import com.discord.utilities.view.extensions.ViewExtensions;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegate;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt;
|
|
import com.discord.widgets.channels.WidgetChannelPickerBottomSheet;
|
|
import com.discord.widgets.channels.WidgetCreateChannel;
|
|
import com.discord.widgets.guild_role_subscriptions.tier.create.benefits.GuildRoleSubscriptionTierBenefitViewModel;
|
|
import com.discord.widgets.guild_role_subscriptions.tier.model.Benefit;
|
|
import com.facebook.drawee.view.SimpleDraweeView;
|
|
import com.google.android.material.button.MaterialButton;
|
|
import com.google.android.material.textfield.TextInputLayout;
|
|
import d0.d0.f;
|
|
import d0.g;
|
|
import d0.g0.t;
|
|
import d0.z.d.a0;
|
|
import d0.z.d.m;
|
|
import kotlin.Lazy;
|
|
import kotlin.Unit;
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.functions.Function2;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.reflect.KProperty;
|
|
/* compiled from: WidgetGuildRoleSubscriptionTierBenefit.kt */
|
|
public final class WidgetGuildRoleSubscriptionTierBenefit extends AppFragment {
|
|
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.a0(WidgetGuildRoleSubscriptionTierBenefit.class, "binding", "getBinding()Lcom/discord/databinding/WidgetGuildRoleSubscriptionTierBenefitBinding;", 0)};
|
|
public static final Companion Companion = new Companion(null);
|
|
private static final String INTENT_EXTRA_BENEFIT_TYPE = "INTENT_EXTRA_BENEFIT_TYPE";
|
|
private static final String INTENT_EXTRA_EXISTING_BENEFIT = "INTENT_EXTRA_EXISTING_BENEFIT";
|
|
private static final String INTENT_EXTRA_TIER_NAME = "INTENT_EXTRA_TIER_NAME";
|
|
private static final int MAX_EMOJI_SIZE = 64;
|
|
private static final String REQUEST_KEY_CHANNEL_PICKER = "REQUEST_KEY_CHANNEL_PICKER";
|
|
private static final String RESULT_EXTRA_BENEFIT = "RESULT_EXTRA_BENEFIT";
|
|
private static final String RESULT_EXTRA_EXISTING_BENEFIT = "RESULT_EXTRA_EXISTING_BENEFIT";
|
|
private final Lazy benefitType$delegate = g.lazy(new WidgetGuildRoleSubscriptionTierBenefit$benefitType$2(this));
|
|
private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetGuildRoleSubscriptionTierBenefit$binding$2.INSTANCE, null, 2, null);
|
|
private final ActivityResultLauncher<Intent> createChannelLauncher;
|
|
private final Lazy existingBenefit$delegate = g.lazy(new WidgetGuildRoleSubscriptionTierBenefit$existingBenefit$2(this));
|
|
private final Lazy guildId$delegate = g.lazy(new WidgetGuildRoleSubscriptionTierBenefit$guildId$2(this));
|
|
private final Lazy tierName$delegate = g.lazy(new WidgetGuildRoleSubscriptionTierBenefit$tierName$2(this));
|
|
private final Lazy viewModel$delegate;
|
|
|
|
/* compiled from: WidgetGuildRoleSubscriptionTierBenefit.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public static /* synthetic */ void launch$default(Companion companion, Context context, ActivityResultLauncher activityResultLauncher, long j, GuildRoleSubscriptionBenefitType guildRoleSubscriptionBenefitType, String str, Benefit benefit, int i, Object obj) {
|
|
companion.launch(context, activityResultLauncher, j, guildRoleSubscriptionBenefitType, (i & 16) != 0 ? null : str, (i & 32) != 0 ? null : benefit);
|
|
}
|
|
|
|
public final void launch(Context context, ActivityResultLauncher<Intent> activityResultLauncher, long j, GuildRoleSubscriptionBenefitType guildRoleSubscriptionBenefitType, String str, Benefit benefit) {
|
|
m.checkNotNullParameter(context, "context");
|
|
m.checkNotNullParameter(activityResultLauncher, "launcher");
|
|
m.checkNotNullParameter(guildRoleSubscriptionBenefitType, "benefitType");
|
|
j jVar = j.g;
|
|
Intent intent = new Intent();
|
|
intent.putExtra("com.discord.intent.extra.EXTRA_GUILD_ID", j);
|
|
intent.putExtra(WidgetGuildRoleSubscriptionTierBenefit.INTENT_EXTRA_EXISTING_BENEFIT, benefit);
|
|
intent.putExtra(WidgetGuildRoleSubscriptionTierBenefit.INTENT_EXTRA_BENEFIT_TYPE, guildRoleSubscriptionBenefitType);
|
|
intent.putExtra(WidgetGuildRoleSubscriptionTierBenefit.INTENT_EXTRA_TIER_NAME, str);
|
|
jVar.f(context, activityResultLauncher, WidgetGuildRoleSubscriptionTierBenefit.class, intent);
|
|
}
|
|
|
|
public final ActivityResultLauncher<Intent> registerForResult(AppFragment appFragment, Function2<? super Benefit, ? super Benefit, Unit> function2) {
|
|
m.checkNotNullParameter(appFragment, "fragment");
|
|
m.checkNotNullParameter(function2, "onBenefitUpdate");
|
|
ActivityResultLauncher<Intent> registerForActivityResult = appFragment.registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new WidgetGuildRoleSubscriptionTierBenefit$Companion$registerForResult$1(function2));
|
|
m.checkNotNullExpressionValue(registerForActivityResult, "fragment.registerForActi… }\n }\n }");
|
|
return registerForActivityResult;
|
|
}
|
|
}
|
|
|
|
public final /* synthetic */ class WhenMappings {
|
|
public static final /* synthetic */ int[] $EnumSwitchMapping$0;
|
|
|
|
static {
|
|
GuildRoleSubscriptionBenefitType.values();
|
|
int[] iArr = new int[3];
|
|
$EnumSwitchMapping$0 = iArr;
|
|
iArr[GuildRoleSubscriptionBenefitType.CHANNEL.ordinal()] = 1;
|
|
iArr[GuildRoleSubscriptionBenefitType.INTANGIBLE.ordinal()] = 2;
|
|
iArr[GuildRoleSubscriptionBenefitType.UNKNOWN.ordinal()] = 3;
|
|
}
|
|
}
|
|
|
|
public WidgetGuildRoleSubscriptionTierBenefit() {
|
|
super(R.layout.widget_guild_role_subscription_tier_benefit);
|
|
WidgetGuildRoleSubscriptionTierBenefit$viewModel$2 widgetGuildRoleSubscriptionTierBenefit$viewModel$2 = new WidgetGuildRoleSubscriptionTierBenefit$viewModel$2(this);
|
|
f0 f0Var = new f0(this);
|
|
this.viewModel$delegate = FragmentViewModelLazyKt.createViewModelLazy(this, a0.getOrCreateKotlinClass(GuildRoleSubscriptionTierBenefitViewModel.class), new WidgetGuildRoleSubscriptionTierBenefit$appViewModels$$inlined$viewModels$1(f0Var), new h0(widgetGuildRoleSubscriptionTierBenefit$viewModel$2));
|
|
this.createChannelLauncher = WidgetCreateChannel.Companion.registerForResult(this, new WidgetGuildRoleSubscriptionTierBenefit$createChannelLauncher$1(this));
|
|
}
|
|
|
|
public static final /* synthetic */ void access$cancel(WidgetGuildRoleSubscriptionTierBenefit widgetGuildRoleSubscriptionTierBenefit) {
|
|
widgetGuildRoleSubscriptionTierBenefit.cancel();
|
|
}
|
|
|
|
public static final /* synthetic */ void access$configureUI(WidgetGuildRoleSubscriptionTierBenefit widgetGuildRoleSubscriptionTierBenefit, GuildRoleSubscriptionTierBenefitViewModel.ViewState viewState) {
|
|
widgetGuildRoleSubscriptionTierBenefit.configureUI(viewState);
|
|
}
|
|
|
|
public static final /* synthetic */ GuildRoleSubscriptionBenefitType access$getBenefitType$p(WidgetGuildRoleSubscriptionTierBenefit widgetGuildRoleSubscriptionTierBenefit) {
|
|
return widgetGuildRoleSubscriptionTierBenefit.getBenefitType();
|
|
}
|
|
|
|
public static final /* synthetic */ ActivityResultLauncher access$getCreateChannelLauncher$p(WidgetGuildRoleSubscriptionTierBenefit widgetGuildRoleSubscriptionTierBenefit) {
|
|
return widgetGuildRoleSubscriptionTierBenefit.createChannelLauncher;
|
|
}
|
|
|
|
public static final /* synthetic */ Benefit access$getExistingBenefit$p(WidgetGuildRoleSubscriptionTierBenefit widgetGuildRoleSubscriptionTierBenefit) {
|
|
return widgetGuildRoleSubscriptionTierBenefit.getExistingBenefit();
|
|
}
|
|
|
|
public static final /* synthetic */ long access$getGuildId$p(WidgetGuildRoleSubscriptionTierBenefit widgetGuildRoleSubscriptionTierBenefit) {
|
|
return widgetGuildRoleSubscriptionTierBenefit.getGuildId();
|
|
}
|
|
|
|
public static final /* synthetic */ String access$getTierName$p(WidgetGuildRoleSubscriptionTierBenefit widgetGuildRoleSubscriptionTierBenefit) {
|
|
return widgetGuildRoleSubscriptionTierBenefit.getTierName();
|
|
}
|
|
|
|
public static final /* synthetic */ GuildRoleSubscriptionTierBenefitViewModel access$getViewModel$p(WidgetGuildRoleSubscriptionTierBenefit widgetGuildRoleSubscriptionTierBenefit) {
|
|
return widgetGuildRoleSubscriptionTierBenefit.getViewModel();
|
|
}
|
|
|
|
public static final /* synthetic */ void access$handleEvent(WidgetGuildRoleSubscriptionTierBenefit widgetGuildRoleSubscriptionTierBenefit, GuildRoleSubscriptionTierBenefitViewModel.Event event) {
|
|
widgetGuildRoleSubscriptionTierBenefit.handleEvent(event);
|
|
}
|
|
|
|
private final void cancel() {
|
|
FragmentActivity requireActivity = requireActivity();
|
|
requireActivity.setResult(0);
|
|
AppFragment.hideKeyboard$default(this, null, 1, null);
|
|
requireActivity.finish();
|
|
}
|
|
|
|
private final void configureUI(GuildRoleSubscriptionTierBenefitViewModel.ViewState viewState) {
|
|
String str;
|
|
TextView textView = getBinding().m;
|
|
m.checkNotNullExpressionValue(textView, "binding.guildRoleSubscriptionTierBenefitSubtitle");
|
|
textView.setText(viewState.getTierName());
|
|
Emoji emoji = viewState.getEmoji();
|
|
String imageUri = emoji != null ? emoji.getImageUri(false, f.coerceAtMost(IconUtils.getMediaProxySize(getResources().getDimensionPixelSize(R.dimen.guild_role_subscription_create_benefit_emoji_size)), 64), requireContext()) : null;
|
|
SimpleDraweeView simpleDraweeView = getBinding().g;
|
|
m.checkNotNullExpressionValue(simpleDraweeView, "binding.guildRoleSubscriptionTierBenefitEmoji");
|
|
MGImages.setImage$default(simpleDraweeView, imageUri, 0, 0, true, null, null, 108, null);
|
|
if (emoji == null || (str = emoji.getFirstName()) == null) {
|
|
str = getString(R.string.guild_role_subscription_tier_benefits_emoji_placeholder);
|
|
m.checkNotNullExpressionValue(str, "getString(R.string.guild…nefits_emoji_placeholder)");
|
|
}
|
|
TextView textView2 = getBinding().h;
|
|
m.checkNotNullExpressionValue(textView2, "binding.guildRoleSubscriptionTierBenefitEmojiName");
|
|
textView2.setText(str);
|
|
TextInputLayout textInputLayout = getBinding().f;
|
|
m.checkNotNullExpressionValue(textInputLayout, "binding.guildRoleSubscri…ionTierBenefitDescription");
|
|
ViewExtensions.setTextIfDifferent(textInputLayout, viewState.getDescription());
|
|
String name = viewState.getName();
|
|
if (!(name == null || t.isBlank(name))) {
|
|
TextView textView3 = getBinding().i;
|
|
m.checkNotNullExpressionValue(textView3, "binding.guildRoleSubscriptionTierBenefitName");
|
|
textView3.setText(viewState.getName());
|
|
TextInputLayout textInputLayout2 = getBinding().d;
|
|
m.checkNotNullExpressionValue(textInputLayout2, "binding.guildRoleSubscri…tangibleBenefitNameLayout");
|
|
ViewExtensions.setTextIfDifferent(textInputLayout2, viewState.getName());
|
|
}
|
|
TextView textView4 = getBinding().i;
|
|
m.checkNotNullExpressionValue(textView4, "binding.guildRoleSubscriptionTierBenefitName");
|
|
Integer leadingNameIconResId = viewState.getLeadingNameIconResId();
|
|
ViewExtensions.setCompoundDrawableWithIntrinsicBounds$default(textView4, leadingNameIconResId != null ? leadingNameIconResId.intValue() : 0, 0, R.drawable.icon_carrot, 0, 10, null);
|
|
if (getBenefitType() == GuildRoleSubscriptionBenefitType.CHANNEL) {
|
|
getBinding().i.setOnClickListener(new WidgetGuildRoleSubscriptionTierBenefit$configureUI$1(this, viewState));
|
|
}
|
|
MaterialButton materialButton = getBinding().k;
|
|
m.checkNotNullExpressionValue(materialButton, "binding.guildRoleSubscriptionTierBenefitSave");
|
|
materialButton.setEnabled(viewState.getCanSubmitResult());
|
|
}
|
|
|
|
private final void configureUIForChannelBenefit() {
|
|
WidgetChannelPickerBottomSheet.Companion.registerForResult(this, REQUEST_KEY_CHANNEL_PICKER, new WidgetGuildRoleSubscriptionTierBenefit$configureUIForChannelBenefit$1(this), new WidgetGuildRoleSubscriptionTierBenefit$configureUIForChannelBenefit$2(this));
|
|
TextView textView = getBinding().b;
|
|
m.checkNotNullExpressionValue(textView, "binding.guildRoleSubscriptionBenefitChannelLabel");
|
|
textView.setVisibility(0);
|
|
TextView textView2 = getBinding().i;
|
|
m.checkNotNullExpressionValue(textView2, "binding.guildRoleSubscriptionTierBenefitName");
|
|
textView2.setVisibility(0);
|
|
TextView textView3 = getBinding().n;
|
|
m.checkNotNullExpressionValue(textView3, "binding.guildRoleSubscriptionTierBenefitTitle");
|
|
textView3.setText(getString(R.string.guild_role_subscription_tier_exclusive_channel_title));
|
|
}
|
|
|
|
private final void configureUIForIntangibleBenefit() {
|
|
TextView textView = getBinding().b;
|
|
m.checkNotNullExpressionValue(textView, "binding.guildRoleSubscriptionBenefitChannelLabel");
|
|
textView.setVisibility(8);
|
|
TextView textView2 = getBinding().i;
|
|
m.checkNotNullExpressionValue(textView2, "binding.guildRoleSubscriptionTierBenefitName");
|
|
textView2.setVisibility(8);
|
|
TextInputLayout textInputLayout = getBinding().d;
|
|
m.checkNotNullExpressionValue(textInputLayout, "binding.guildRoleSubscri…tangibleBenefitNameLayout");
|
|
textInputLayout.setVisibility(0);
|
|
TextView textView3 = getBinding().f1870c;
|
|
m.checkNotNullExpressionValue(textView3, "binding.guildRoleSubscri…ntangibleBenefitNameLabel");
|
|
textView3.setVisibility(0);
|
|
TextInputLayout textInputLayout2 = getBinding().d;
|
|
m.checkNotNullExpressionValue(textInputLayout2, "binding.guildRoleSubscri…tangibleBenefitNameLayout");
|
|
ViewExtensions.addBindedTextWatcher(textInputLayout2, this, new WidgetGuildRoleSubscriptionTierBenefit$configureUIForIntangibleBenefit$1(this));
|
|
TextView textView4 = getBinding().n;
|
|
m.checkNotNullExpressionValue(textView4, "binding.guildRoleSubscriptionTierBenefitTitle");
|
|
textView4.setText(getString(R.string.guild_role_subscription_tier_additional_benefit_title));
|
|
}
|
|
|
|
private final GuildRoleSubscriptionBenefitType getBenefitType() {
|
|
return (GuildRoleSubscriptionBenefitType) this.benefitType$delegate.getValue();
|
|
}
|
|
|
|
private final WidgetGuildRoleSubscriptionTierBenefitBinding getBinding() {
|
|
return (WidgetGuildRoleSubscriptionTierBenefitBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
|
|
}
|
|
|
|
private final Benefit getExistingBenefit() {
|
|
return (Benefit) this.existingBenefit$delegate.getValue();
|
|
}
|
|
|
|
private final long getGuildId() {
|
|
return ((Number) this.guildId$delegate.getValue()).longValue();
|
|
}
|
|
|
|
private final String getTierName() {
|
|
return (String) this.tierName$delegate.getValue();
|
|
}
|
|
|
|
private final GuildRoleSubscriptionTierBenefitViewModel getViewModel() {
|
|
return (GuildRoleSubscriptionTierBenefitViewModel) this.viewModel$delegate.getValue();
|
|
}
|
|
|
|
private final void handleEvent(GuildRoleSubscriptionTierBenefitViewModel.Event event) {
|
|
if (event instanceof GuildRoleSubscriptionTierBenefitViewModel.Event.SendResult) {
|
|
FragmentActivity requireActivity = requireActivity();
|
|
Intent intent = new Intent();
|
|
intent.putExtra(RESULT_EXTRA_EXISTING_BENEFIT, getExistingBenefit());
|
|
intent.putExtra(RESULT_EXTRA_BENEFIT, ((GuildRoleSubscriptionTierBenefitViewModel.Event.SendResult) event).getBenefit());
|
|
requireActivity.setResult(-1, intent);
|
|
AppFragment.hideKeyboard$default(this, null, 1, null);
|
|
requireActivity.finish();
|
|
}
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBound(View view) {
|
|
m.checkNotNullParameter(view, "view");
|
|
super.onViewBound(view);
|
|
int ordinal = getBenefitType().ordinal();
|
|
boolean z2 = true;
|
|
int i = 0;
|
|
if (ordinal == 0) {
|
|
AppLog appLog = AppLog.g;
|
|
StringBuilder P = a.P("Unknown benefit type: ");
|
|
P.append(getBenefitType());
|
|
Logger.e$default(appLog, P.toString(), null, null, 6, null);
|
|
c.a.d.m.i(this, R.string.default_failure_to_perform_action_message, 0, 4);
|
|
cancel();
|
|
} else if (ordinal == 1) {
|
|
configureUIForChannelBenefit();
|
|
} else if (ordinal == 2) {
|
|
configureUIForIntangibleBenefit();
|
|
}
|
|
getBinding().k.setOnClickListener(new WidgetGuildRoleSubscriptionTierBenefit$onViewBound$1(this));
|
|
getBinding().e.setOnClickListener(new WidgetGuildRoleSubscriptionTierBenefit$onViewBound$2(this));
|
|
getBinding().l.setOnClickListener(new WidgetGuildRoleSubscriptionTierBenefit$onViewBound$3(this));
|
|
TextInputLayout textInputLayout = getBinding().f;
|
|
m.checkNotNullExpressionValue(textInputLayout, "binding.guildRoleSubscri…ionTierBenefitDescription");
|
|
ViewExtensions.addBindedTextWatcher(textInputLayout, this, new WidgetGuildRoleSubscriptionTierBenefit$onViewBound$4(this));
|
|
getBinding().j.setOnClickListener(new WidgetGuildRoleSubscriptionTierBenefit$onViewBound$5(this));
|
|
MaterialButton materialButton = getBinding().j;
|
|
m.checkNotNullExpressionValue(materialButton, "binding.guildRoleSubscriptionTierBenefitRemove");
|
|
if (getExistingBenefit() == null) {
|
|
z2 = false;
|
|
}
|
|
if (!z2) {
|
|
i = 8;
|
|
}
|
|
materialButton.setVisibility(i);
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBoundOrOnResume() {
|
|
super.onViewBoundOrOnResume();
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle$default(getViewModel().observeViewState(), this, null, 2, null), WidgetGuildRoleSubscriptionTierBenefit.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetGuildRoleSubscriptionTierBenefit$onViewBoundOrOnResume$1(this), 62, (Object) null);
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle$default(getViewModel().observeEvents(), this, null, 2, null), WidgetGuildRoleSubscriptionTierBenefit.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetGuildRoleSubscriptionTierBenefit$onViewBoundOrOnResume$2(this), 62, (Object) null);
|
|
}
|
|
}
|