package com.cvte.dss.ups.camera;

import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbDeviceConnection;
import android.hardware.usb.UsbEndpoint;
import android.hardware.usb.UsbInterface;
import android.hardware.usb.UsbManager;
import android.util.Log;
import com.cvte.dss.ups.camera.model.CameraUpgradeInfo;
import com.cvte.dss.ups.camera.model.UpgradeResult;
import com.cvte.dss.ups.camera.utils.BitUtils;
import com.cvte.dss.ups.camera.utils.CommonUtils;
import com.cvte.dss.ups.camera.utils.UsbUtils;
import com.cvte.dss.ups.plugin.IUpsPlugin;
import g.a.a.a.a;
import java.util.concurrent.CompletableFuture;
import java.util.function.Supplier;
import kotlin.Metadata;
import kotlin.jvm.internal.o;
import kotlin.reflect.w.internal.y0.n.c2.c;

/* JADX INFO: loaded from: classes.dex */
@Metadata(bv = {1, 0, 3}, d1 = {"\u0000|\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\u0012\n\u0002\b\u0004\n\u0002\u0010\u0002\n\u0002\b\u0002\n\u0002\u0010\u0007\n\u0002\b\u0002\n\u0002\u0010\u0005\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\t\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0006\u0018\u0000 ;2\u00020\u0001:\u0001;B\u0017\u0012\u0006\u0010&\u001a\u00020%\u0012\u0006\u00107\u001a\u000206¢\u0006\u0004\b9\u0010:J\u000f\u0010\u0003\u001a\u00020\u0002H\u0002¢\u0006\u0004\b\u0003\u0010\u0004J\u0019\u0010\u0007\u001a\u0004\u0018\u00010\u00052\u0006\u0010\u0006\u001a\u00020\u0005H\u0002¢\u0006\u0004\b\u0007\u0010\bJ\r\u0010\t\u001a\u00020\u0002¢\u0006\u0004\b\t\u0010\u0004J\r\u0010\u000b\u001a\u00020\n¢\u0006\u0004\b\u000b\u0010\fJ\r\u0010\u000e\u001a\u00020\r¢\u0006\u0004\b\u000e\u0010\u000fJ\u001f\u0010\u0014\u001a\u0004\u0018\u00010\u00132\u0006\u0010\u0011\u001a\u00020\u00102\u0006\u0010\u0012\u001a\u00020\u0010¢\u0006\u0004\b\u0014\u0010\u0015J'\u0010\u0019\u001a\u0004\u0018\u00010\u00052\u0006\u0010\u0016\u001a\u00020\u00102\u0006\u0010\u0017\u001a\u00020\u00102\u0006\u0010\u0018\u001a\u00020\u0005¢\u0006\u0004\b\u0019\u0010\u001aJ\u0015\u0010\u001b\u001a\u00020\n2\u0006\u0010\u0018\u001a\u00020\u0005¢\u0006\u0004\b\u001b\u0010\u001cJ\u0013\u0010\u001f\u001a\b\u0012\u0004\u0012\u00020\u001e0\u001d¢\u0006\u0004\b\u001f\u0010 J\u001b\u0010#\u001a\b\u0012\u0004\u0012\u00020\"0\u001d2\u0006\u0010!\u001a\u00020\u0013¢\u0006\u0004\b#\u0010$R\u0016\u0010&\u001a\u00020%8\u0002@\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b&\u0010'R\u0018\u0010)\u001a\u0004\u0018\u00010(8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b)\u0010*R\u0018\u0010+\u001a\u0004\u0018\u00010(8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b+\u0010*R\u0018\u0010-\u001a\u0004\u0018\u00010,8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b-\u0010.R\u0019\u00100\u001a\u00020/8\u0006@\u0006¢\u0006\f\n\u0004\b0\u00101\u001a\u0004\b\u001f\u00102R\u0018\u00104\u001a\u0004\u0018\u0001038\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b4\u00105R\u0016\u00107\u001a\u0002068\u0002@\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b7\u00108¨\u0006<"}, d2 = {"Lcom/cvte/dss/ups/camera/CameraHdiApi;", "", "", "isConnected", "()Z", "", "buffer", "bulkTransfer", "([B)[B", "connect", "", "disconnect", "()V", "", "getUpgradeProgress", "()F", "", "subCode", "subCodeBack", "", "getCameraMessage", "(BB)Ljava/lang/String;", "main", "sub", "data", "sendCameraCommand", "(BB[B)[B", "startUpgradeDataTransfer", "([B)V", "Ljava/util/concurrent/CompletableFuture;", "Lcom/cvte/dss/ups/plugin/IUpsPlugin$FirmwareInfo;", "getCameraInfo", "()Ljava/util/concurrent/CompletableFuture;", "path", "Lcom/cvte/dss/ups/camera/model/UpgradeResult;", "upgradeCamera", "(Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture;", "Landroid/hardware/usb/UsbManager;", "manager", "Landroid/hardware/usb/UsbManager;", "Landroid/hardware/usb/UsbEndpoint;", "inPoint", "Landroid/hardware/usb/UsbEndpoint;", "outPoint", "Landroid/hardware/usb/UsbInterface;", "usbInterface", "Landroid/hardware/usb/UsbInterface;", "Lcom/cvte/dss/ups/camera/model/CameraUpgradeInfo;", "cameraInfo", "Lcom/cvte/dss/ups/camera/model/CameraUpgradeInfo;", "()Lcom/cvte/dss/ups/camera/model/CameraUpgradeInfo;", "Landroid/hardware/usb/UsbDeviceConnection;", "connection", "Landroid/hardware/usb/UsbDeviceConnection;", "Landroid/hardware/usb/UsbDevice;", "device", "Landroid/hardware/usb/UsbDevice;", "<init>", "(Landroid/hardware/usb/UsbManager;Landroid/hardware/usb/UsbDevice;)V", "Companion", "lib_release"}, k = 1, mv = {1, 4, 0})
public final class CameraHdiApi {
    private static final byte CAMERA_MAIN_CODE = 32;
    private static final int COMMAND_DATA_BEGIN_INDEX = 7;
    private static final int COMMAND_DATA_LENGTH_INDEX = 5;
    private static final int COMMAND_DATA_MAIN_INDEX = 3;
    private static final int COMMAND_DATA_SUB_INDEX = 4;
    private static final int HID_BUF_LEN = 64;
    private static final int HID_UPLOAD_DATA = 510;
    private static final String TAG = "CameraServiceCore";
    private final CameraUpgradeInfo cameraInfo;
    private UsbDeviceConnection connection;
    private final UsbDevice device;
    private UsbEndpoint inPoint;
    private final UsbManager manager;
    private UsbEndpoint outPoint;
    private UsbInterface usbInterface;

