package com.ifpdos.udi.sdk.service.sdk;

import android.content.Context;
import androidx.core.app.NotificationCompat;
import com.ifpdos.udi.sdk.service.sdk.UdiServiceSdk;
import com.ifpdos.udi.sdk.service.sdk.json.IConverter;
import com.ifpdos.udi.sdk.service.sdk.log.AndroidLog;
import com.ifpdos.udi.sdk.service.sdk.log.DefaultRequestTracker;
import com.ifpdos.udi.sdk.service.sdk.log.ILog;
import com.ifpdos.udi.sdk.service.sdk.log.IRequestTracker;
import com.ifpdos.udi.sdk.service.sdk.server.Api;
import com.ifpdos.udi.sdk.service.sdk.server.IUdiServer;
import com.ifpdos.udi.sdk.service.sdk.server.UdiServer;
import com.ifpdos.udi.sdk.service.sdk.server.binder.UdiServerBinder;
import com.ifpdos.udi.sdk.service.sdk.server.inprocess.UdiServerInProcess;
import com.ifpdos.udi.sdk.service.sdk.server.mqtt.UdiServerMqtt;
import com.seewo.vcommons.constants.SeewoIntent;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.Executor;
import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import kotlin.Metadata;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.Reflection;
import kotlin.reflect.KClass;

/* JADX INFO: compiled from: UdiServiceSdk.kt */
/* JADX INFO: loaded from: classes.dex */
@Metadata(d1 = {"\u00002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\u000b\n\u0002\b\u0002\u0018\u00002\u00020\u0001:\u0001\u0011B\u000f\b\u0002\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u001c\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\b2\f\u0010\t\u001a\b\u0012\u0004\u0012\u00020\u000b0\nJ \u0010\f\u001a\u00020\u00062\u0006\u0010\r\u001a\u00020\b2\u0006\u0010\u000e\u001a\u00020\b2\b\b\u0002\u0010\u000f\u001a\u00020\u0010R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u0012"}, d2 = {"Lcom/ifpdos/udi/sdk/service/sdk/UdiServiceSdk;", "", "udiServer", "Lcom/ifpdos/udi/sdk/service/sdk/server/UdiServer;", "(Lcom/ifpdos/udi/sdk/service/sdk/server/UdiServer;)V", "registerApis", "", "serviceName", "", "apis", "", "Lcom/ifpdos/udi/sdk/service/sdk/server/Api;", "sendEvent", "url", NotificationCompat.CATEGORY_EVENT, "isSticky", "", "Builder", "sdk_release"}, k = 1, mv = {1, 6, 0}, xi = 48)
public final class UdiServiceSdk {
    private final UdiServer udiServer;

    public /* synthetic */ UdiServiceSdk(UdiServer udiServer, DefaultConstructorMarker defaultConstructorMarker) {
        this(udiServer);
    }

