159 lines
6.7 KiB
Java
159 lines
6.7 KiB
Java
package com.discord.widgets.media;
|
|
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.net.Uri;
|
|
import android.view.View;
|
|
import android.webkit.URLUtil;
|
|
import androidx.core.app.NotificationCompat;
|
|
import androidx.fragment.app.Fragment;
|
|
import b.a.d.j;
|
|
import b.d.b.a.a;
|
|
import com.discord.R;
|
|
import com.discord.app.AppFragment;
|
|
import com.discord.databinding.WidgetQrScannerBinding;
|
|
import com.discord.utilities.color.ColorCompat;
|
|
import com.discord.utilities.intent.IntentUtils;
|
|
import com.discord.utilities.uri.UriHandler;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegate;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt;
|
|
import com.discord.widgets.auth.WidgetRemoteAuth;
|
|
import com.google.android.material.chip.Chip;
|
|
import com.google.zxing.Result;
|
|
import d0.t.u;
|
|
import d0.z.d.m;
|
|
import java.util.List;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.reflect.KProperty;
|
|
import kotlin.text.MatchResult;
|
|
import kotlin.text.Regex;
|
|
import me.dm7.barcodescanner.zxing.ZXingScannerView;
|
|
/* compiled from: WidgetQRScanner.kt */
|
|
/* loaded from: classes2.dex */
|
|
public final class WidgetQRScanner extends AppFragment implements ZXingScannerView.b {
|
|
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.b0(WidgetQRScanner.class, "binding", "getBinding()Lcom/discord/databinding/WidgetQrScannerBinding;", 0)};
|
|
public static final Companion Companion = new Companion(null);
|
|
private static final String EXTRA_SHOW_HELP_CHIP = "SHOW_HELP_CHIP";
|
|
private static final int MAIN_BACK_CAMERA = 0;
|
|
private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding(this, WidgetQRScanner$binding$2.INSTANCE, new WidgetQRScanner$binding$3(this));
|
|
|
|
/* compiled from: WidgetQRScanner.kt */
|
|
/* loaded from: classes2.dex */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public static /* synthetic */ void launch$default(Companion companion, Context context, boolean z2, int i, Object obj) {
|
|
if ((i & 2) != 0) {
|
|
z2 = false;
|
|
}
|
|
companion.launch(context, z2);
|
|
}
|
|
|
|
public final void launch(Context context, boolean z2) {
|
|
m.checkNotNullParameter(context, "context");
|
|
Intent putExtra = new Intent("android.intent.action.VIEW").putExtra(WidgetQRScanner.EXTRA_SHOW_HELP_CHIP, z2);
|
|
m.checkNotNullExpressionValue(putExtra, "Intent(Intent.ACTION_VIE…_HELP_CHIP, showHelpChip)");
|
|
j.d(context, WidgetQRScanner.class, putExtra);
|
|
}
|
|
}
|
|
|
|
public WidgetQRScanner() {
|
|
super(R.layout.widget_qr_scanner);
|
|
}
|
|
|
|
public static final /* synthetic */ WidgetQrScannerBinding access$getBinding$p(WidgetQRScanner widgetQRScanner) {
|
|
return widgetQRScanner.getBinding();
|
|
}
|
|
|
|
public static final /* synthetic */ void access$onViewBindingDestroy(WidgetQRScanner widgetQRScanner, WidgetQrScannerBinding widgetQrScannerBinding) {
|
|
widgetQRScanner.onViewBindingDestroy(widgetQrScannerBinding);
|
|
}
|
|
|
|
private final WidgetQrScannerBinding getBinding() {
|
|
return (WidgetQrScannerBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
|
|
}
|
|
|
|
private final void onViewBindingDestroy(WidgetQrScannerBinding widgetQrScannerBinding) {
|
|
widgetQrScannerBinding.f2501b.a();
|
|
}
|
|
|
|
/* JADX WARN: Code restructure failed: missing block: B:8:0x001f, code lost:
|
|
if (r0.a(r7.getHost()) == false) goto L_0x0021;
|
|
*/
|
|
@Override // me.dm7.barcodescanner.zxing.ZXingScannerView.b
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
*/
|
|
public void handleResult(Result result) {
|
|
String str;
|
|
MatchResult matchResult;
|
|
if (result != null && (str = result.a) != null) {
|
|
Uri parse = Uri.parse(str);
|
|
if (URLUtil.isValidUrl(str)) {
|
|
b.a.d.l0.a aVar = b.a.d.l0.a.F;
|
|
m.checkNotNullExpressionValue(parse, NotificationCompat.MessagingStyle.Message.KEY_DATA_URI);
|
|
}
|
|
IntentUtils intentUtils = IntentUtils.INSTANCE;
|
|
m.checkNotNullExpressionValue(parse, NotificationCompat.MessagingStyle.Message.KEY_DATA_URI);
|
|
if (!intentUtils.isDiscordAppUri(parse)) {
|
|
b.a.d.m.i(this, R.string.qr_code_invalid, 0, 4);
|
|
requireActivity().finish();
|
|
}
|
|
String path = parse.getPath();
|
|
if (path != null) {
|
|
b.a.d.l0.a aVar2 = b.a.d.l0.a.F;
|
|
Regex regex = b.a.d.l0.a.C;
|
|
m.checkNotNullExpressionValue(path, "it");
|
|
matchResult = regex.matchEntire(path);
|
|
} else {
|
|
matchResult = null;
|
|
}
|
|
if (matchResult != null) {
|
|
WidgetRemoteAuth.Companion.launch(requireContext(), (String) u.last((List<? extends Object>) matchResult.getGroupValues()));
|
|
} else {
|
|
UriHandler.handle$default(UriHandler.INSTANCE, requireContext(), str, null, 4, null);
|
|
}
|
|
requireActivity().finish();
|
|
}
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment, androidx.fragment.app.Fragment
|
|
public void onPause() {
|
|
super.onPause();
|
|
getBinding().f2501b.a();
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBound(View view) {
|
|
m.checkNotNullParameter(view, "view");
|
|
super.onViewBound(view);
|
|
getBinding().f2501b.setFormats(ZXingScannerView.D);
|
|
getBinding().f2501b.setResultHandler(this);
|
|
ZXingScannerView zXingScannerView = getBinding().f2501b;
|
|
m.checkNotNullExpressionValue(zXingScannerView, "binding.qrScanner");
|
|
zXingScannerView.setVisibility(0);
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBoundOrOnResume() {
|
|
super.onViewBoundOrOnResume();
|
|
int i = 0;
|
|
ColorCompat.setStatusBarColor$default((Fragment) this, ColorCompat.getColor(this, (int) R.color.black), false, 4, (Object) null);
|
|
AppFragment.setActionBarDisplayHomeAsUpEnabled$default(this, false, 1, null);
|
|
setActionBarTitle(R.string.login_with_qr);
|
|
boolean booleanExtra = getMostRecentIntent().getBooleanExtra(EXTRA_SHOW_HELP_CHIP, false);
|
|
Chip chip = getBinding().c;
|
|
m.checkNotNullExpressionValue(chip, "binding.qrScannerChip");
|
|
if (!booleanExtra) {
|
|
i = 8;
|
|
}
|
|
chip.setVisibility(i);
|
|
requestCameraQRScanner(new WidgetQRScanner$onViewBoundOrOnResume$1(this), new WidgetQRScanner$onViewBoundOrOnResume$2(this));
|
|
}
|
|
}
|