discord-jadx/app/src/main/java/com/discord/widgets/auth/WidgetAuthPhoneVerify.java

345 lines
16 KiB
Java

package com.discord.widgets.auth;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.text.TextUtils;
import android.view.ContextMenu;
import android.view.MenuInflater;
import android.view.MenuItem;
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 c.a.d.j;
import c.d.b.a.a;
import c0.z.d.m;
import com.discord.R;
import com.discord.app.AppActivity;
import com.discord.app.AppFragment;
import com.discord.app.AppTransitionActivity;
import com.discord.app.LoggingConfig;
import com.discord.databinding.WidgetAuthPhoneVerifyBinding;
import com.discord.models.experiments.domain.Experiment;
import com.discord.restapi.RestAPIParams;
import com.discord.stores.StoreStream;
import com.discord.stores.utilities.RestCallStateKt;
import com.discord.utilities.auth.RegistrationFlowRepo;
import com.discord.utilities.rest.RestAPI;
import com.discord.utilities.rx.ObservableExtensionsKt;
import com.discord.utilities.sms.SmsListener;
import com.discord.utilities.viewbinding.FragmentViewBindingDelegate;
import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt;
import java.util.concurrent.TimeUnit;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.reflect.KProperty;
import kotlin.text.Regex;
import rx.Observable;
/* compiled from: WidgetAuthPhoneVerify.kt */
public final class WidgetAuthPhoneVerify extends AppFragment {
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.Z(WidgetAuthPhoneVerify.class, "binding", "getBinding()Lcom/discord/databinding/WidgetAuthPhoneVerifyBinding;", 0)};
public static final Companion Companion = new Companion(null);
private static final String INTENT_EXTRA_PHONE = "INTENT_EXTRA_PHONE";
private static final String INTENT_EXTRA_SUBTITLE = "INTENT_EXTRA_SUBTITLE";
private static final String INTENT_EXTRA_TITLE = "INTENT_EXTRA_TITLE";
private static final int RESULT_BACK_TO_EMAIL = 2;
private static final String RESULT_EXTRA_TOKEN = "RESULT_EXTRA_TOKEN";
private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetAuthPhoneVerify$binding$2.INSTANCE, null, 2, null);
private boolean ignoreAutopaste = true;
private final LoggingConfig loggingConfig = new LoggingConfig(false, null, WidgetAuthPhoneVerify$loggingConfig$1.INSTANCE, 3);
private String phone;
/* compiled from: WidgetAuthPhoneVerify.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
public final void launch(Context context, ActivityResultLauncher<Intent> activityResultLauncher, String str, CharSequence charSequence, CharSequence charSequence2) {
m.checkNotNullParameter(context, "context");
m.checkNotNullParameter(activityResultLauncher, "launcher");
m.checkNotNullParameter(str, "phone");
m.checkNotNullParameter(charSequence, "title");
m.checkNotNullParameter(charSequence2, "subtitle");
Intent intent = new Intent();
intent.putExtra(WidgetAuthPhoneVerify.INTENT_EXTRA_PHONE, str);
intent.putExtra(WidgetAuthPhoneVerify.INTENT_EXTRA_TITLE, charSequence);
intent.putExtra(WidgetAuthPhoneVerify.INTENT_EXTRA_SUBTITLE, charSequence2);
j.g.f(context, activityResultLauncher, WidgetAuthPhoneVerify.class, intent);
}
public final ActivityResultLauncher<Intent> registerForResult(AppFragment appFragment, Function1<? super Result, Unit> function1) {
m.checkNotNullParameter(appFragment, "fragment");
m.checkNotNullParameter(function1, "callback");
ActivityResultLauncher<Intent> registerForActivityResult = appFragment.registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new WidgetAuthPhoneVerify$Companion$registerForResult$1(function1));
m.checkNotNullExpressionValue(registerForActivityResult, "fragment.registerForActi…ed)\n }\n }");
return registerForActivityResult;
}
}
/* compiled from: WidgetAuthPhoneVerify.kt */
public static abstract class Result {
/* compiled from: WidgetAuthPhoneVerify.kt */
public static final class Cancelled extends Result {
public static final Cancelled INSTANCE = new Cancelled();
private Cancelled() {
super(null);
}
}
/* compiled from: WidgetAuthPhoneVerify.kt */
public static final class Token extends Result {
private final String token;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public Token(String str) {
super(null);
m.checkNotNullParameter(str, "token");
this.token = str;
}
public static /* synthetic */ Token copy$default(Token token, String str, int i, Object obj) {
if ((i & 1) != 0) {
str = token.token;
}
return token.copy(str);
}
public final String component1() {
return this.token;
}
public final Token copy(String str) {
m.checkNotNullParameter(str, "token");
return new Token(str);
}
public boolean equals(Object obj) {
if (this != obj) {
return (obj instanceof Token) && m.areEqual(this.token, ((Token) obj).token);
}
return true;
}
public final String getToken() {
return this.token;
}
public int hashCode() {
String str = this.token;
if (str != null) {
return str.hashCode();
}
return 0;
}
public String toString() {
return a.G(a.O("Token(token="), this.token, ")");
}
}
private Result() {
}
public /* synthetic */ Result(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
}
public WidgetAuthPhoneVerify() {
super(R.layout.widget_auth_phone_verify);
}
public static final /* synthetic */ void access$bailoutToEmail(WidgetAuthPhoneVerify widgetAuthPhoneVerify) {
widgetAuthPhoneVerify.bailoutToEmail();
}
public static final /* synthetic */ void access$evaluateCode(WidgetAuthPhoneVerify widgetAuthPhoneVerify, String str) {
widgetAuthPhoneVerify.evaluateCode(str);
}
public static final /* synthetic */ WidgetAuthPhoneVerifyBinding access$getBinding$p(WidgetAuthPhoneVerify widgetAuthPhoneVerify) {
return widgetAuthPhoneVerify.getBinding();
}
public static final /* synthetic */ void access$inputCode(WidgetAuthPhoneVerify widgetAuthPhoneVerify, String str) {
widgetAuthPhoneVerify.inputCode(str);
}
public static final /* synthetic */ void access$resendCode(WidgetAuthPhoneVerify widgetAuthPhoneVerify) {
widgetAuthPhoneVerify.resendCode();
}
public static final /* synthetic */ void access$tryPasteCodeFromClipboard(WidgetAuthPhoneVerify widgetAuthPhoneVerify) {
widgetAuthPhoneVerify.tryPasteCodeFromClipboard();
}
private final void bailoutToEmail() {
AppActivity appActivity = getAppActivity();
if (appActivity != null) {
appActivity.setResult(2);
}
AppTransitionActivity.i = true;
AppActivity appActivity2 = getAppActivity();
if (appActivity2 != null) {
appActivity2.overridePendingTransition(R.anim.activity_slide_horizontal_open_in, R.anim.activity_slide_horizontal_close_out);
}
AppActivity appActivity3 = getAppActivity();
if (appActivity3 != null) {
appActivity3.finish();
}
}
private final void evaluateCode(String str) {
RegistrationFlowRepo.trackTransition$default(RegistrationFlowRepo.Companion.getINSTANCE(), "Phone Verification", "submitted", null, 4, null);
RestAPI api = RestAPI.Companion.getApi();
String str2 = this.phone;
if (str2 == null) {
m.throwUninitializedPropertyAccessException("phone");
}
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.withDimmer$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(RestCallStateKt.logNetworkAction(api.phoneVerificationsVerify(new RestAPIParams.VerificationCode(str2, str)), WidgetAuthPhoneVerify$evaluateCode$1.INSTANCE), false, 1, null), this, null, 2, null), getBinding().g, 0, 2, null), WidgetAuthPhoneVerify.class, getContext(), (Function1) null, new WidgetAuthPhoneVerify$evaluateCode$3(this), (Function0) null, (Function0) null, new WidgetAuthPhoneVerify$evaluateCode$2(this), 52, (Object) null);
}
private final WidgetAuthPhoneVerifyBinding getBinding() {
return (WidgetAuthPhoneVerifyBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
}
private final void inputCode(String str) {
if (getView() != null) {
getBinding().f2114c.setOnCodeEntered(WidgetAuthPhoneVerify$inputCode$1.INSTANCE);
getBinding().f2114c.setCode(str);
getBinding().f2114c.setOnCodeEntered(new WidgetAuthPhoneVerify$inputCode$2(this));
Observable<Long> d02 = Observable.d0(500, TimeUnit.MILLISECONDS);
m.checkNotNullExpressionValue(d02, "Observable\n .time…L, TimeUnit.MILLISECONDS)");
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(d02, this, null, 2, null), WidgetAuthPhoneVerify.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetAuthPhoneVerify$inputCode$3(this), 62, (Object) null);
}
}
private final void resendCode() {
RestAPI api = RestAPI.Companion.getApi();
String str = this.phone;
if (str == null) {
m.throwUninitializedPropertyAccessException("phone");
}
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.withDimmer$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(api.phoneVerificationsResend(new RestAPIParams.VerificationCodeResend(str)), false, 1, null), this, null, 2, null), getBinding().g, 0, 2, null), WidgetAuthPhoneVerify.class, getContext(), (Function1) null, new WidgetAuthPhoneVerify$resendCode$2(this), (Function0) null, (Function0) null, new WidgetAuthPhoneVerify$resendCode$1(this), 52, (Object) null);
}
private final void tryPasteCodeFromClipboard() {
ClipData primaryClip;
Context context = getContext();
if (context != null) {
m.checkNotNullExpressionValue(context, "context ?: return");
Object systemService = context.getSystemService("clipboard");
if (!(systemService instanceof ClipboardManager)) {
systemService = null;
}
ClipboardManager clipboardManager = (ClipboardManager) systemService;
if (clipboardManager != null && (primaryClip = clipboardManager.getPrimaryClip()) != null) {
m.checkNotNullExpressionValue(primaryClip, "clipboard.primaryClip ?: return");
if (primaryClip.getItemCount() >= 1) {
CharSequence coerceToText = primaryClip.getItemAt(0).coerceToText(context);
m.checkNotNullExpressionValue(coerceToText, "clipData.getItemAt(0).coerceToText(context)");
String replace = new Regex(" ").replace(coerceToText, "");
if (replace.length() == 6 && TextUtils.isDigitsOnly(replace)) {
inputCode(replace);
}
}
}
}
}
@Override // com.discord.app.AppFragment, com.discord.app.AppLogger.a
public LoggingConfig getLoggingConfig() {
return this.loggingConfig;
}
@Override // androidx.fragment.app.Fragment
public boolean onContextItemSelected(MenuItem menuItem) {
m.checkNotNullParameter(menuItem, "item");
if (menuItem.getItemId() != R.id.menu_code_verification_paste) {
return super.onContextItemSelected(menuItem);
}
tryPasteCodeFromClipboard();
return true;
}
@Override // androidx.fragment.app.Fragment, android.view.View.OnCreateContextMenuListener
public void onCreateContextMenu(ContextMenu contextMenu, View view, ContextMenu.ContextMenuInfo contextMenuInfo) {
m.checkNotNullParameter(contextMenu, "menu");
m.checkNotNullParameter(view, "v");
super.onCreateContextMenu(contextMenu, view, contextMenuInfo);
new MenuInflater(requireContext()).inflate(R.menu.menu_code_verification, contextMenu);
}
@Override // com.discord.app.AppFragment, androidx.fragment.app.Fragment
public void onDestroyView() {
super.onDestroyView();
SmsListener.Companion.stopSmsListener();
}
@Override // com.discord.app.AppFragment, androidx.fragment.app.Fragment
public void onResume() {
super.onResume();
if (!this.ignoreAutopaste) {
i0.l.e.j jVar = new i0.l.e.j(Unit.a);
m.checkNotNullExpressionValue(jVar, "Observable\n .just(Unit)");
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(jVar, this, null, 2, null), WidgetAuthPhoneVerify.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetAuthPhoneVerify$onResume$1(this), 62, (Object) null);
return;
}
this.ignoreAutopaste = false;
}
@Override // com.discord.app.AppFragment
public void onViewBound(View view) {
m.checkNotNullParameter(view, "view");
super.onViewBound(view);
String stringExtra = getMostRecentIntent().getStringExtra(INTENT_EXTRA_PHONE);
if (stringExtra == null) {
stringExtra = "";
}
this.phone = stringExtra;
RegistrationFlowRepo.trackTransition$default(RegistrationFlowRepo.Companion.getINSTANCE(), "Phone Verification", "viewed", null, 4, null);
CharSequence charSequenceExtra = getMostRecentIntent().getCharSequenceExtra(INTENT_EXTRA_TITLE);
if (charSequenceExtra == null) {
charSequenceExtra = "";
}
m.checkNotNullExpressionValue(charSequenceExtra, "mostRecentIntent.getChar…INTENT_EXTRA_TITLE) ?: \"\"");
CharSequence charSequenceExtra2 = getMostRecentIntent().getCharSequenceExtra(INTENT_EXTRA_SUBTITLE);
if (charSequenceExtra2 == null) {
charSequenceExtra2 = "";
}
m.checkNotNullExpressionValue(charSequenceExtra2, "mostRecentIntent.getChar…ENT_EXTRA_SUBTITLE) ?: \"\"");
if (!m.areEqual(charSequenceExtra, "")) {
TextView textView = getBinding().f;
m.checkNotNullExpressionValue(textView, "binding.authPhoneVerifyTitle");
textView.setText(charSequenceExtra);
}
if (!m.areEqual(charSequenceExtra2, "")) {
TextView textView2 = getBinding().e;
m.checkNotNullExpressionValue(textView2, "binding.authPhoneVerifySubtitle");
textView2.setText(charSequenceExtra2);
}
getBinding().d.setOnClickListener(new WidgetAuthPhoneVerify$onViewBound$1(this));
Experiment userExperiment = StoreStream.Companion.getExperiments().getUserExperiment("2021-06_reg_bailout_to_email_android", true);
if (userExperiment != null && userExperiment.getBucket() == 1) {
TextView textView3 = getBinding().b;
m.checkNotNullExpressionValue(textView3, "binding.authPhoneBailout");
textView3.setVisibility(0);
getBinding().b.setOnClickListener(new WidgetAuthPhoneVerify$onViewBound$2(this));
}
getBinding().f2114c.setOnCodeEntered(new WidgetAuthPhoneVerify$onViewBound$3(this));
registerForContextMenu(getBinding().f2114c);
SmsListener.Companion.startSmsListener(new WidgetAuthPhoneVerify$onViewBound$4(this));
}
}