jimu-decompiled/sources/com/afunx/ble/blelitelib/operation/BleWriteCharacterisitcNoResponsePacketOperation.java
2025-05-13 19:24:51 +02:00

65 lines
2.6 KiB
Java

package com.afunx.ble.blelitelib.operation;
import android.bluetooth.BluetoothGatt;
import android.bluetooth.BluetoothGattCharacteristic;
import com.afunx.ble.blelitelib.log.BleLiteLog;
import com.afunx.ble.blelitelib.utils.HexUtils;
import java.util.Arrays;
/* loaded from: classes.dex */
public class BleWriteCharacterisitcNoResponsePacketOperation extends BleOperationAbs {
private static final String TAG = "BleWriteCharacterisitcNoResponsePacketOperation";
private final BluetoothGatt mBluetoothGatt;
private final BluetoothGattCharacteristic mCharacteristic;
private final byte[] mMsg;
private final int mPacketInterval;
private final int mPacketSize;
private BleWriteCharacterisitcNoResponsePacketOperation(BluetoothGatt bluetoothGatt, BluetoothGattCharacteristic bluetoothGattCharacteristic, byte[] bArr, int i, int i2) {
this.mBluetoothGatt = bluetoothGatt;
this.mCharacteristic = bluetoothGattCharacteristic;
this.mMsg = bArr;
this.mPacketSize = i;
this.mPacketInterval = i2;
}
public static BleWriteCharacterisitcNoResponsePacketOperation createInstance(BluetoothGatt bluetoothGatt, BluetoothGattCharacteristic bluetoothGattCharacteristic, byte[] bArr, int i, int i2) {
return new BleWriteCharacterisitcNoResponsePacketOperation(bluetoothGatt, bluetoothGattCharacteristic, bArr, i, i2);
}
@Override // com.afunx.ble.blelitelib.operation.BleOperationAbs
protected void clearConcurrentOperation() {
}
@Override // com.afunx.ble.blelitelib.operation.BleOperation
public int getOperatcionCode() {
return 10;
}
@Override // com.afunx.ble.blelitelib.operation.BleOperation, java.lang.Runnable
public void run() {
this.mCharacteristic.setWriteType(1);
int i = this.mPacketSize;
int i2 = this.mPacketInterval;
int length = this.mMsg.length;
int i3 = 0;
while (i3 < length) {
int i4 = i3 + i;
int i5 = i4 <= length ? i : length - i3;
byte[] copyOfRange = Arrays.copyOfRange(this.mMsg, i3, i3 + i5);
this.mCharacteristic.setValue(copyOfRange);
this.mBluetoothGatt.writeCharacteristic(this.mCharacteristic);
BleLiteLog.i(TAG, "writeCharacteristic() " + HexUtils.bytes2HexStringWithSpace(copyOfRange, 0, i5));
if (i2 > 0) {
try {
Thread.sleep(i2);
} catch (InterruptedException unused) {
Thread.currentThread().interrupt();
return;
}
}
i3 = i4;
}
}
}