package e.c.d;

import android.annotation.SuppressLint;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Binder;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.os.RemoteException;
import android.util.Log;
import com.cvte.vman.impl.FwUpgradeManager;
import com.cvte.vman.instance.InvokeCmd;
import com.seewo.sdk.interfaces.t;
import com.seewo.sdk.internal.model.ISDKService;
import com.seewo.sdk.internal.model.IWatchDogService;
import com.seewo.sdk.internal.model.LibMcuCallback;
import com.seewo.sdk.internal.model.ResponseCallback;
import com.seewo.sdk.internal.model.SDKEventType;
import com.seewo.sdk.internal.model.SDKParsable;
import com.seewo.sdk.internal.model.SDKRequest;
import com.seewo.sdk.internal.model.SDKResponse;
import com.seewo.sdk.internal.response.common.RespVoidResult;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.CopyOnWriteArrayList;

/* JADX INFO: compiled from: OpenSDK.java */
/* JADX INFO: loaded from: classes.dex */
public class c {
    private String a;
    private LinkedList<SDKRequest> b;

    /* JADX INFO: renamed from: c, reason: collision with root package name */
    private Map<Class<?>, LibMcuCallback> f765c;

    /* JADX INFO: renamed from: d, reason: collision with root package name */
    private Context f766d;

    /* JADX INFO: renamed from: e, reason: collision with root package name */
    private ConcurrentLinkedQueue<t> f767e;

    /* JADX INFO: renamed from: f, reason: collision with root package name */
    private ISDKService f768f;

    /* JADX INFO: renamed from: g, reason: collision with root package name */
    private boolean f769g;

    /* JADX INFO: renamed from: h, reason: collision with root package name */
    private int f770h;

    /* JADX INFO: renamed from: i, reason: collision with root package name */
    private List<e> f771i;

    /* JADX INFO: renamed from: j, reason: collision with root package name */
    @SuppressLint({"HandlerLeak"})
    private Handler f772j;

    /* JADX INFO: renamed from: k, reason: collision with root package name */
    private IBinder.DeathRecipient f773k;
    private IWatchDogService l;

    /* JADX INFO: compiled from: OpenSDK.java */
    class a extends Handler {
        a(Looper looper) {
            super(looper);
        }

        @Override // android.os.Handler
        public void handleMessage(Message message) {
            int i2 = message.what;
            if (i2 == 1001) {
                e.c.d.y.e.h("OpenSDK", "SDKService reconnecting...");
                if (c.this.r()) {
                    return;
                }
                e.c.d.y.e.b("OpenSDK", "SDKService connecting fail!");
                c.this.B();
                c.this.f772j.sendEmptyMessageDelayed(1001, 1000L);
                return;
            }
            if (i2 != 1002) {
                return;
            }
            c.this.f772j.removeMessages(1001);
            e.c.d.y.e.f("OpenSDK", "SDKService connected!");
            if (c.this.f769g) {
                c.this.z();
                c.this.f769g = false;
            }
            while (true) {
                t tVar = (t) c.this.f767e.poll();
                if (tVar == null) {
                    return;
                } else {
                    tVar.a();
                }
            }
        }
    }

    /* JADX INFO: compiled from: OpenSDK.java */
    class b implements IBinder.DeathRecipient {
        b() {
        }

        @Override // android.os.IBinder.DeathRecipient
        public void binderDied() {
            e.c.d.y.e.b("OpenSDK", "SDKService connection interrupt!");
            c.this.w();
            c.this.f769g = true;
            c.this.f772j.sendEmptyMessage(1001);
        }
    }

    /* JADX INFO: renamed from: e.c.d.c$c, reason: collision with other inner class name */
    /* JADX INFO: compiled from: OpenSDK.java */
    class BinderC0031c extends LibMcuCallback.Stub {
        final /* synthetic */ ResponseCallback a;

        BinderC0031c(c cVar, ResponseCallback responseCallback) {
            this.a = responseCallback;
        }

        @Override // com.seewo.sdk.internal.model.LibMcuCallback
        public void onCall(String str) throws RemoteException {
            ResponseCallback responseCallback = this.a;
            if (responseCallback != null) {
                responseCallback.onCall((SDKResponse) e.c.d.y.c.f(str, SDKResponse.class));
            }
        }
    }

    /* JADX INFO: compiled from: OpenSDK.java */
    private static class d {
        private static final c a = new c(null);
    }

    /* JADX INFO: compiled from: OpenSDK.java */
    public interface e {
        void registerCallback(Class<?> cls, LibMcuCallback libMcuCallback);

        void unregisterCallback(Class<?> cls, LibMcuCallback libMcuCallback);
    }

    /* JADX INFO: compiled from: OpenSDK.java */
    public class f extends RuntimeException {
        f(c cVar) {
            super("Make sure OpenSDKService has been connected!!!");
        }
    }

    /* synthetic */ c(a aVar) {
        this();
    }

