导航菜单

页面标题

页面副标题

Vi App v10.18.0 - EventsPublisherWorker.java 源代码

正在查看: Vi App v10.18.0 应用的 EventsPublisherWorker.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.amazon.apay.instrumentation.worker;

import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import androidx.work.ListenableWorker;
import androidx.work.Worker;
import androidx.work.WorkerParameters;
import com.amazon.apay.hardened.external.model.APayConstants;
import com.amazon.apay.instrumentation.clients.HttpsClient;
import com.amazon.apay.instrumentation.encryptor.Encryptor;
import com.amazon.apay.instrumentation.utils.UtilsHelper;
import com.amazon.apay.instrumentation.writer.PrivateAppFileWriter;
import com.amazon.identity.auth.device.authorization.AuthorizationResponseParser;
import java.sql.Timestamp;
import java.util.Map;
import java.util.Objects;
import javax.net.ssl.HttpsURLConnection;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
import kotlin.text.StringsKt;
import org.jetbrains.annotations.NotNull;
import org.json.JSONObject;

@Metadata(d1 = {"\u0000Z\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010$\n\u0002\b\u0004\u0018\u0000 !2\u00020\u0001:\u0001!B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006J\u0010\u0010\u0011\u001a\u00020\u00122\u0006\u0010\u0013\u001a\u00020\nH\u0002J\u0010\u0010\u0014\u001a\u00020\n2\u0006\u0010\u0004\u001a\u00020\u0005H\u0002J'\u0010\u0015\u001a\u00020\u00162\b\u0010\u0017\u001a\u0004\u0018\u00010\u00182\u0006\u0010\u0013\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\nH\u0002¢\u0006\u0002\u0010\u0019J\b\u0010\u001a\u001a\u00020\u001bH\u0016J\u001c\u0010\u001c\u001a\u00020\n2\u0012\u0010\u001d\u001a\u000e\u0012\u0004\u0012\u00020\n\u0012\u0004\u0012\u00020\n0\u001eH\u0002J\b\u0010\u001f\u001a\u00020\nH\u0002J\u0010\u0010 \u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\nH\u0002R\u000e\u0010\u0007\u001a\u00020\bX\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\t\u001a\u00020\nX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\nX\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\rX\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u000e\u001a\u00020\u000fX\u0082\u0004¢\u0006\u0002\n\u0000R\u0010\u0010\u0010\u001a\u0004\u0018\u00010\nX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\""}, d2 = {"Lcom/amazon/apay/instrumentation/worker/EventsPublisherWorker;", "Landroidx/work/Worker;", "context", "Landroid/content/Context;", "workerParams", "Landroidx/work/WorkerParameters;", "(Landroid/content/Context;Landroidx/work/WorkerParameters;)V", "aesEncryptor", "Lcom/amazon/apay/instrumentation/encryptor/Encryptor;", AuthorizationResponseParser.CLIENT_ID_STATE, "", "eventType", "fileWriter", "Lcom/amazon/apay/instrumentation/writer/PrivateAppFileWriter;", "httpsClient", "Lcom/amazon/apay/instrumentation/clients/HttpsClient;", "sessionId", "checkWhetherFileNeedsToBeUploaded", "", "file", "createEventsMetadataPayload", "deleteFileIfSuccess", "", APayConstants.RESPONSE_CODE, "", "(Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;)V", "doWork", "Landroidx/work/ListenableWorker$Result;", "enrichDataWithIvAndSessionKey", "aesEncryptedObject", "", "getAmazonShoppingIndiaAppVersion", "getEndpoint", "Companion", "KuberAndroidSDKInstrumentationLibrary_release"}, k = 1, mv = {1, 6, 0}, xi = 48)
public final class EventsPublisherWorker extends Worker {

    @NotNull
    public final Context a;

    @NotNull
    public final WorkerParameters b;

    @NotNull
    public final HttpsClient c;

    @NotNull
    public final String d;

    @NotNull
    public final PrivateAppFileWriter e;

    @NotNull
    public final Encryptor f;

    @NotNull
    public String g;