    /* JADX INFO: compiled from: UdiServiceSdk.kt */
    @Metadata(d1 = {"\u0000d\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\t\n\u0002\u0010\u0002\n\u0002\b\u0007\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\u000e\u0010\u0017\u001a\u00020\u00002\u0006\u0010\u0018\u001a\u00020\u0004J\u000e\u0010\u0019\u001a\u00020\u001a2\u0006\u0010\u001b\u001a\u00020\u001cJ\u000e\u0010\u001d\u001a\b\u0012\u0004\u0012\u00020\u001f0\u001eH\u0002J\u000e\u0010 \u001a\u00020\u00002\u0006\u0010\u0005\u001a\u00020\u0006J\u000e\u0010!\u001a\u00020\u00002\u0006\u0010\u0007\u001a\u00020\bJ\u000e\u0010\"\u001a\u00020\u00002\u0006\u0010#\u001a\u00020\nJ\u000e\u0010$\u001a\u00020\u00002\u0006\u0010%\u001a\u00020\fJ\u000e\u0010&\u001a\u00020\u00002\u0006\u0010'\u001a\u00020\u000fJ\u0014\u0010(\u001a\u00020)2\f\u0010*\u001a\b\u0012\u0004\u0012\u00020\u00120\u0011J\u000e\u0010+\u001a\u00020\u00002\u0006\u0010,\u001a\u00020\u0014J\u000e\u0010-\u001a\u00020\u00002\u0006\u0010.\u001a\u00020\fJ\u000e\u0010/\u001a\u00020\u00002\u0006\u0010\u0016\u001a\u00020\nR\u0010\u0010\u0003\u001a\u0004\u0018\u00010\u0004X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0005\u001a\u00020\u0006X\u0082.¢\u0006\u0002\n\u0000R\u0010\u0010\u0007\u001a\u0004\u0018\u00010\bX\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\t\u001a\u0004\u0018\u00010\nX\u0082\u000e¢\u0006\u0002\n\u0000R\u0012\u0010\u000b\u001a\u0004\u0018\u00010\fX\u0082\u000e¢\u0006\u0004\n\u0002\u0010\rR\u000e\u0010\u000e\u001a\u00020\u000fX\u0082\u000e¢\u0006\u0002\n\u0000R\u0014\u0010\u0010\u001a\b\u0012\u0004\u0012\u00020\u00120\u0011X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u0013\u001a\u0004\u0018\u00010\u0014X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0015\u001a\u00020\fX\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u0016\u001a\u0004\u0018\u00010\nX\u0082\u000e¢\u0006\u0002\n\u0000¨\u00060"}, d2 = {"Lcom/ifpdos/udi/sdk/service/sdk/UdiServiceSdk$Builder;", "", "()V", "connectListener", "Lcom/ifpdos/udi/sdk/service/sdk/server/mqtt/UdiServerMqtt$IOnConnectListener;", "converter", "Lcom/ifpdos/udi/sdk/service/sdk/json/IConverter;", "logUtil", "Lcom/ifpdos/udi/sdk/service/sdk/log/ILog;", "mqttBrokerIp", "", "mqttBrokerPort", "", "Ljava/lang/Integer;", "mqttEnable", "", "mqttWorkExecutorFactory", "Lkotlin/Function0;", "Ljava/util/concurrent/Executor;", "requestTracker", "Lcom/ifpdos/udi/sdk/service/sdk/log/IRequestTracker;", "retryRegisterEventLimit", "udiToken", "addMqttConnectListener", "listener", "build", "Lcom/ifpdos/udi/sdk/service/sdk/UdiServiceSdk;", "context", "Landroid/content/Context;", "loadServerImpls", "", "Lcom/ifpdos/udi/sdk/service/sdk/server/IUdiServer;", "setConverter", "setLogUtil", "setMqttBrokerIp", "ip", "setMqttBrokerPort", "port", "setMqttEnable", SeewoIntent.KEY_SET_WOL_SLOT, "setMqttWorkExecutorFactory", "", "factory", "setRequestTracker", "tracker", "setRetryRegisterEventLimit", "limit", "setUdiToken", "sdk_release"}, k = 1, mv = {1, 6, 0}, xi = 48)
    public static final class Builder {
        private UdiServerMqtt.IOnConnectListener connectListener;
        private IConverter converter;
        private ILog logUtil;
        private String mqttBrokerIp;
        private Integer mqttBrokerPort;
        private boolean mqttEnable;
        private IRequestTracker requestTracker;
        private String udiToken;
        private int retryRegisterEventLimit = 180;
        private Function0<? extends Executor> mqttWorkExecutorFactory = new Function0<ThreadPoolExecutor>() { // from class: com.ifpdos.udi.sdk.service.sdk.UdiServiceSdk$Builder$mqttWorkExecutorFactory$1
            @Override // kotlin.jvm.functions.Function0
            public final ThreadPoolExecutor invoke() {
                return new ThreadPoolExecutor(1, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue());
            }
        };

        public final Builder setLogUtil(ILog logUtil) {
            Intrinsics.checkNotNullParameter(logUtil, "logUtil");
            this.logUtil = logUtil;
            return this;
        }

        public final Builder setRequestTracker(IRequestTracker tracker) {
            Intrinsics.checkNotNullParameter(tracker, "tracker");
            this.requestTracker = tracker;
            return this;
        }

        public final Builder setConverter(IConverter converter) {
            Intrinsics.checkNotNullParameter(converter, "converter");
            this.converter = converter;
            return this;
        }

        public final Builder setUdiToken(String udiToken) {
            Intrinsics.checkNotNullParameter(udiToken, "udiToken");
            this.udiToken = udiToken;
            return this;
        }

        public final Builder setRetryRegisterEventLimit(int limit) {
            this.retryRegisterEventLimit = limit;
            return this;
        }

        public final Builder setMqttEnable(boolean enable) {
            this.mqttEnable = enable;
            return this;
        }

        public final Builder setMqttBrokerIp(String ip) {
            Intrinsics.checkNotNullParameter(ip, "ip");
            this.mqttBrokerIp = ip;
            return this;
        }

        public final Builder setMqttBrokerPort(int port) {
            this.mqttBrokerPort = Integer.valueOf(port);
            return this;
        }

        public final void setMqttWorkExecutorFactory(Function0<? extends Executor> factory) {
            Intrinsics.checkNotNullParameter(factory, "factory");
            this.mqttWorkExecutorFactory = factory;
        }

        /* JADX INFO: Access modifiers changed from: private */
        public final List<IUdiServer> loadServerImpls() {
            ArrayList arrayList = new ArrayList();
            arrayList.add(new UdiServerInProcess());
            arrayList.add(new UdiServerBinder(this.udiToken, this.retryRegisterEventLimit));
            if (this.mqttEnable) {
                arrayList.add(new UdiServerMqtt(this.retryRegisterEventLimit, this.mqttBrokerIp, this.mqttBrokerPort, this.connectListener, this.mqttWorkExecutorFactory));
            }
            return arrayList;
        }

        public final Builder addMqttConnectListener(UdiServerMqtt.IOnConnectListener listener) {
            Intrinsics.checkNotNullParameter(listener, "listener");
            this.connectListener = listener;
            return this;
        }

