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);
}
}
}