    public CameraHdiApi(UsbManager usbManager, UsbDevice usbDevice) {
        o.g(usbManager, "manager");
        o.g(usbDevice, "device");
        this.manager = usbManager;
        this.device = usbDevice;
        this.cameraInfo = new CameraUpgradeInfo(String.valueOf(usbDevice.getProductId()), String.valueOf(usbDevice.getVendorId()));
    }

    private final byte[] bulkTransfer(byte[] buffer) {
        if (!connect()) {
            Log.e(TAG, "bulkTransfer connect error,return null");
            return null;
        }
        UsbUtils usbUtils = UsbUtils.INSTANCE;
        usbUtils.sendData(this.connection, this.outPoint, buffer, buffer.length);
        byte[] bArrReceiveData = usbUtils.receiveData(this.connection, this.inPoint, buffer.length);
        disconnect();
        return bArrReceiveData;
    }

    private final boolean isConnected() {
        return (this.usbInterface == null || this.connection == null) ? false : true;
    }

    public final boolean connect() {
        UsbUtils usbUtils = UsbUtils.INSTANCE;
        UsbUtils.UsbHidData usbHidData = usbUtils.getInterface(this.device);
        this.usbInterface = usbHidData != null ? usbHidData.getUsbInterface() : null;
        StringBuilder sbF = a.F("connect usbInterface:");
        sbF.append(this.usbInterface);
        Log.d(TAG, sbF.toString());
        this.outPoint = usbHidData != null ? usbHidData.getOutPoint() : null;
        StringBuilder sbF2 = a.F("connect outPoint:");
        sbF2.append(this.outPoint);
        Log.d(TAG, sbF2.toString());
        this.inPoint = usbHidData != null ? usbHidData.getInPoint() : null;
        StringBuilder sbF3 = a.F("connect inPoint:");
        sbF3.append(this.inPoint);
        Log.d(TAG, sbF3.toString());
        this.connection = usbUtils.openDevice(this.manager, this.device);
        StringBuilder sbF4 = a.F("connect connection:");
        sbF4.append(this.connection);
        Log.d(TAG, sbF4.toString());
        return usbUtils.lockInterface(this.connection, this.usbInterface) && isConnected();
    }

    public final void disconnect() {
        UsbUtils.INSTANCE.unLockInterface(this.connection, this.usbInterface);
        UsbDeviceConnection usbDeviceConnection = this.connection;
        if (usbDeviceConnection != null) {
            usbDeviceConnection.close();
        }
        this.connection = null;
        this.usbInterface = null;
        this.inPoint = null;
        this.outPoint = null;
    }

    public final CameraUpgradeInfo getCameraInfo() {
        return this.cameraInfo;
    }