        public final UdiServiceSdk build(final Context context) {
            Intrinsics.checkNotNullParameter(context, "context");
            UdiGlobal udiGlobal = UdiGlobal.INSTANCE;
            KClass<?> orCreateKotlinClass = Reflection.getOrCreateKotlinClass(Context.class);
            Context applicationContext = context.getApplicationContext();
            Intrinsics.checkNotNullExpressionValue(applicationContext, "context.applicationContext");
            udiGlobal.register(orCreateKotlinClass, applicationContext);
            UdiGlobal udiGlobal2 = UdiGlobal.INSTANCE;
            KClass<?> orCreateKotlinClass2 = Reflection.getOrCreateKotlinClass(ILog.class);
            AndroidLog androidLog = this.logUtil;
            if (androidLog == null) {
                androidLog = new AndroidLog();
            }
            udiGlobal2.register(orCreateKotlinClass2, androidLog);
            UdiGlobal udiGlobal3 = UdiGlobal.INSTANCE;
            KClass<?> orCreateKotlinClass3 = Reflection.getOrCreateKotlinClass(IRequestTracker.class);
            DefaultRequestTracker defaultRequestTracker = this.requestTracker;
            if (defaultRequestTracker == null) {
                defaultRequestTracker = new DefaultRequestTracker();
            }
            udiGlobal3.register(orCreateKotlinClass3, defaultRequestTracker);
            UdiGlobal udiGlobal4 = UdiGlobal.INSTANCE;
            KClass<?> orCreateKotlinClass4 = Reflection.getOrCreateKotlinClass(IConverter.class);
            IConverter iConverter = this.converter;
            DefaultConstructorMarker defaultConstructorMarker = null;
            if (iConverter == null) {
                Intrinsics.throwUninitializedPropertyAccessException("converter");
                iConverter = null;
            }
            udiGlobal4.register(orCreateKotlinClass4, iConverter);
            UdiServer udiServer = (UdiServer) UdiGlobal.INSTANCE.getOrCreate(Reflection.getOrCreateKotlinClass(IUdiServer.class), new Function0<IUdiServer>() { // from class: com.ifpdos.udi.sdk.service.sdk.UdiServiceSdk$Builder$build$udiServer$1
                /* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
                {
                    super(0);
                }

                /* JADX WARN: Can't rename method to resolve collision */
                @Override // kotlin.jvm.functions.Function0
                public final IUdiServer invoke() {
                    UdiServer udiServer2 = new UdiServer();
                    UdiServiceSdk.Builder builder = this.this$0;
                    Context context2 = context;
                    Iterator it = builder.loadServerImpls().iterator();
                    while (it.hasNext()) {
                        udiServer2.addServer((IUdiServer) it.next());
                    }
                    udiServer2.init(context2);
                    return udiServer2;
                }
            });
            if (this.mqttEnable) {
                List<IUdiServer> servers = udiServer.getServers();
                if ((servers instanceof Collection) && servers.isEmpty()) {
                    UdiServerMqtt udiServerMqtt = new UdiServerMqtt(this.retryRegisterEventLimit, this.mqttBrokerIp, this.mqttBrokerPort, this.connectListener, this.mqttWorkExecutorFactory);
                    udiServerMqtt.init(context);
                    udiServer.addServer(udiServerMqtt);
                } else {
                    Iterator<T> it = servers.iterator();
                    while (it.hasNext()) {
                        if (((IUdiServer) it.next()) instanceof UdiServerMqtt) {
                            break;
                        }
                    }
                    UdiServerMqtt udiServerMqtt2 = new UdiServerMqtt(this.retryRegisterEventLimit, this.mqttBrokerIp, this.mqttBrokerPort, this.connectListener, this.mqttWorkExecutorFactory);
                    udiServerMqtt2.init(context);
                    udiServer.addServer(udiServerMqtt2);
                }
            }
            return new UdiServiceSdk(udiServer, defaultConstructorMarker);
        }
    }

    private UdiServiceSdk(UdiServer udiServer) {
        this.udiServer = udiServer;
    }

    public final void registerApis(String serviceName, List<Api> apis) {
        Intrinsics.checkNotNullParameter(serviceName, "serviceName");
        Intrinsics.checkNotNullParameter(apis, "apis");
        this.udiServer.registerApis(serviceName, apis);
    }

    public static /* synthetic */ void sendEvent$default(UdiServiceSdk udiServiceSdk, String str, String str2, boolean z, int i, Object obj) {
        if ((i & 4) != 0) {
            z = false;
        }
        udiServiceSdk.sendEvent(str, str2, z);
    }

    public final void sendEvent(String url, String event, boolean isSticky) {
        Intrinsics.checkNotNullParameter(url, "url");
        Intrinsics.checkNotNullParameter(event, "event");
        ((IUdiServer) UdiGlobal.INSTANCE.get(Reflection.getOrCreateKotlinClass(IUdiServer.class))).sendEvent(url, event, null, isSticky);
    }
}
