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

263 lines
13 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.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.MainThread;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
import b.a.d.j;
import b.a.d.o;
import b.a.i.j4;
import b.a.k.b;
import b.d.b.a.a;
import com.discord.R;
import com.discord.app.AppActivity;
import com.discord.app.AppFragment;
import com.discord.databinding.WidgetAuthMfaBackupCodesBinding;
import com.discord.databinding.WidgetAuthMfaBinding;
import com.discord.stores.StoreAuthentication;
import com.discord.stores.StoreStream;
import com.discord.utilities.auth.AuthUtils;
import com.discord.utilities.rx.ObservableExtensionsKt;
import com.discord.utilities.view.text.LinkifiedTextView;
import com.discord.utilities.viewbinding.FragmentViewBindingDelegate;
import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt;
import com.discord.views.CodeVerificationView;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.textfield.TextInputLayout;
import d0.z.d.m;
import java.util.concurrent.TimeUnit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.reflect.KProperty;
import rx.Observable;
/* compiled from: WidgetAuthMfa.kt */
public final class WidgetAuthMfa extends AppFragment {
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.b0(WidgetAuthMfa.class, "binding", "getBinding()Lcom/discord/databinding/WidgetAuthMfaBinding;", 0)};
private static final int BACKUP_CODE_DIGITS = 8;
public static final Companion Companion = new Companion(null);
private static final String INTENT_TICKET = "INTENT_TICKET";
private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetAuthMfa$binding$2.INSTANCE, null, 2, null);
private boolean ignoreAutopaste = true;
private String ticket;
/* compiled from: WidgetAuthMfa.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
public final void start(Context context, String str) {
m.checkNotNullParameter(context, "context");
m.checkNotNullParameter(str, "ticket");
Intent intent = new Intent();
intent.putExtra(WidgetAuthMfa.INTENT_TICKET, str);
j.d(context, WidgetAuthMfa.class, intent);
}
}
public WidgetAuthMfa() {
super(R.layout.widget_auth_mfa);
}
public static final /* synthetic */ void access$evaluateBackupCode(WidgetAuthMfa widgetAuthMfa, AlertDialog alertDialog, String str) {
widgetAuthMfa.evaluateBackupCode(alertDialog, str);
}
public static final /* synthetic */ void access$evaluateCode(WidgetAuthMfa widgetAuthMfa, String str) {
widgetAuthMfa.evaluateCode(str);
}
public static final /* synthetic */ WidgetAuthMfaBinding access$getBinding$p(WidgetAuthMfa widgetAuthMfa) {
return widgetAuthMfa.getBinding();
}
public static final /* synthetic */ void access$showBackupCodesDialog(WidgetAuthMfa widgetAuthMfa) {
widgetAuthMfa.showBackupCodesDialog();
}
public static final /* synthetic */ void access$showInfoDialog(WidgetAuthMfa widgetAuthMfa) {
widgetAuthMfa.showInfoDialog();
}
public static final /* synthetic */ void access$tryPasteCodeFromClipboard(WidgetAuthMfa widgetAuthMfa) {
widgetAuthMfa.tryPasteCodeFromClipboard();
}
private final void evaluateBackupCode(AlertDialog alertDialog, String str) {
if (str.length() < 8) {
b.a.d.m.i(this, R.string.two_fa_backup_code_enter_wrong, 0, 4);
return;
}
alertDialog.hide();
evaluateCode(str);
}
private final void evaluateCode(String str) {
if (TextUtils.isEmpty(str)) {
b.a.d.m.i(this, R.string.two_fa_token_required, 0, 4);
return;
}
StoreAuthentication authentication = StoreStream.Companion.getAuthentication();
String str2 = this.ticket;
if (str2 == null) {
m.throwUninitializedPropertyAccessException("ticket");
}
ObservableExtensionsKt.withDimmer(ObservableExtensionsKt.ui$default(authentication.authMFA(str, str2), this, null, 2, null), getBinding().c, 0).k(o.a.g(getContext(), WidgetAuthMfa$evaluateCode$1.INSTANCE, new WidgetAuthMfa$evaluateCode$2(this)));
}
private final WidgetAuthMfaBinding getBinding() {
return (WidgetAuthMfaBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
}
@MainThread
private final void showBackupCodesDialog() {
View inflate = getLayoutInflater().inflate(R.layout.widget_auth_mfa_backup_codes, (ViewGroup) null, false);
int i = R.id.server_settings_delete_server_header;
TextView textView = (TextView) inflate.findViewById(R.id.server_settings_delete_server_header);
if (textView != null) {
i = R.id.widget_auth_mfa_backup_codes_cancel;
MaterialButton materialButton = (MaterialButton) inflate.findViewById(R.id.widget_auth_mfa_backup_codes_cancel);
if (materialButton != null) {
i = R.id.widget_auth_mfa_backup_codes_edittext;
TextInputLayout textInputLayout = (TextInputLayout) inflate.findViewById(R.id.widget_auth_mfa_backup_codes_edittext);
if (textInputLayout != null) {
i = R.id.widget_auth_mfa_backup_codes_send;
MaterialButton materialButton2 = (MaterialButton) inflate.findViewById(R.id.widget_auth_mfa_backup_codes_send);
if (materialButton2 != null) {
LinearLayout linearLayout = (LinearLayout) inflate;
WidgetAuthMfaBackupCodesBinding widgetAuthMfaBackupCodesBinding = new WidgetAuthMfaBackupCodesBinding(linearLayout, textView, materialButton, textInputLayout, materialButton2);
m.checkNotNullExpressionValue(widgetAuthMfaBackupCodesBinding, "WidgetAuthMfaBackupCodes…outInflater, null, false)");
m.checkNotNullExpressionValue(linearLayout, "binding.root");
AlertDialog show = new AlertDialog.Builder(linearLayout.getContext()).setView(linearLayout).show();
materialButton2.setOnClickListener(new WidgetAuthMfa$showBackupCodesDialog$1(this, show, widgetAuthMfaBackupCodesBinding));
materialButton.setOnClickListener(new WidgetAuthMfa$showBackupCodesDialog$2(show));
return;
}
}
}
}
throw new NullPointerException("Missing required view with ID: ".concat(inflate.getResources().getResourceName(i)));
}
@MainThread
private final void showInfoDialog() {
View inflate = getLayoutInflater().inflate(R.layout.widget_auth_mfa_info, (ViewGroup) null, false);
int i = R.id.server_settings_delete_server_header;
TextView textView = (TextView) inflate.findViewById(R.id.server_settings_delete_server_header);
if (textView != null) {
i = R.id.widget_auth_mfa_info_okay;
MaterialButton materialButton = (MaterialButton) inflate.findViewById(R.id.widget_auth_mfa_info_okay);
if (materialButton != null) {
i = R.id.widget_auth_mfa_info_text;
LinkifiedTextView linkifiedTextView = (LinkifiedTextView) inflate.findViewById(R.id.widget_auth_mfa_info_text);
if (linkifiedTextView != null) {
LinearLayout linearLayout = (LinearLayout) inflate;
m.checkNotNullExpressionValue(new j4(linearLayout, textView, materialButton, linkifiedTextView), "WidgetAuthMfaInfoBinding…outInflater, null, false)");
m.checkNotNullExpressionValue(linearLayout, "binding.root");
AlertDialog show = new AlertDialog.Builder(linearLayout.getContext()).setView(linearLayout).show();
m.checkNotNullExpressionValue(linkifiedTextView, "binding.widgetAuthMfaInfoText");
b.n(linkifiedTextView, R.string.two_fa_download_app_body, new Object[]{AuthUtils.URL_AUTHY, AuthUtils.URL_GOOGLE_AUTHENTICATOR}, null, 4);
materialButton.setOnClickListener(new WidgetAuthMfa$showInfoDialog$1(show));
return;
}
}
}
throw new NullPointerException("Missing required view with ID: ".concat(inflate.getResources().getResourceName(i)));
}
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);
if (coerceToText.length() == 6 && TextUtils.isDigitsOnly(coerceToText)) {
getBinding().f2205b.setOnCodeEntered(WidgetAuthMfa$tryPasteCodeFromClipboard$1.INSTANCE);
CodeVerificationView codeVerificationView = getBinding().f2205b;
m.checkNotNullExpressionValue(coerceToText, "clipboardText");
codeVerificationView.setCode(coerceToText);
getBinding().f2205b.setOnCodeEntered(new WidgetAuthMfa$tryPasteCodeFromClipboard$2(this));
Observable<Long> d02 = Observable.d0(500, TimeUnit.MILLISECONDS);
m.checkNotNullExpressionValue(d02, "Observable\n .…L, TimeUnit.MILLISECONDS)");
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(d02, this, null, 2, null), WidgetAuthMfa.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetAuthMfa$tryPasteCodeFromClipboard$3(this), 62, (Object) null);
}
}
}
}
}
@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 onResume() {
super.onResume();
if (!this.ignoreAutopaste) {
Observable<Long> d02 = Observable.d0(250, TimeUnit.MILLISECONDS);
m.checkNotNullExpressionValue(d02, "Observable\n .ti…L, TimeUnit.MILLISECONDS)");
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(d02, this, null, 2, null), WidgetAuthMfa.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetAuthMfa$onResume$1(this), 62, (Object) null);
return;
}
this.ignoreAutopaste = false;
}
@Override // com.discord.app.AppFragment
public void onViewBound(View view) {
AppActivity appActivity;
m.checkNotNullParameter(view, "view");
super.onViewBound(view);
AppFragment.setActionBarOptionsMenu$default(this, R.menu.menu_auth_mfa, new WidgetAuthMfa$onViewBound$1(this), null, 4, null);
String stringExtra = getMostRecentIntent().getStringExtra(INTENT_TICKET);
if (stringExtra == null) {
stringExtra = "";
}
this.ticket = stringExtra;
if (stringExtra == null) {
m.throwUninitializedPropertyAccessException("ticket");
}
if ((stringExtra.length() == 0) && (appActivity = getAppActivity()) != null) {
appActivity.finish();
}
getBinding().f2205b.setOnCodeEntered(new WidgetAuthMfa$onViewBound$2(this));
registerForContextMenu(getBinding().f2205b);
}
}