    public EventsPublisherWorker(@NotNull Context context, @NotNull WorkerParameters workerParameters) {
        super(context, workerParameters);
        Intrinsics.checkNotNullParameter(context, "context");
        Intrinsics.checkNotNullParameter(workerParameters, "workerParams");
        this.a = context;
        this.b = workerParameters;
        this.c = new HttpsClient();
        this.e = new PrivateAppFileWriter(context);
        String valueOf = String.valueOf(workerParameters.getInputData().getString(AuthorizationResponseParser.CLIENT_ID_STATE));
        this.g = valueOf;
        this.f = new Encryptor(valueOf);
        this.d = String.valueOf(workerParameters.getInputData().getString("event"));
    }

    public final boolean a(String str) {
        return StringsKt.contains$default(str, ".log", false, 2, (Object) null) || new Timestamp(System.currentTimeMillis()).getTime() - this.e.b(str, "MetricEvent") > 240000;
    }

    @NotNull
    public ListenableWorker.Result doWork() {
        for (String str : this.e.a(this.d)) {
            try {
                if (a(str)) {
                    if (StringsKt.contains$default(str, ".tmp", false, 2, (Object) null)) {
                        str = UtilsHelper.a.a(this.e, str, this.d);
                    }
                    Integer a = this.c.a(this.d.equals("MetricEvent") ? "https://amazonpay.amazon.in/v3/sdk/metric-events" : "https://amazonpay.amazon.in/v3/sdk/crash-events", str, a(this.f.a(a(this.b) + '\n' + this.e.c(str, this.d))));
                    String str2 = this.d;
                    if (a != null && (a.intValue() / 100 == 2 || a.intValue() / 100 == 4)) {
                        this.e.a(str, str2);
                    }
                    Thread.sleep(1000L);
                }
            } catch (Exception e) {
                e.toString();
                Objects.toString(e.getCause());
            }
        }
        HttpsURLConnection httpsURLConnection = this.c.a;
        if (httpsURLConnection != null) {
            httpsURLConnection.disconnect();
        }
        ListenableWorker.Result success = ListenableWorker.Result.success();
        Intrinsics.checkNotNullExpressionValue(success, "success()");
        return success;
    }

    public final String a(WorkerParameters workerParameters) {
        String str;
        JSONObject jSONObject = new JSONObject();
        jSONObject.put("sessionId", (Object) null);
        jSONObject.put("appId", this.a.getPackageName());
        jSONObject.put("brand", Build.BRAND);
        jSONObject.put("device", Build.DEVICE);
        jSONObject.put("buildId", Build.ID);
        jSONObject.put(AuthorizationResponseParser.CLIENT_ID_STATE, this.g);
        jSONObject.put("clientSdkVersion", workerParameters.getInputData().getString("clientSdkVersion"));
        jSONObject.put("clientSdkName", workerParameters.getInputData().getString("clientSdkName"));
        jSONObject.put("clientAdditionalMetadata", workerParameters.getInputData().getString("clientAdditionalMetadata"));
        jSONObject.put("instrumentationSdkVersion", "I.1.1.4");
        try {
            str = this.a.getPackageManager().getPackageInfo("in.amazon.mShop.android.shopping", 0).versionName;
            Intrinsics.checkNotNullExpressionValue(str, "context.packageManager.g…            ).versionName");
        } catch (PackageManager.NameNotFoundException unused) {
            str = "mshopNotInstalled";
        }
        jSONObject.put("mshopVersion", str);
        jSONObject.put("product", Build.PRODUCT);
        jSONObject.put("releaseVersion", Build.VERSION.RELEASE);
        jSONObject.put("sdkVersion", Build.VERSION.SDK_INT);
        String jSONObject2 = jSONObject.toString();
        Intrinsics.checkNotNullExpressionValue(jSONObject2, "payload.toString()");
        return jSONObject2;
    }

    public final String a(Map<String, String> map) {
        StringBuilder sb = new StringBuilder();
        sb.append(map.get("iv") + '\n');
        sb.append(map.get("encryptedSessionKey") + '\n');
        sb.append(map.get("encryptedData") + '\n');
        sb.append(map.get(AuthorizationResponseParser.CLIENT_ID_STATE) + '\n');
        String sb2 = sb.toString();
        Intrinsics.checkNotNullExpressionValue(sb2, "stringBuilder.toString()");
        return sb2;
    }
}