    /* JADX INFO: renamed from: getCameraInfo, reason: collision with other method in class */
    public final CompletableFuture<IUpsPlugin.FirmwareInfo> m0getCameraInfo() {
        CompletableFuture<IUpsPlugin.FirmwareInfo> completableFutureSupplyAsync = CompletableFuture.supplyAsync(new Supplier<U>() { // from class: com.cvte.dss.ups.camera.CameraHdiApi.getCameraInfo.1
            @Override // java.util.function.Supplier
            public final IUpsPlugin.FirmwareInfo get() {
                CameraManager cameraManager = new CameraManager(CameraHdiApi.this);
                String version = cameraManager.getVersion();
                String oTAKey = cameraManager.getOTAKey();
                String id = new CameraUpgradeInfo(String.valueOf(CameraHdiApi.this.device.getProductId()), String.valueOf(CameraHdiApi.this.device.getVendorId())).getId();
                StringBuilder sbF = a.F("getCameraInfo: pid = ");
                int productId = CameraHdiApi.this.device.getProductId();
                c.r(16);
                String string = Integer.toString(productId, 16);
                o.e(string, "java.lang.Integer.toStri…(this, checkRadix(radix))");
                sbF.append(string);
                sbF.append("; vid = ");
                int vendorId = CameraHdiApi.this.device.getVendorId();
                c.r(16);
                String string2 = Integer.toString(vendorId, 16);
                o.e(string2, "java.lang.Integer.toStri…(this, checkRadix(radix))");
                sbF.append(string2);
                sbF.append("; otaKey = ");
                sbF.append(oTAKey);
                sbF.append("; version = ");
                sbF.append(version);
                sbF.append("; id = ");
                sbF.append(id);
                Log.i(CameraHdiApi.TAG, sbF.toString());
                return new IUpsPlugin.FirmwareInfo("camera", "imx586", "camera", version, oTAKey, false, false, id);
            }
        });
        o.b(completableFutureSupplyAsync, "CompletableFuture.supply…d\n            )\n        }");
        return completableFutureSupplyAsync;
    }

    public final String getCameraMessage(byte subCode, byte subCodeBack) {
        StringBuilder sb;
        String str;
        byte[] bArrSendCameraCommand = sendCameraCommand((byte) 32, subCode, new byte[0]);
        if (bArrSendCameraCommand == 0) {
            sb = new StringBuilder();
            sb.append("getCameraMessage subCode ");
            sb.append((int) subCode);
            str = ", error, return empty message!!!";
        } else {
            if (bArrSendCameraCommand.length >= 6) {
                if (bArrSendCameraCommand[3] != ' ' || bArrSendCameraCommand[4] != subCodeBack) {
                    return null;
                }
                int i2 = bArrSendCameraCommand[5];
                byte[] bArr = new byte[i2];
                System.arraycopy(bArrSendCameraCommand, 7, bArr, 0, i2);
                return BitUtils.INSTANCE.bytesToAscii(bArr, 0, i2);
            }
            sb = new StringBuilder();
            sb.append("subCode ");
            sb.append((int) subCode);
            str = ", error, the message length is illegal";
        }
        sb.append(str);
        Log.d(TAG, sb.toString());
        return null;
    }

    public final float getUpgradeProgress() {
        if (!isConnected()) {
            connect();
        }
        byte[] bArrReceiveData = UsbUtils.INSTANCE.receiveData(this.connection, this.inPoint, 64);
        if (bArrReceiveData == null || bArrReceiveData.length <= 7 || bArrReceiveData[7] < 0) {
            return -1.0f;
        }
        return bArrReceiveData[7];
    }

    public final byte[] sendCameraCommand(byte main, byte sub, byte[] data) {
        o.g(data, "data");
        byte[] bArr = new byte[64];
        int i2 = 0;
        bArr[0] = (byte) 170;
        bArr[1] = (byte) 187;
        bArr[2] = (byte) 204;
        bArr[3] = main;
        bArr[4] = sub;
        bArr[5] = (byte) data.length;
        int length = data.length;
        int i3 = 0;
        while (i2 < length) {
            bArr[i3 + 7] = data[i2];
            i2++;
            i3++;
        }
        bArr[63] = BitUtils.INSTANCE.getCheckSum(bArr, 63);
        StringBuilder sbF = a.F("sendCameraCommand: ");
        sbF.append(CommonUtils.INSTANCE.bytesToString(bArr));
        Log.d(TAG, sbF.toString());
        return bulkTransfer(bArr);
    }

    public final void startUpgradeDataTransfer(byte[] data) {
        o.g(data, "data");
        byte[] bArr = new byte[512];
        System.arraycopy(new byte[]{(byte) 187, 0}, 0, bArr, 0, 2);
        System.arraycopy(data, 0, bArr, 2, data.length);
        UsbUtils.INSTANCE.sendData(this.connection, this.outPoint, bArr, 512);
    }

    public final CompletableFuture<UpgradeResult> upgradeCamera(final String path) {
        o.g(path, "path");
        CompletableFuture<UpgradeResult> completableFutureSupplyAsync = CompletableFuture.supplyAsync(new Supplier<U>() { // from class: com.cvte.dss.ups.camera.CameraHdiApi.upgradeCamera.1
            @Override // java.util.function.Supplier
            public final UpgradeResult get() {
                return new CameraManager(CameraHdiApi.this).upgradeCamera(path);
            }
        });
        o.b(completableFutureSupplyAsync, "CompletableFuture.supply…adeCamera(path)\n        }");
        return completableFutureSupplyAsync;
    }
}
