导航菜单

页面标题

页面副标题

CallApp v2.226 - w0.java 源代码

正在查看: CallApp v2.226 应用的 w0.java JAVA 源代码文件

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


package io.bidmachine;

import android.content.Context;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.explorestack.protobuf.ListValue;
import com.explorestack.protobuf.Struct;
import com.explorestack.protobuf.Value;
import com.explorestack.protobuf.adcom.ConnectionType;
import com.explorestack.protobuf.adcom.Context;
import com.explorestack.protobuf.adcom.DeviceType;
import com.explorestack.protobuf.adcom.OS;
import io.bidmachine.ApiRequest;
import io.bidmachine.ads.networks.adaptiverendering.AdaptiveRenderingAdapter;
import io.bidmachine.ads.networks.mraid.MraidAdapter;
import io.bidmachine.ads.networks.nast.NastAdapter;
import io.bidmachine.ads.networks.vast.VastAdapter;
import io.bidmachine.core.Logger;
import io.bidmachine.core.NetworkRequest;
import io.bidmachine.core.Utils;
import io.bidmachine.protobuf.InitRequest;
import io.bidmachine.protobuf.InitResponse;
import io.bidmachine.tracking.TrackingObject;
import io.bidmachine.utils.BMError;
import io.bidmachine.utils.DeviceUtils;
import io.bidmachine.utils.ProtoUtils;
import java.lang.ref.WeakReference;
import java.util.LinkedList;
import java.util.Queue;
import java.util.concurrent.TimeUnit;

public class w0 {
    private static final long MAX_INIT_REQUEST_DELAY_MS;
    private static final long MIN_INIT_REQUEST_DELAY_MS;

    @NonNull
    private final Context applicationContext;

    @NonNull
    private final Queue<String> baseUrlQueue;

    @Nullable
    private ApiRequest<InitRequest, InitResponse> currentInitRequest;

    @NonNull
    private final Queue<String> currentUrlQueue;

    @Nullable
    private x0 listener;

    @NonNull
    private final String sellerId;
    private long initRequestDelayMs = 0;

    @NonNull
    private final TrackingObject trackingObject = new BidMachineTrackingObject();

    @NonNull
    private final Runnable initialRunnable = new b(this);

    public class a implements Runnable {

        public class C0041a implements NetworkRequest.Callback {
            public C0041a() {
            }

            public static String lambda$onFail$0(long j) {
                return com.amazon.device.ads.l.r(j, "reschedule init request (", ")");
            }

            @Override
            public void onFail(@Nullable BMError bMError) {
                long j;
                w0.this.currentInitRequest = null;
                if (w0.this.currentUrlQueue.isEmpty()) {
                    j = w0.this.calculateDelay();
                    Logger.d(new ds.e(j));
                    if (w0.this.listener != null) {
                        w0.this.listener.onFail(bMError);
                    }
                } else {
                    j = 0;
                }
                Utils.onBackgroundThread(w0.this.initialRunnable, j);
                w0.this.trackingObject.eventFinish(TrackEventType.InitLoading, null, null, bMError);
            }

            @Override
            public void onSuccess(@Nullable InitResponse initResponse) {
                w0.this.currentInitRequest = null;
                w0.this.initRequestDelayMs = 0L;
                Utils.cancelBackgroundThreadTask(w0.this.initialRunnable);
                if (w0.this.listener != null) {
                    w0.this.listener.onSuccess(initResponse);
                }
                w0.this.trackingObject.eventFinish(TrackEventType.InitLoading, null, null, null);
            }
        }

        public a() {
        }

        @Override
        public void run() {
            w0.this.currentInitRequest = new ApiRequest.Builder().url(w0.this.pollUrl()).setDataBinder(new ApiRequest.ApiInitDataBinder()).setRequestData(w0.this.createInitRequest()).setCallback(new C0041a()).request();
        }
    }

    public static class b implements Runnable {

        @NonNull
        private final WeakReference<w0> weakInitialRequest;

        public b(@NonNull w0 w0Var) {
            this.weakInitialRequest = new WeakReference<>(w0Var);
        }

        @Override
        public void run() {
            w0 w0Var = this.weakInitialRequest.get();
            if (w0Var != null) {
                w0Var.request();
            }
        }
    }

    static {
        TimeUnit timeUnit = TimeUnit.SECONDS;
        MIN_INIT_REQUEST_DELAY_MS = timeUnit.toMillis(2L);
        MAX_INIT_REQUEST_DELAY_MS = timeUnit.toMillis(128L);
    }

    public w0(@NonNull Context context, @NonNull String str, @NonNull Queue<String> queue) {
        this.applicationContext = context;
        this.sellerId = str;
        this.baseUrlQueue = new LinkedList(queue);
        this.currentUrlQueue = new LinkedList(queue);
    }

    public long calculateDelay() {
        long j = this.initRequestDelayMs;
        if (j <= 0) {
            this.initRequestDelayMs = MIN_INIT_REQUEST_DELAY_MS;
        } else {
            long j2 = j * 2;
            this.initRequestDelayMs = j2;
            long j3 = MAX_INIT_REQUEST_DELAY_MS;
            if (j2 >= j3) {
                this.initRequestDelayMs = j3;
            }
        }
        return this.initRequestDelayMs;
    }

