Luno v7.28.0版本的 MD5 值为:08d81b3b88ef7df48c89cb5d56dc11a2

以下内容为反编译后的 OpenPlaidLink.java 源代码,内容仅作参考


package com.plaid.link;

import andhook.lib.HookHelper;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import androidx.activity.result.contract.ActivityResultContract;
import com.mparticle.identity.IdentityHttpResponse;
import com.plaid.internal.f8;
import com.plaid.internal.link.LinkActivity;
import com.plaid.internal.link.TransparentLinkActivity;
import com.plaid.internal.p3;
import com.plaid.link.configuration.LinkTokenConfiguration;
import com.plaid.link.exception.LinkException;
import com.plaid.link.result.LinkError;
import com.plaid.link.result.LinkExit;
import com.plaid.link.result.LinkResult;
import com.plaid.link.result.LinkSuccess;
import java.util.Objects;
import kotlin.Metadata;
import mdi.sdk.w32;

@Metadata(bv = {1, 0, 3}, d1 = {"\u0000&\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0006\u0018\u00002\u000e\u0012\u0004\u0012\u00020\u0002\u0012\u0004\u0012\u00020\u00030\u0001B\u0007¢\u0006\u0004\b\r\u0010\u000eJ\u0018\u0010\b\u001a\u00020\u00072\u0006\u0010\u0005\u001a\u00020\u00042\u0006\u0010\u0006\u001a\u00020\u0002H\u0016J\u001a\u0010\f\u001a\u00020\u00032\u0006\u0010\n\u001a\u00020\t2\b\u0010\u000b\u001a\u0004\u0018\u00010\u0007H\u0016¨\u0006\u000f"}, d2 = {"Lcom/plaid/link/OpenPlaidLink;", "Landroidx/activity/result/contract/ActivityResultContract;", "Lcom/plaid/link/configuration/LinkTokenConfiguration;", "Lcom/plaid/link/result/LinkResult;", "Landroid/content/Context;", IdentityHttpResponse.CONTEXT, "linkConfiguration", "Landroid/content/Intent;", "createIntent", "", "resultCode", "result", "parseResult", HookHelper.constructorName, "()V", "link-sdk_release"}, k = 1, mv = {1, 5, 1})
public final class OpenPlaidLink extends ActivityResultContract<LinkTokenConfiguration, LinkResult> {
    @Override
    public Intent createIntent(Context context, LinkTokenConfiguration linkConfiguration) {
        w32.h(context, IdentityHttpResponse.CONTEXT);
        w32.h(linkConfiguration, "linkConfiguration");
        Context applicationContext = context.getApplicationContext();
        Objects.requireNonNull(applicationContext, "null cannot be cast to non-null type android.app.Application");
        Plaid.create((Application) applicationContext, linkConfiguration);
        if (linkConfiguration.getNoLoadingState()) {
            LinkActivity.Companion companion = LinkActivity.INSTANCE;
            w32.h(context, IdentityHttpResponse.CONTEXT);
            Intent intent = new Intent(context, (Class<?>) TransparentLinkActivity.class);
            intent.setFlags(67108864);
            return intent;
        }
        return LinkActivity.INSTANCE.a(context);
    }

    @Override
    public LinkResult parseResult(int resultCode, Intent result) {
        LinkError fromException$link_sdk_release;
        LinkResult linkResult;
        LinkError fromException$link_sdk_release2;
        if (result == null) {
            f8.a aVar = f8.a;
            f8.a.b(aVar, w32.q("Null result returned ", Integer.valueOf(resultCode)), new Object[0], false, 4, null);
            LinkException linkException = new LinkException("No result returned.");
            if (linkException instanceof p3) {
                f8.a.a(aVar, (Throwable) linkException, false, 2, (Object) null);
                fromException$link_sdk_release2 = LinkError.INSTANCE.fromException$link_sdk_release(new LinkException("Link has exited unexpectedly please report this to support via https://dashboard.plaid.com/support with the session id if it persists"));
            } else {
                fromException$link_sdk_release2 = LinkError.INSTANCE.fromException$link_sdk_release(linkException);
            }
            return new LinkExit(fromException$link_sdk_release2, null, 2, null);
        }
        try {
            if (resultCode == 96171) {
                linkResult = (LinkSuccess) result.getParcelableExtra("link_result");
                w32.f(linkResult);
            } else {
                linkResult = (LinkExit) result.getParcelableExtra("link_result");
                w32.f(linkResult);
            }
            return linkResult;
        } catch (Throwable th) {
            f8.a aVar2 = f8.a;
            f8.a.a(aVar2, th, w32.q("Invalid result returned ", Integer.valueOf(resultCode)), new Object[0], false, 8, null);
            LinkException linkException2 = new LinkException("Invalid result returned, please ensure you aren't using 3364 as a request code to open other activities");
            if (linkException2 instanceof p3) {
                f8.a.a(aVar2, (Throwable) linkException2, false, 2, (Object) null);
                fromException$link_sdk_release = LinkError.INSTANCE.fromException$link_sdk_release(new LinkException("Link has exited unexpectedly please report this to support via https://dashboard.plaid.com/support with the session id if it persists"));
            } else {
                fromException$link_sdk_release = LinkError.INSTANCE.fromException$link_sdk_release(linkException2);
            }
            return new LinkExit(fromException$link_sdk_release, null, 2, null);
        }
    }
}