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 d.b.a.a.a;
import g.h0.c.g;
import g.h0.c.l;
import java.util.concurrent.CompletableFuture;
import java.util.function.Supplier;

/* JADX INFO: compiled from: CameraHdiApi.kt */
/* JADX INFO: loaded from: classes.dex */
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;
    public static final Companion Companion = new Companion(null);
    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;

    /* JADX INFO: compiled from: CameraHdiApi.kt */
    public static final class Companion {
        private Companion() {
        }

        public /* synthetic */ Companion(g gVar) {
            this();
        }
    }

    public CameraHdiApi(UsbManager usbManager, UsbDevice usbDevice) {
        l.g(usbManager, "manager");
        l.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[] bArr) {
        if (!connect()) {
            Log.e(TAG, "bulkTransfer connect error,return null");
            return null;
        }
        UsbUtils usbUtils = UsbUtils.INSTANCE;
        usbUtils.sendData(this.connection, this.outPoint, bArr, bArr.length);
        byte[] bArrReceiveData = usbUtils.receiveData(this.connection, this.inPoint, bArr.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 sbB = a.B("connect usbInterface:");
        sbB.append(this.usbInterface);
        Log.d(TAG, sbB.toString());
        this.outPoint = usbHidData != null ? usbHidData.getOutPoint() : null;
        StringBuilder sbB2 = a.B("connect outPoint:");
        sbB2.append(this.outPoint);
        Log.d(TAG, sbB2.toString());
        this.inPoint = usbHidData != null ? usbHidData.getInPoint() : null;
        StringBuilder sbB3 = a.B("connect inPoint:");
        sbB3.append(this.inPoint);
        Log.d(TAG, sbB3.toString());
        this.connection = usbUtils.openDevice(this.manager, this.device);
        StringBuilder sbB4 = a.B("connect connection:");
        sbB4.append(this.connection);
        Log.d(TAG, sbB4.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;
    }

    public final String getCameraMessage(byte b2, byte b3) {
        byte[] bArrSendCameraCommand = sendCameraCommand((byte) 32, b2, new byte[0]);
        if (bArrSendCameraCommand == 0) {
            Log.d(TAG, "getCameraMessage subCode " + ((int) b2) + ", error, return empty message!!!");
            return null;
        }
        if (bArrSendCameraCommand.length < 6) {
            Log.d(TAG, "subCode " + ((int) b2) + ", error, the message length is illegal");
            return null;
        }
        if (bArrSendCameraCommand[3] != ' ' || bArrSendCameraCommand[4] != b3) {
            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);
    }

    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 b2, byte b3, byte[] bArr) {
        l.g(bArr, "data");
        byte[] bArr2 = new byte[64];
        int i2 = 0;
        bArr2[0] = (byte) 170;
        bArr2[1] = (byte) 187;
        bArr2[2] = (byte) 204;
        bArr2[3] = b2;
        bArr2[4] = b3;
        bArr2[5] = (byte) bArr.length;
        int length = bArr.length;
        int i3 = 0;
        while (i2 < length) {
            bArr2[i3 + 7] = bArr[i2];
            i2++;
            i3++;
        }
        bArr2[63] = BitUtils.INSTANCE.getCheckSum(bArr2, 63);
        StringBuilder sbB = a.B("sendCameraCommand: ");
        sbB.append(CommonUtils.INSTANCE.bytesToString(bArr2));
        Log.d(TAG, sbB.toString());
        return bulkTransfer(bArr2);
    }

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

    public final CompletableFuture<UpgradeResult> upgradeCamera(final String str) {
        l.g(str, "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(str);
            }
        });
        l.b(completableFutureSupplyAsync, "CompletableFuture.supply…adeCamera(path)\n        }");
        return completableFutureSupplyAsync;
    }

    /* 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 sbB = a.B("getCameraInfo: pid = ");
                int productId = CameraHdiApi.this.device.getProductId();
                f.a.y.a.A(16);
                String string = Integer.toString(productId, 16);
                l.b(string, "java.lang.Integer.toStri…(this, checkRadix(radix))");
                sbB.append(string);
                sbB.append("; vid = ");
                int vendorId = CameraHdiApi.this.device.getVendorId();
                f.a.y.a.A(16);
                String string2 = Integer.toString(vendorId, 16);
                l.b(string2, "java.lang.Integer.toStri…(this, checkRadix(radix))");
                sbB.append(string2);
                sbB.append("; otaKey = ");
                sbB.append(oTAKey);
                sbB.append("; version = ");
                sbB.append(version);
                sbB.append("; id = ");
                sbB.append(id);
                Log.i(CameraHdiApi.TAG, sbB.toString());
                return new IUpsPlugin.FirmwareInfo("camera", "imx586", "camera", version, oTAKey, false, false, id);
            }
        });
        l.b(completableFutureSupplyAsync, "CompletableFuture.supply…d\n            )\n        }");
        return completableFutureSupplyAsync;
    }
}