    @NonNull
    private Struct createExtension(@NonNull Context context) {
        Struct.Builder newBuilder = Struct.newBuilder();
        newBuilder.putFields("networks_info", Value.newBuilder().setListValue(createNetworkInfoListValue(context)).build());
        return newBuilder.build();
    }

    @NonNull
    public InitRequest createInitRequest() {
        ConnectionType connectionType;
        AdvertisingDataManager.updateInfo(this.applicationContext);
        d0 d0Var = d0.get();
        UserRestrictionParams userRestrictionParams = d0Var.getUserRestrictionParams();
        TargetingParams targetingParams = d0Var.getTargetingParams();
        InitRequest.Builder newBuilder = InitRequest.newBuilder();
        String packageName = this.applicationContext.getPackageName();
        if (packageName != null) {
            newBuilder.setBundle(packageName);
        }
        newBuilder.setSellerId(this.sellerId);
        newBuilder.setOs(OS.OS_ANDROID);
        newBuilder.setOsv(DeviceUtils.getOsVersion());
        String appVersion = Utils.getAppVersion(this.applicationContext);
        if (appVersion != null) {
            newBuilder.setAppVer(appVersion);
        }
        newBuilder.setSdk(BidMachine.NAME);
        newBuilder.setSdkver("3.2.1");
        newBuilder.setIfa(AdvertisingDataManager.getAdvertisingId(this.applicationContext, !userRestrictionParams.canSendIfa()));
        String ifv = d0Var.getIFV();
        if (!TextUtils.isEmpty(ifv)) {
            newBuilder.setIfv(ifv);
        }
        newBuilder.setBmIfv(d0Var.obtainBMIFV(this.applicationContext));
        newBuilder.setSessionId(SessionManager.get().getSessionId());
        DeviceInfo obtain = DeviceInfo.obtain(this.applicationContext);
        String str = obtain.manufacturer;
        if (str != null) {
            newBuilder.setMake(str);
        }
        String str2 = obtain.model;
        if (str2 != null) {
            newBuilder.setModel(str2);
        }
        String hwv = obtain.getHWV();
        if (hwv != null) {
            newBuilder.setHwv(hwv);
        }
        newBuilder.setDeviceType(obtain.isTablet ? DeviceType.DEVICE_TYPE_TABLET : DeviceType.DEVICE_TYPE_PHONE_DEVICE);
        if (userRestrictionParams.canSendDeviceInfo()) {
            connectionType = DeviceUtils.getConnectionType(this.applicationContext);
            newBuilder.setContype(connectionType);
        } else {
            connectionType = null;
        }
        if (userRestrictionParams.canSendGeoPosition()) {
            Context.Geo.Builder createGeoBuilderWithLocation = ProtoUtils.createGeoBuilderWithLocation(this.applicationContext, targetingParams.getDeviceLocation(), null, true);
            targetingParams.build(createGeoBuilderWithLocation);
            newBuilder.setGeo(createGeoBuilderWithLocation);
        }
        newBuilder.setContext(RequestDataRetriever.collectContext(this.applicationContext, d0Var, userRestrictionParams, targetingParams, null, connectionType, null));
        newBuilder.setExt(createExtension(this.applicationContext));
        return newBuilder.m774build();
    }

    @NonNull
    private ListValue.Builder createNetworkInfoListValue(@NonNull android.content.Context context) {
        ListValue.Builder newBuilder = ListValue.newBuilder();
        for (i1 i1Var : h1.getNetworkAssetParamsMap(context).values()) {
            newBuilder.addValues(createNetworkInfoValue(i1Var.getName(), i1Var.getSdkVersion(), i1Var.getAdapterVersion()));
        }
        newBuilder.addValues(createNetworkInfoValue(MraidAdapter.KEY, "2.4.0", "3.2.1.1"));
        newBuilder.addValues(createNetworkInfoValue(VastAdapter.KEY, "2.4.0", "3.2.1.1"));
        newBuilder.addValues(createNetworkInfoValue(NastAdapter.KEY, NastAdapter.ADAPTER_SDK_VERSION_NAME, "3.2.1.1"));
        newBuilder.addValues(createNetworkInfoValue(AdaptiveRenderingAdapter.KEY, "2.4.0", "3.2.1.1"));
        return newBuilder;
    }

    @NonNull
    private Value createNetworkInfoValue(@NonNull String str, @NonNull String str2, @NonNull String str3) {
        Value build = Value.newBuilder().setStringValue(str).build();
        Value build2 = Value.newBuilder().setStringValue(str2).build();
        return Value.newBuilder().setStructValue(Struct.newBuilder().putFields("network", build).putFields("network_version", build2).putFields("network_adapter_version", Value.newBuilder().setStringValue(str3).build()).build()).build();
    }

    public String pollUrl() {
        if (this.currentUrlQueue.isEmpty()) {
            this.currentUrlQueue.addAll(this.baseUrlQueue);
        }
        return this.currentUrlQueue.poll();
    }

    public void destroy() {
        this.listener = null;
        this.currentInitRequest = null;
    }

    public void request() {
        this.trackingObject.eventStart(TrackEventType.InitLoading, null);
        Utils.onBackgroundThread(new a());
    }

    public void setListener(@Nullable x0 x0Var) {
        this.listener = x0Var;
    }
}