package com.discord.widgets.auth; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import androidx.activity.result.ActivityResultLauncher; import androidx.core.app.NotificationCompat; import androidx.fragment.app.Fragment; import b.a.d.j; import b.a.k.b; import b.d.b.a.a; import com.discord.R; import com.discord.app.AppFragment; import com.discord.app.LoggingConfig; import com.discord.databinding.WidgetAuthRegisterIdentityBinding; import com.discord.models.experiments.domain.Experiment; import com.discord.restapi.RestAPIParams; import com.discord.stores.StorePhone; import com.discord.stores.StoreStream; import com.discord.stores.updates.ObservationDeck; import com.discord.stores.updates.ObservationDeckProvider; import com.discord.stores.utilities.RestCallStateKt; import com.discord.utilities.auth.RegistrationFlowRepo; import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.rest.RestAPI; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.utilities.view.extensions.ViewExtensions; import com.discord.utilities.view.text.LinkifiedTextView; import com.discord.utilities.view.validators.ValidationManager; import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt; import com.discord.views.phone.PhoneOrEmailInputView; import com.discord.views.segmentedcontrol.CardSegment; import com.discord.views.segmentedcontrol.SegmentedControlContainer; import d0.g; import d0.t.u; import d0.z.d.m; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import kotlin.Lazy; import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function1; import kotlin.jvm.internal.DefaultConstructorMarker; import kotlin.reflect.KProperty; /* compiled from: WidgetAuthRegisterIdentity.kt */ public final class WidgetAuthRegisterIdentity extends AppFragment { public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.b0(WidgetAuthRegisterIdentity.class, "binding", "getBinding()Lcom/discord/databinding/WidgetAuthRegisterIdentityBinding;", 0)}; public static final Companion Companion = new Companion(null); private static final String IS_PHONE_MODE = "IS_PHONE_MODE"; private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetAuthRegisterIdentity$binding$2.INSTANCE, null, 2, null); private final ActivityResultLauncher captchaLauncher = WidgetAuthCaptcha.Companion.registerForResult(this, new WidgetAuthRegisterIdentity$captchaLauncher$1(this)); private final Lazy emailValidationManager$delegate = g.lazy(new WidgetAuthRegisterIdentity$emailValidationManager$2(this)); private PhoneOrEmailInputView.Mode inputMode = PhoneOrEmailInputView.Mode.PHONE; private final LoggingConfig loggingConfig = new LoggingConfig(false, null, WidgetAuthRegisterIdentity$loggingConfig$1.INSTANCE, 3); private final Lazy phoneValidationManager$delegate = g.lazy(new WidgetAuthRegisterIdentity$phoneValidationManager$2(this)); private final ActivityResultLauncher phoneVerifyLauncher = WidgetAuthPhoneVerify.Companion.registerForResult(this, new WidgetAuthRegisterIdentity$phoneVerifyLauncher$1(this)); private boolean shouldValidateInputs = true; /* compiled from: WidgetAuthRegisterIdentity.kt */ public static final class Companion { private Companion() { } public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } } public WidgetAuthRegisterIdentity() { super(R.layout.widget_auth_register_identity); } public static final /* synthetic */ WidgetAuthRegisterIdentityBinding access$getBinding$p(WidgetAuthRegisterIdentity widgetAuthRegisterIdentity) { return widgetAuthRegisterIdentity.getBinding(); } public static final /* synthetic */ ActivityResultLauncher access$getCaptchaLauncher$p(WidgetAuthRegisterIdentity widgetAuthRegisterIdentity) { return widgetAuthRegisterIdentity.captchaLauncher; } public static final /* synthetic */ ActivityResultLauncher access$getPhoneVerifyLauncher$p(WidgetAuthRegisterIdentity widgetAuthRegisterIdentity) { return widgetAuthRegisterIdentity.phoneVerifyLauncher; } public static final /* synthetic */ void access$handleNext(WidgetAuthRegisterIdentity widgetAuthRegisterIdentity) { widgetAuthRegisterIdentity.handleNext(); } public static final /* synthetic */ void access$registerViaPhone(WidgetAuthRegisterIdentity widgetAuthRegisterIdentity, CaptchaHelper.CaptchaPayload captchaPayload) { widgetAuthRegisterIdentity.registerViaPhone(captchaPayload); } public static final /* synthetic */ void access$setInputMode(WidgetAuthRegisterIdentity widgetAuthRegisterIdentity, PhoneOrEmailInputView.Mode mode) { widgetAuthRegisterIdentity.setInputMode(mode); } private final void configurePhoneInput() { getBinding().d.setMode(this.inputMode); if (this.inputMode == PhoneOrEmailInputView.Mode.PHONE) { getBinding().d.setHint(getString(R.string.form_label_phone_number)); } else { getBinding().d.setHint(getString(R.string.form_label_email)); } getBinding().d.getMainEditText().setImeOptions(6); ViewExtensions.setOnImeActionDone$default(getBinding().d.getMainTextInputLayout(), false, new WidgetAuthRegisterIdentity$configurePhoneInput$1(this), 1, null); } private final void configureSegmentControl() { int i = 0; SegmentedControlContainer.b(getBinding().g, 0, 1); getBinding().g.setOnSegmentSelectedChangeListener(new WidgetAuthRegisterIdentity$configureSegmentControl$1(this)); PhoneOrEmailInputView.Mode mode = this.inputMode; PhoneOrEmailInputView.Mode mode2 = PhoneOrEmailInputView.Mode.PHONE; if (mode != mode2) { i = 1; } getBinding().g.setSelectedIndex(i); CardSegment cardSegmentForMode = getCardSegmentForMode(mode2); cardSegmentForMode.setText(getString(R.string.phone)); cardSegmentForMode.setContentDescription(getString(R.string.use_phone)); CardSegment cardSegmentForMode2 = getCardSegmentForMode(PhoneOrEmailInputView.Mode.EMAIL); cardSegmentForMode2.setText(getString(R.string.email)); cardSegmentForMode2.setContentDescription(getString(R.string.use_email)); } private final void configureUI() { getBinding().d.b(this); StorePhone phone = StoreStream.Companion.getPhone(); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservationDeck.connectRx$default(ObservationDeckProvider.get(), new ObservationDeck.UpdateSource[]{phone}, false, null, null, new WidgetAuthRegisterIdentity$configureUI$1(phone), 14, null), this, null, 2, null), WidgetAuthRegisterIdentity.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetAuthRegisterIdentity$configureUI$2(this), 62, (Object) null); configurePhoneInput(); configureSegmentControl(); getBinding().d.requestFocus(); LinkifiedTextView linkifiedTextView = getBinding().e; m.checkNotNullExpressionValue(linkifiedTextView, "binding.authRegisterIdentityPolicyLink"); b.n(linkifiedTextView, R.string.register_login_privacy_notice, new Object[]{getString(R.string.privacy_policy_url)}, null, 4); getBinding().f2222b.setOnClickListener(new WidgetAuthRegisterIdentity$configureUI$3(this)); } private final WidgetAuthRegisterIdentityBinding getBinding() { return (WidgetAuthRegisterIdentityBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]); } private final CardSegment getCardSegmentForMode(PhoneOrEmailInputView.Mode mode) { if (mode == PhoneOrEmailInputView.Mode.PHONE) { CardSegment cardSegment = getBinding().c; m.checkNotNullExpressionValue(cardSegment, "binding.authRegisterIdentityFirstSegmentCard"); return cardSegment; } CardSegment cardSegment2 = getBinding().f; m.checkNotNullExpressionValue(cardSegment2, "binding.authRegisterIdentitySecondSegmentCard"); return cardSegment2; } private final ValidationManager getEmailValidationManager() { return (ValidationManager) this.emailValidationManager$delegate.getValue(); } private final ValidationManager getPhoneValidationManager() { return (ValidationManager) this.phoneValidationManager$delegate.getValue(); } private final void handleNext() { if (this.inputMode == PhoneOrEmailInputView.Mode.EMAIL) { if (!this.shouldValidateInputs || ValidationManager.validate$default(getEmailValidationManager(), false, 1, null)) { registerViaEmail(); } else { RegistrationFlowRepo.trackTransition$default(RegistrationFlowRepo.Companion.getINSTANCE(), "Account Identity", "input_error", null, 4, null); } } else if (!this.shouldValidateInputs || ValidationManager.validate$default(getPhoneValidationManager(), false, 1, null)) { registerViaPhone$default(this, null, 1, null); } else { RegistrationFlowRepo.trackTransition$default(RegistrationFlowRepo.Companion.getINSTANCE(), "Account Identity", "input_error", null, 4, null); } } private final void registerViaEmail() { RegistrationFlowRepo.Companion companion = RegistrationFlowRepo.Companion; companion.getINSTANCE().setEmail(getBinding().d.getTextOrEmpty()); RegistrationFlowRepo.trackTransition$default(companion.getINSTANCE(), "Account Identity", "success", null, 4, null); j.e(requireContext(), WidgetAuthRegisterAccountInformation.class, null, 4); } private final void registerViaPhone(CaptchaHelper.CaptchaPayload captchaPayload) { String textOrEmpty = getBinding().d.getTextOrEmpty(); RegistrationFlowRepo.Companion.getINSTANCE().setPhone(textOrEmpty); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.withDimmer$default(ObservableExtensionsKt.ui$default(RestCallStateKt.logNetworkAction(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.Companion.getApi().postAuthRegisterPhone(new RestAPIParams.AuthRegisterPhone(textOrEmpty, captchaPayload != null ? captchaPayload.getCaptchaKey() : null, captchaPayload != null ? captchaPayload.getCaptchaRqtoken() : null)), false, 1, null), WidgetAuthRegisterIdentity$registerViaPhone$1.INSTANCE), this, null, 2, null), getBinding().h, 0, 2, null), WidgetAuthRegisterIdentity.class, getContext(), (Function1) null, new WidgetAuthRegisterIdentity$registerViaPhone$3(this), (Function0) null, (Function0) null, new WidgetAuthRegisterIdentity$registerViaPhone$2(this, textOrEmpty), 52, (Object) null); } public static /* synthetic */ void registerViaPhone$default(WidgetAuthRegisterIdentity widgetAuthRegisterIdentity, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { if ((i & 1) != 0) { captchaPayload = null; } widgetAuthRegisterIdentity.registerViaPhone(captchaPayload); } private final void setInputMode(PhoneOrEmailInputView.Mode mode) { if (this.inputMode != mode) { this.inputMode = mode; getBinding().d.getMainTextInputLayout().setError(null); configurePhoneInput(); } } @Override // com.discord.app.AppFragment, com.discord.app.AppLogger.a public LoggingConfig getLoggingConfig() { return this.loggingConfig; } @Override // com.discord.app.AppFragment, androidx.fragment.app.Fragment public void onResume() { super.onResume(); configureUI(); Map> errors = RegistrationFlowRepo.Companion.getINSTANCE().getErrors(); if (errors != null) { getEmailValidationManager().setErrors(errors); Set keySet = errors.keySet(); ArrayList arrayList = new ArrayList(); Iterator it = keySet.iterator(); while (true) { boolean z2 = true; if (!it.hasNext()) { break; } Object next = it.next(); String str = (String) next; if (!m.areEqual(str, NotificationCompat.CATEGORY_EMAIL) && !m.areEqual(str, "phone")) { z2 = false; } if (z2) { arrayList.add(next); } } List list = u.toList(arrayList); if (!list.isEmpty()) { RegistrationFlowRepo.Companion.getINSTANCE().trackTransition("Account Identity", "response_error", list); } } } @Override // androidx.fragment.app.Fragment public void onSaveInstanceState(Bundle bundle) { m.checkNotNullParameter(bundle, "outState"); super.onSaveInstanceState(bundle); bundle.putBoolean(IS_PHONE_MODE, this.inputMode == PhoneOrEmailInputView.Mode.PHONE); } @Override // com.discord.app.AppFragment, androidx.fragment.app.Fragment public void onViewCreated(View view, Bundle bundle) { m.checkNotNullParameter(view, "view"); super.onViewCreated(view, bundle); this.inputMode = (bundle == null || bundle.getBoolean(IS_PHONE_MODE)) ? PhoneOrEmailInputView.Mode.PHONE : PhoneOrEmailInputView.Mode.EMAIL; RegistrationFlowRepo.trackTransition$default(RegistrationFlowRepo.Companion.getINSTANCE(), "Account Identity", "submitted", null, 4, null); StoreStream.Companion companion = StoreStream.Companion; boolean z2 = true; Experiment userExperiment = companion.getExperiments().getUserExperiment("2021-01_android_registration_flow", true); if ((userExperiment != null && userExperiment.getBucket() == 1) || (userExperiment != null && userExperiment.getBucket() == 3)) { z2 = false; } this.shouldValidateInputs = z2; configureUI(); companion.getInviteSettings().trackWithInvite$app_productionCanaryRelease(WidgetAuthRegisterIdentity.class, WidgetAuthRegisterIdentity$onViewCreated$1.INSTANCE); } }