package com.seewo.sdk.mcu;

import android.os.IBinder;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.util.Log;
import com.seewo.sdk.internal.utils.Constants;
import com.seewo.sdk.mcu.IMcuDataCallback;
import com.seewo.sdk.mcu.IMcuDataService;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

/* JADX INFO: loaded from: classes.dex */
public class SDKMcuDataManager implements ISDKMcuDataService {
    private static final String TAG = "SDKMcuDataManager";
    private static SDKMcuDataManager sInstance;
    private Map<String, Session> mClient = new HashMap();
    private IMcuDataService mMcuDataService;

    public static SDKMcuDataManager getInstance() {
        if (sInstance == null) {
            sInstance = new SDKMcuDataManager();
        }
        return sInstance;
    }

    private SDKMcuDataManager() {
    }

    @Override // com.seewo.sdk.mcu.ISDKMcuDataService
    public boolean registerCallBack(String str, int[] iArr, byte[] bArr, final ISDKMcuDataCallback iSDKMcuDataCallback) {
        if (iArr == null || bArr == null || iArr.length != bArr.length) {
            throw new IllegalArgumentException("require type.length == main.length");
        }
        if (this.mClient.containsKey(str)) {
            unRegisterCallBack(str);
        }
        if (!init()) {
            return false;
        }
        try {
            this.mMcuDataService.registerCallBack(str, iArr, bArr, new IMcuDataCallback.Stub() { // from class: com.seewo.sdk.mcu.SDKMcuDataManager.1
                @Override // com.seewo.sdk.mcu.IMcuDataCallback
                public void onGetMcuData(int i, byte b, byte b2, byte[] bArr2) throws RemoteException {
                    iSDKMcuDataCallback.onGetMcuData(i, b, b2, bArr2);
                }
            });
            this.mClient.put(str, new Session(str, Arrays.copyOf(iArr, iArr.length), Arrays.copyOf(bArr, bArr.length), iSDKMcuDataCallback));
            return true;
        } catch (RemoteException e) {
            Log.e(TAG, "", e);
            return false;
        }
    }

    @Override // com.seewo.sdk.mcu.ISDKMcuDataService
    public void unRegisterCallBack(String str) {
        IMcuDataService iMcuDataService = this.mMcuDataService;
        if (iMcuDataService != null) {
            try {
                iMcuDataService.unRegisterCallBack(str);
            } catch (RemoteException e) {
                Log.e(TAG, "", e);
            }
        }
    }

    @Override // com.seewo.sdk.mcu.ISDKMcuDataService
    public boolean sendMcuCommand(int i, byte b, byte b2, byte[] bArr) {
        IMcuDataService iMcuDataService = this.mMcuDataService;
        if (iMcuDataService == null) {
            return false;
        }
        try {
            iMcuDataService.sendMcuCommand(i, b, b2, bArr);
            return true;
        } catch (RemoteException e) {
            Log.e(TAG, "", e);
            return false;
        }
    }

    public void reConnect() {
        for (String str : this.mClient.keySet()) {
            Session session = this.mClient.get(str);
            registerCallBack(str, session.type, session.main, session.mSDKMcuDataCallback);
        }
    }

    private boolean init() {
        IBinder service = ServiceManager.getService(Constants.MCU_DATA_SERVICE);
        if (service != null) {
            this.mMcuDataService = IMcuDataService.Stub.asInterface(service);
        }
        return this.mMcuDataService != null;
    }

    private static class Session {
        private String key;
        private ISDKMcuDataCallback mSDKMcuDataCallback;
        private byte[] main;
        private int[] type;

        Session(String str, int[] iArr, byte[] bArr, ISDKMcuDataCallback iSDKMcuDataCallback) {
            this.key = str;
            this.type = iArr;
            this.main = bArr;
            this.mSDKMcuDataCallback = iSDKMcuDataCallback;
        }
    }
}
