2021-06-27 20:44:35 +00:00
|
|
|
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 c.a.d.l;
|
|
|
|
import c.a.d.o;
|
|
|
|
import c.a.d.q;
|
2021-07-03 23:36:06 +00:00
|
|
|
import c.a.i.b4;
|
2021-06-27 20:44:35 +00:00
|
|
|
import c.a.l.b;
|
|
|
|
import c.d.b.a.a;
|
|
|
|
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.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 j0.l.e.j;
|
|
|
|
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 rx.Observable;
|
|
|
|
/* compiled from: WidgetAuthMfa.kt */
|
|
|
|
public final class WidgetAuthMfa extends AppFragment {
|
|
|
|
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.W(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("INTENT_TICKET", str);
|
|
|
|
l.d(context, WidgetAuthMfa.class, intent);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public WidgetAuthMfa() {
|
2021-07-03 23:36:06 +00:00
|
|
|
super(2131558850);
|
2021-06-27 20:44:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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) {
|
2021-07-03 23:36:06 +00:00
|
|
|
o.i(this, 2131894081, 0, 4);
|
2021-06-27 20:44:35 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
alertDialog.hide();
|
|
|
|
evaluateCode(str);
|
|
|
|
}
|
|
|
|
|
|
|
|
private final void evaluateCode(String str) {
|
|
|
|
if (TextUtils.isEmpty(str)) {
|
2021-07-03 23:36:06 +00:00
|
|
|
o.i(this, 2131894125, 0, 4);
|
2021-06-27 20:44:35 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
StoreAuthentication authentication = StoreStream.Companion.getAuthentication();
|
|
|
|
String str2 = this.ticket;
|
|
|
|
if (str2 == null) {
|
|
|
|
m.throwUninitializedPropertyAccessException("ticket");
|
|
|
|
}
|
2021-07-03 23:36:06 +00:00
|
|
|
ObservableExtensionsKt.withDimmer(ObservableExtensionsKt.ui$default(authentication.authMFA(str, str2), this, null, 2, null), getBinding().f1674c, 0).k(q.a.g(getContext(), WidgetAuthMfa$evaluateCode$1.INSTANCE, new WidgetAuthMfa$evaluateCode$2(this)));
|
2021-06-27 20:44:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private final WidgetAuthMfaBinding getBinding() {
|
|
|
|
return (WidgetAuthMfaBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
|
|
|
|
}
|
|
|
|
|
|
|
|
@MainThread
|
|
|
|
private final void showBackupCodesDialog() {
|
2021-07-03 23:36:06 +00:00
|
|
|
View inflate = getLayoutInflater().inflate(2131558851, (ViewGroup) null, false);
|
|
|
|
int i = 2131364671;
|
|
|
|
TextView textView = (TextView) inflate.findViewById(2131364671);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (textView != null) {
|
2021-07-04 15:26:29 +00:00
|
|
|
i = 2131365638;
|
|
|
|
MaterialButton materialButton = (MaterialButton) inflate.findViewById(2131365638);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (materialButton != null) {
|
2021-07-04 15:26:29 +00:00
|
|
|
i = 2131365639;
|
|
|
|
TextInputLayout textInputLayout = (TextInputLayout) inflate.findViewById(2131365639);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (textInputLayout != null) {
|
2021-07-04 15:26:29 +00:00
|
|
|
i = 2131365640;
|
|
|
|
MaterialButton materialButton2 = (MaterialButton) inflate.findViewById(2131365640);
|
2021-06-27 20:44:35 +00:00
|
|
|
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() {
|
2021-07-03 23:36:06 +00:00
|
|
|
View inflate = getLayoutInflater().inflate(2131558852, (ViewGroup) null, false);
|
|
|
|
int i = 2131364671;
|
|
|
|
TextView textView = (TextView) inflate.findViewById(2131364671);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (textView != null) {
|
2021-07-04 15:26:29 +00:00
|
|
|
i = 2131365641;
|
|
|
|
MaterialButton materialButton = (MaterialButton) inflate.findViewById(2131365641);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (materialButton != null) {
|
2021-07-04 15:26:29 +00:00
|
|
|
i = 2131365642;
|
|
|
|
LinkifiedTextView linkifiedTextView = (LinkifiedTextView) inflate.findViewById(2131365642);
|
2021-06-27 20:44:35 +00:00
|
|
|
if (linkifiedTextView != null) {
|
|
|
|
LinearLayout linearLayout = (LinearLayout) inflate;
|
2021-07-03 23:36:06 +00:00
|
|
|
m.checkNotNullExpressionValue(new b4(linearLayout, textView, materialButton, linkifiedTextView), "WidgetAuthMfaInfoBinding…outInflater, null, false)");
|
2021-06-27 20:44:35 +00:00
|
|
|
m.checkNotNullExpressionValue(linearLayout, "binding.root");
|
|
|
|
AlertDialog show = new AlertDialog.Builder(linearLayout.getContext()).setView(linearLayout).show();
|
|
|
|
m.checkNotNullExpressionValue(linkifiedTextView, "binding.widgetAuthMfaInfoText");
|
2021-07-03 23:36:06 +00:00
|
|
|
b.m(linkifiedTextView, 2131894095, new Object[]{"https://play.google.com/store/apps/details?id=com.authy.authy", "https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2"}, null, 4);
|
2021-06-27 20:44:35 +00:00
|
|
|
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().b.setOnCodeEntered(WidgetAuthMfa$tryPasteCodeFromClipboard$1.INSTANCE);
|
|
|
|
CodeVerificationView codeVerificationView = getBinding().b;
|
|
|
|
m.checkNotNullExpressionValue(coerceToText, "clipboardText");
|
|
|
|
codeVerificationView.setCode(coerceToText);
|
|
|
|
getBinding().b.setOnCodeEntered(new WidgetAuthMfa$tryPasteCodeFromClipboard$2(this));
|
2021-07-03 23:36:06 +00:00
|
|
|
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);
|
2021-06-27 20:44:35 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override // androidx.fragment.app.Fragment
|
|
|
|
public boolean onContextItemSelected(MenuItem menuItem) {
|
|
|
|
m.checkNotNullParameter(menuItem, "item");
|
2021-07-03 23:36:06 +00:00
|
|
|
if (menuItem.getItemId() != 2131363919) {
|
2021-06-27 20:44:35 +00:00
|
|
|
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(2131623944, contextMenu);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override // com.discord.app.AppFragment, androidx.fragment.app.Fragment
|
|
|
|
public void onResume() {
|
|
|
|
super.onResume();
|
|
|
|
if (!this.ignoreAutopaste) {
|
|
|
|
j jVar = new j(Unit.a);
|
|
|
|
m.checkNotNullExpressionValue(jVar, "Observable\n .just(Unit)");
|
|
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(jVar, 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, 2131623938, 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().b.setOnCodeEntered(new WidgetAuthMfa$onViewBound$2(this));
|
|
|
|
registerForContextMenu(getBinding().b);
|
|
|
|
}
|
|
|
|
}
|