    /* JADX INFO: Access modifiers changed from: private */
    public void B() {
        if (e.c.d.r.b.c.g().j()) {
            Intent intent = new Intent();
            intent.setComponent(new ComponentName("com.seewo.mcuservice", "com.seewo.mcuservice.McuService"));
            this.f766d.startService(intent);
        }
    }

    private void k(IBinder iBinder, int i2) throws RemoteException {
        iBinder.linkToDeath(this.f773k, 0);
        this.f768f = ISDKService.Stub.asInterface(iBinder);
        String packageName = this.f766d.getPackageName();
        if (i2 != com.seewo.hiddenapi.c.f2c) {
            packageName = packageName + ":" + i2;
        }
        this.a = this.f768f.getToken(packageName, null);
        Log.i("OpenSDK", "SDK connected. Token: " + this.a + " Package name: " + packageName);
        this.f772j.sendEmptyMessage(FwUpgradeManager.TYPE_FW_SXCAM_MC1_32_CAMERA);
    }

    private void l(IBinder iBinder) throws RemoteException {
        IWatchDogService iWatchDogServiceAsInterface = IWatchDogService.Stub.asInterface(iBinder);
        this.l = iWatchDogServiceAsInterface;
        if (iWatchDogServiceAsInterface != null) {
            iWatchDogServiceAsInterface.bindWatchDog(new Binder(), this.f766d.getPackageName());
        }
    }

    public static c p() {
        return d.a;
    }

    /* JADX INFO: Access modifiers changed from: private */
    public boolean r() {
        e.c.d.r.b.c.g().n();
        e.c.d.x.f.b().e();
        i.f().k();
        e.c.d.w.d.a().c();
        e.c.d.v.b.a().c();
        e.c.d.s.d.a().c();
        IBinder iBinderF = e.c.d.r.b.c.g().f("opensdk");
        IBinder iBinderF2 = e.c.d.r.b.c.g().f("opensdk_watchdog");
        if (iBinderF == null) {
            return false;
        }
        try {
            k(iBinderF, this.f770h);
            l(iBinderF2);
            return true;
        } catch (RemoteException e2) {
            Log.e("OpenSDK", "REMOTE_EXCEPTION", e2);
            return false;
        }
    }

    private boolean t() {
        try {
            this.f766d.getPackageManager().getApplicationInfo("com.seewo.mcuservice", InvokeCmd.CMD_TOUCH_CTRL_START);
            return false;
        } catch (PackageManager.NameNotFoundException unused) {
            return true;
        }
    }

    private synchronized SDKRequest u() {
        return !this.b.isEmpty() ? this.b.removeFirst() : new SDKRequest();
    }

    /* JADX INFO: Access modifiers changed from: private */
    public void w() {
        ISDKService iSDKService = this.f768f;
        if (iSDKService != null) {
            iSDKService.asBinder().unlinkToDeath(this.f773k, 0);
            this.f768f = null;
            this.f770h = com.seewo.hiddenapi.c.f2c;
        }
        IWatchDogService iWatchDogService = this.l;
        if (iWatchDogService != null) {
            try {
                iWatchDogService.unbindWatchDog(this.f766d.getPackageName());
            } catch (RemoteException e2) {
                e.c.d.y.e.d("OpenSDK", e2);
            }
        }
    }

    private synchronized void x(SDKRequest sDKRequest) {
        this.b.addLast(sDKRequest);
    }

    /* JADX INFO: Access modifiers changed from: private */
    public void z() {
        for (Class<?> cls : this.f765c.keySet()) {
            y(cls, this.f765c.get(cls));
        }
    }

    SDKResponse A(SDKParsable sDKParsable) {
        SDKResponse sDKResponse = null;
        if (this.f766d == null) {
            Log.e("OpenSDK", Log.getStackTraceString(new f(this)));
        } else if (!t()) {
            if (this.f768f != null) {
                try {
                    SDKRequest sDKRequestU = u();
                    sDKRequestU.setRequestName(e.c.d.y.c.i(sDKParsable));
                    sDKRequestU.setParamsJson(e.c.d.y.c.h(sDKParsable));
                    String strH = e.c.d.y.c.h(sDKRequestU);
                    x(sDKRequestU);
                    sDKResponse = (SDKResponse) e.c.d.y.c.f(this.f768f.sendMessage(this.a, strH), SDKResponse.class);
                } catch (RemoteException e2) {
                    Log.e("OpenSDK", e2.getMessage(), e2);
                }
            } else {
                Log.e("OpenSDK", "SDKService not found! \n[" + this.f766d.getPackageName() + "]");
                StringBuilder sb = new StringBuilder();
                sb.append("[sendCommand] ");
                sb.append(sDKParsable.getClass().getSimpleName());
                Log.e("OpenSDK", sb.toString());
                sDKResponse = new SDKResponse(SDKResponse.Status.SERVICE_NOT_FOUND);
            }
        }
        if (sDKParsable instanceof e.c.d.y.g.b) {
            ((e.c.d.y.g.b) sDKParsable).recycle();
        }
        return sDKResponse == null ? new SDKResponse(SDKResponse.Status.SDK_NOT_CONNECTED) : sDKResponse;
    }

    void C(Class<?> cls, LibMcuCallback libMcuCallback) {
        Iterator<e> it = this.f771i.iterator();
        while (it.hasNext()) {
            it.next().unregisterCallback(cls, libMcuCallback);
        }
        if (t() || libMcuCallback == null) {
            return;
        }
        this.f765c.remove(cls);
        if (this.f768f != null) {
            try {
                SDKEventType sDKEventType = new SDKEventType();
                sDKEventType.setEventType(cls.getName());
                this.f768f.unregisterCallback(this.a, e.c.d.y.c.h(sDKEventType), libMcuCallback);
                return;
            } catch (RemoteException e2) {
                Log.e("OpenSDK", e2.getMessage(), e2);
                return;
            }
        }
        Log.e("OpenSDK", "SDKService not found! \n[" + this.f766d.getPackageName() + "]");
        StringBuilder sb = new StringBuilder();
        sb.append("[unregister] ");
        sb.append(cls.getSimpleName());
        Log.e("OpenSDK", sb.toString());
    }

    public void i(e eVar) {
        this.f771i.add(eVar);
    }

    public void j(t tVar) {
        if (tVar == null) {
            return;
        }
        if (t() || s()) {
            tVar.a();
        } else {
            if (this.f767e.contains(tVar)) {
                return;
            }
            this.f767e.add(tVar);
        }
    }

    public void m(Context context) {
        n(context, null);
    }

    public void n(Context context, t tVar) {
        this.f766d = context.getApplicationContext();
        if (t()) {
            if (tVar != null) {
                tVar.a();
            }
        } else {
            e.c.d.r.b.c.g().h(this.f766d);
            j(tVar);
            if (r()) {
                return;
            }
            this.f772j.sendEmptyMessage(1001);
        }
    }

    public void o() {
        if (t()) {
            return;
        }
        this.f772j.removeCallbacksAndMessages(null);
        w();
    }

    public String q() {
        return this.a;
    }

    public boolean s() {
        return this.f768f != null;
    }

    boolean v(SDKParsable sDKParsable, ResponseCallback responseCallback) {
        boolean z = true;
        if (!t()) {
            if (this.f768f != null) {
                try {
                    SDKRequest sDKRequestU = u();
                    sDKRequestU.setRequestName(e.c.d.y.c.i(sDKParsable));
                    sDKRequestU.setParamsJson(e.c.d.y.c.h(sDKParsable));
                    this.f768f.postMessage(this.a, e.c.d.y.c.h(sDKRequestU), new BinderC0031c(this, responseCallback));
                    x(sDKRequestU);
                } catch (RemoteException e2) {
                    Log.e("OpenSDK", e2.getMessage(), e2);
                    z = false;
                }
            } else {
                Log.e("OpenSDK", "SDKService not found! \n[" + this.f766d.getPackageName() + "]");
                StringBuilder sb = new StringBuilder();
                sb.append("[postCommand] ");
                sb.append(sDKParsable.getClass().getSimpleName());
                Log.e("OpenSDK", sb.toString());
                if (responseCallback != null) {
                    responseCallback.onCall(new SDKResponse(SDKResponse.Status.SERVICE_NOT_FOUND));
                }
            }
            z = false;
        } else if (responseCallback != null) {
            responseCallback.onCall(new SDKResponse(new RespVoidResult()));
        }
        if (sDKParsable instanceof e.c.d.y.g.b) {
            ((e.c.d.y.g.b) sDKParsable).recycle();
        }
        return z;
    }

    void y(Class<?> cls, LibMcuCallback libMcuCallback) {
        Iterator<e> it = this.f771i.iterator();
        while (it.hasNext()) {
            it.next().registerCallback(cls, libMcuCallback);
        }
        if (t() || libMcuCallback == null) {
            return;
        }
        this.f765c.put(cls, libMcuCallback);
        if (this.f768f != null) {
            try {
                SDKEventType sDKEventType = new SDKEventType();
                sDKEventType.setEventType(cls.getName());
                this.f768f.registerCallback(this.a, e.c.d.y.c.h(sDKEventType), libMcuCallback);
                return;
            } catch (RemoteException e2) {
                Log.e("OpenSDK", e2.getMessage(), e2);
                return;
            }
        }
        this.f769g = true;
        Log.e("OpenSDK", "SDKService not found! \n[" + this.f766d.getPackageName() + "]");
        StringBuilder sb = new StringBuilder();
        sb.append("[register] ");
        sb.append(cls.getSimpleName());
        Log.e("OpenSDK", sb.toString());
    }

    private c() {
        this.b = new LinkedList<>();
        this.f765c = new HashMap();
        this.f767e = new ConcurrentLinkedQueue<>();
        this.f769g = false;
        this.f770h = com.seewo.hiddenapi.c.f2c;
        this.f771i = new CopyOnWriteArrayList();
        this.f772j = new a(Looper.getMainLooper());
        this.f773k = new b();
    }
}
