mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
btle+br: use DeviceSupport.createTransactionBuilder instead of TransactionBuilder's constructor to prepare for queue isolation
This commit is contained in:
+1
-1
@@ -37,7 +37,7 @@ public class TransactionBuilder {
|
||||
private final Transaction mTransaction;
|
||||
private boolean mQueued;
|
||||
|
||||
public TransactionBuilder(String taskName) {
|
||||
TransactionBuilder(String taskName) {
|
||||
mTransaction = new Transaction(taskName);
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -230,8 +230,8 @@ public abstract class AbstractBTLEMultiDeviceSupport extends AbstractBTLEDeviceS
|
||||
}
|
||||
}
|
||||
|
||||
public TransactionBuilder createTransactionBuilder(String taskName) {
|
||||
return new TransactionBuilder(taskName);
|
||||
public TransactionBuilder createTransactionBuilder(String taskName, int deviceIdx) {
|
||||
return new TransactionBuilder(taskName + "_" + deviceIdx);
|
||||
}
|
||||
|
||||
public ServerTransactionBuilder createServerTransactionBuilder(String taskName) {
|
||||
@@ -268,12 +268,12 @@ public abstract class AbstractBTLEMultiDeviceSupport extends AbstractBTLEDeviceS
|
||||
if (!devices[deviceIdx].isInitialized()) {
|
||||
logger.debug("Initializing device for {}", taskName);
|
||||
// first, add a transaction that performs device initialization
|
||||
TransactionBuilder builder = createTransactionBuilder("Initialize device");
|
||||
TransactionBuilder builder = createTransactionBuilder("Initialize device", deviceIdx);
|
||||
builder.add(new CheckInitializedAction(devices[deviceIdx]));
|
||||
initializeDevice(builder, deviceIdx);
|
||||
builder.queue(getQueue(deviceIdx));
|
||||
}
|
||||
return createTransactionBuilder(taskName);
|
||||
return createTransactionBuilder(taskName, deviceIdx);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -447,7 +447,7 @@ public abstract class AbstractBTLEMultiDeviceSupport extends AbstractBTLEDeviceS
|
||||
getDevice(deviceIdx), deviceIdx, getDevice(deviceIdx).getState());
|
||||
return;
|
||||
}
|
||||
TransactionBuilder builder = createTransactionBuilder("Initializing device_" + deviceIdx);
|
||||
TransactionBuilder builder = createTransactionBuilder("Initializing device", deviceIdx);
|
||||
|
||||
if (bleApis[deviceIdx] != null) {
|
||||
bleApis[deviceIdx].initializeDevice(builder);
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ public class TransactionBuilder {
|
||||
private final Transaction mTransaction;
|
||||
private boolean mQueued;
|
||||
|
||||
public TransactionBuilder(String taskName) {
|
||||
TransactionBuilder(String taskName) {
|
||||
mTransaction = new Transaction(taskName);
|
||||
}
|
||||
|
||||
|
||||
+8
-8
@@ -121,7 +121,7 @@ public class AsteroidOSDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
@Override
|
||||
public void onNotification(NotificationSpec notificationSpec) {
|
||||
AsteroidOSNotification notif = new AsteroidOSNotification(notificationSpec);
|
||||
TransactionBuilder builder = new TransactionBuilder("send notification");
|
||||
TransactionBuilder builder = createTransactionBuilder("send notification");
|
||||
safeWriteToCharacteristic(builder, AsteroidOSConstants.NOTIFICATION_UPDATE_CHAR, notif.toString().getBytes(StandardCharsets.UTF_8));
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
@@ -129,14 +129,14 @@ public class AsteroidOSDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
@Override
|
||||
public void onDeleteNotification(int id) {
|
||||
AsteroidOSNotification notif = new AsteroidOSNotification(id);
|
||||
TransactionBuilder builder = new TransactionBuilder("delete notification");
|
||||
TransactionBuilder builder = createTransactionBuilder("delete notification");
|
||||
safeWriteToCharacteristic(builder, AsteroidOSConstants.NOTIFICATION_UPDATE_CHAR, notif.toString().getBytes(StandardCharsets.UTF_8));
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSetTime() {
|
||||
TransactionBuilder builder = new TransactionBuilder("set time");
|
||||
TransactionBuilder builder = createTransactionBuilder("set time");
|
||||
onSetTime(builder);
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
@@ -157,14 +157,14 @@ public class AsteroidOSDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
@Override
|
||||
public void onSetCallState(CallSpec callSpec) {
|
||||
AsteroidOSNotification call = new AsteroidOSNotification(callSpec);
|
||||
TransactionBuilder builder = new TransactionBuilder("send call");
|
||||
TransactionBuilder builder = createTransactionBuilder("send call");
|
||||
safeWriteToCharacteristic(builder, AsteroidOSConstants.NOTIFICATION_UPDATE_CHAR, call.toString().getBytes(StandardCharsets.UTF_8));
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSetMusicState(MusicStateSpec stateSpec) {
|
||||
TransactionBuilder builder = new TransactionBuilder("set music state");
|
||||
TransactionBuilder builder = createTransactionBuilder("set music state");
|
||||
if (stateSpec.state == MusicStateSpec.STATE_PLAYING) {
|
||||
safeWriteToCharacteristic(builder, AsteroidOSConstants.MEDIA_PLAYING_CHAR, new byte[]{1});
|
||||
} else {
|
||||
@@ -175,7 +175,7 @@ public class AsteroidOSDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
|
||||
@Override
|
||||
public void onSetMusicInfo(MusicSpec musicSpec) {
|
||||
TransactionBuilder builder = new TransactionBuilder("send music information");
|
||||
TransactionBuilder builder = createTransactionBuilder("send music information");
|
||||
// Send title
|
||||
{
|
||||
byte[] track_bytes;
|
||||
@@ -208,7 +208,7 @@ public class AsteroidOSDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
|
||||
@Override
|
||||
public void onSetPhoneVolume(float volume) {
|
||||
TransactionBuilder builder = new TransactionBuilder("send volume information");
|
||||
TransactionBuilder builder = createTransactionBuilder("send volume information");
|
||||
byte volByte = (byte) Math.round(volume);
|
||||
safeWriteToCharacteristic(builder, AsteroidOSConstants.MEDIA_VOLUME_CHAR, new byte[]{volByte});
|
||||
builder.queue(getQueue());
|
||||
@@ -226,7 +226,7 @@ public class AsteroidOSDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
public void onSendWeather(ArrayList<WeatherSpec> weatherSpecs) {
|
||||
WeatherSpec weatherSpec = weatherSpecs.get(0);
|
||||
AsteroidOSWeather asteroidOSWeather = new AsteroidOSWeather(weatherSpec);
|
||||
TransactionBuilder builder = new TransactionBuilder("send weather info");
|
||||
TransactionBuilder builder = createTransactionBuilder("send weather info");
|
||||
// Send city name
|
||||
safeWriteToCharacteristic(builder, AsteroidOSConstants.WEATHER_CITY_CHAR, asteroidOSWeather.getCityName());
|
||||
// Send conditions
|
||||
|
||||
+5
-5
@@ -187,7 +187,7 @@ public class ATCBLEOEPLDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
if (!success) {
|
||||
GB.toast(getContext().getString(R.string.same_image_already_on_device), Toast.LENGTH_LONG, GB.WARN);
|
||||
}
|
||||
final TransactionBuilder builder = new TransactionBuilder("finish upload");
|
||||
final TransactionBuilder builder = createTransactionBuilder("finish upload");
|
||||
builder.add(new SetProgressAction(getContext().getString(R.string.sending_image), false, 100, getContext()));
|
||||
if (!is_firmware) {
|
||||
builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), new byte[]{0x00, 0x03});
|
||||
@@ -205,7 +205,7 @@ public class ATCBLEOEPLDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
}
|
||||
|
||||
private void handleNextBlockRequest(byte[] value) {
|
||||
final TransactionBuilder builder = new TransactionBuilder("send image start");
|
||||
final TransactionBuilder builder = createTransactionBuilder("send image start");
|
||||
builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), new byte[]{0x00, 0x02});
|
||||
current_chunk = 0;
|
||||
current_block = value[11];
|
||||
@@ -217,7 +217,7 @@ public class ATCBLEOEPLDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
}
|
||||
|
||||
private void handleNextChunkRequest(boolean success) {
|
||||
final TransactionBuilder builder = new TransactionBuilder("send image chunk");
|
||||
final TransactionBuilder builder = createTransactionBuilder("send image chunk");
|
||||
if (success) {
|
||||
current_chunk++; // only send next chunk when successful, else resend last chunk
|
||||
}
|
||||
@@ -264,7 +264,7 @@ public class ATCBLEOEPLDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
editor.putBoolean(DeviceSettingsPreferenceConst.PREF_ATC_BLE_OEPL_OEPL_PROTOCOL_ENABLE, oepl_enabled);
|
||||
editor.apply();
|
||||
|
||||
final TransactionBuilder builder = new TransactionBuilder("set initialized");
|
||||
final TransactionBuilder builder = createTransactionBuilder("set initialized");
|
||||
builder.add(new SetDeviceStateAction(getDevice(), GBDevice.State.INITIALIZED, getContext()));
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
@@ -457,7 +457,7 @@ public class ATCBLEOEPLDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
buf.put((byte) 0x00);
|
||||
buf.putShort((byte) 0x00);
|
||||
|
||||
final TransactionBuilder builder = new TransactionBuilder("send image prepare");
|
||||
final TransactionBuilder builder = createTransactionBuilder("send image prepare");
|
||||
builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), buf.array());
|
||||
builder.setBusyTask(getDevice(), R.string.sending_image, getContext());
|
||||
builder.queue(getQueue());
|
||||
|
||||
+2
-2
@@ -146,7 +146,7 @@ public class BinarySensorSupport extends BinarySensorBaseSupport {
|
||||
for (Parameter parameter : response.getParameters()) {
|
||||
if (parameter instanceof SensorState) {
|
||||
if(getDevice().getState() != GBDevice.State.INITIALIZED){
|
||||
new TransactionBuilder("set device state")
|
||||
createTransactionBuilder("set device state")
|
||||
.setUpdateState(getDevice(), GBDevice.State.INITIALIZED, getContext())
|
||||
.queue(getQueue());
|
||||
}
|
||||
@@ -171,7 +171,7 @@ public class BinarySensorSupport extends BinarySensorBaseSupport {
|
||||
}
|
||||
|
||||
private void sendPacketToDevice(byte[] data) {
|
||||
TransactionBuilder builder = new TransactionBuilder("BSS control");
|
||||
TransactionBuilder builder = createTransactionBuilder("BSS control");
|
||||
sendPacketToDevice(data, builder);
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
|
||||
+3
-3
@@ -207,7 +207,7 @@ public class DomyosT540Support extends AbstractBTLESingleDeviceSupport {
|
||||
command[3] = getChecksum(command);
|
||||
BluetoothGattCharacteristic characteristic = getCharacteristic(UUUD_CHARACTERISTICS_WRITE);
|
||||
|
||||
TransactionBuilder builder = new TransactionBuilder("beep");
|
||||
TransactionBuilder builder = createTransactionBuilder("beep");
|
||||
builder.write(characteristic, command);
|
||||
builder.queue(getQueue());
|
||||
|
||||
@@ -247,7 +247,7 @@ public class DomyosT540Support extends AbstractBTLESingleDeviceSupport {
|
||||
buf.get(); // ??
|
||||
boolean workoutStarted = buf.get() > 0;
|
||||
|
||||
TransactionBuilder builder = new TransactionBuilder("send update");
|
||||
TransactionBuilder builder = createTransactionBuilder("send update");
|
||||
|
||||
if (buttonCode == 6 || buttonCode == 7) {
|
||||
if (workoutStarted || buttonCode == 7) {
|
||||
@@ -295,7 +295,7 @@ public class DomyosT540Support extends AbstractBTLESingleDeviceSupport {
|
||||
|
||||
@Override
|
||||
public void onTestNewFunction() {
|
||||
TransactionBuilder builder = new TransactionBuilder("xxx");
|
||||
TransactionBuilder builder = createTransactionBuilder("xxx");
|
||||
//setDisplayValues(builder, 1, 10, 10, 10, 10);
|
||||
//writeChunked(builder, COMMAND_SET_DISPLAY);
|
||||
|
||||
|
||||
+4
-2
@@ -236,11 +236,13 @@ public class G1DeviceSupport extends AbstractBTLEMultiDeviceSupport {
|
||||
// Create the desired side.
|
||||
if (deviceIdx == G1Constants.Side.LEFT.getDeviceIndex()) {
|
||||
leftSide = new G1SideManager(G1Constants.Side.LEFT, backgroundTasksHandler, getQueue,
|
||||
getDevice, handleEvent, this::getDevicePrefs, rx, tx);
|
||||
getDevice, handleEvent, this::getDevicePrefs, rx, tx,
|
||||
this::createTransactionBuilder);
|
||||
return leftSide;
|
||||
} else if (deviceIdx == G1Constants.Side.RIGHT.getDeviceIndex()) {
|
||||
rightSide = new G1SideManager(G1Constants.Side.RIGHT, backgroundTasksHandler, getQueue,
|
||||
getDevice, handleEvent, this::getDevicePrefs, rx, tx);
|
||||
getDevice, handleEvent, this::getDevicePrefs, rx, tx,
|
||||
this::createTransactionBuilder);
|
||||
return rightSide;
|
||||
}
|
||||
|
||||
|
||||
+8
-4
@@ -12,6 +12,7 @@ import java.nio.charset.StandardCharsets;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
||||
@@ -43,6 +44,7 @@ public class G1SideManager {
|
||||
private final Callable<GBDevice> getDeviceHandler;
|
||||
private final Function<GBDeviceEvent, Void> sendEventHandler;
|
||||
private final Callable<DevicePrefs> getPrefsHandler;
|
||||
private final BiFunction<String, Integer, TransactionBuilder> createTransactionBuilder;
|
||||
private final BluetoothGattCharacteristic rx;
|
||||
private final BluetoothGattCharacteristic tx;
|
||||
private final Runnable batteryRunner;
|
||||
@@ -57,13 +59,15 @@ public class G1SideManager {
|
||||
public G1SideManager(G1Constants.Side mySide, Handler backgroundTasksHandler,
|
||||
Callable<BtLEQueue> getQueue, Callable<GBDevice> getDevice,
|
||||
Function<GBDeviceEvent, Void> sendEvent, Callable<DevicePrefs> getPrefs,
|
||||
BluetoothGattCharacteristic rx, BluetoothGattCharacteristic tx) {
|
||||
BluetoothGattCharacteristic rx, BluetoothGattCharacteristic tx,
|
||||
BiFunction<String, Integer, TransactionBuilder> createTransactionBuilder) {
|
||||
this.mySide = mySide;
|
||||
this.backgroundTasksHandler = backgroundTasksHandler;
|
||||
this.getQueueHandler = getQueue;
|
||||
this.getDeviceHandler = getDevice;
|
||||
this.sendEventHandler = sendEvent;
|
||||
this.getPrefsHandler = getPrefs;
|
||||
this.createTransactionBuilder = createTransactionBuilder;
|
||||
this.rx = rx;
|
||||
this.tx = tx;
|
||||
this.batteryRunner = () -> {
|
||||
@@ -163,7 +167,7 @@ public class G1SideManager {
|
||||
|
||||
public void postInitializeLeft() {
|
||||
TransactionBuilder transaction =
|
||||
new TransactionBuilder("post_initialize_left_" + mySide.getDeviceIndex());
|
||||
createTransactionBuilder.apply("post_initialize_left", mySide.getDeviceIndex());
|
||||
postInitializeCommon(transaction);
|
||||
|
||||
// These can be sent to both, but the left lens is used as the master for these settings.
|
||||
@@ -175,7 +179,7 @@ public class G1SideManager {
|
||||
|
||||
public void postInitializeRight() {
|
||||
TransactionBuilder transaction =
|
||||
new TransactionBuilder( "post_initialize_right_" + mySide.getDeviceIndex());
|
||||
createTransactionBuilder.apply( "post_initialize_right", mySide.getDeviceIndex());
|
||||
postInitializeCommon(transaction);
|
||||
|
||||
// This settings are only sent to the right lens in the official app, so we copy that.
|
||||
@@ -277,7 +281,7 @@ public class G1SideManager {
|
||||
|
||||
public void send(G1Communications.CommandHandler command) {
|
||||
TransactionBuilder transaction =
|
||||
new TransactionBuilder(command.getName() + "_" + mySide.getDeviceIndex());
|
||||
createTransactionBuilder.apply(command.getName(), mySide.getDeviceIndex());
|
||||
sendInTransaction(transaction, command);
|
||||
transaction.queue(getQueue());
|
||||
}
|
||||
|
||||
+1
-1
@@ -175,7 +175,7 @@ public class FemometerVinca2DeviceSupport extends AbstractBTLESingleDeviceSuppor
|
||||
|
||||
@Override
|
||||
public void onSetTime() {
|
||||
TransactionBuilder builder = new TransactionBuilder("set time");
|
||||
TransactionBuilder builder = createTransactionBuilder("set time");
|
||||
setCurrentTime(builder);
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
|
||||
+10
-10
@@ -402,7 +402,7 @@ public class FitProDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
//the band does not like to answer when asked together for both hw info, so ask now,
|
||||
// after data is already received
|
||||
|
||||
TransactionBuilder builder = new TransactionBuilder("notification");
|
||||
TransactionBuilder builder = createTransactionBuilder("notification");
|
||||
builder.write(writeCharacteristic, craftData(CMD_GROUP_BAND_INFO, CMD_RX_BAND_INFO));
|
||||
builder.queue(getQueue());
|
||||
|
||||
@@ -432,7 +432,7 @@ public class FitProDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
@Override
|
||||
public void onSetCallState(CallSpec callSpec) {
|
||||
LOG.debug("FitPro send call notification");
|
||||
TransactionBuilder builder = new TransactionBuilder("CALL");
|
||||
TransactionBuilder builder = createTransactionBuilder("CALL");
|
||||
|
||||
if (callSpec.command == CallSpec.CALL_INCOMING) {
|
||||
|
||||
@@ -530,7 +530,7 @@ public class FitProDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
|
||||
public void sendAck(byte command_group, byte length_high, byte length_low, byte command) {
|
||||
LOG.debug(" ACKing data: " + nodomain.freeyourgadget.gadgetbridge.util.ArrayUtils.arrayToString(new byte[]{command_group}) + " " + nodomain.freeyourgadget.gadgetbridge.util.ArrayUtils.arrayToString(new byte[]{command}));
|
||||
TransactionBuilder builder = new TransactionBuilder("notification");
|
||||
TransactionBuilder builder = createTransactionBuilder("notification");
|
||||
short size = (short) (ByteBuffer.wrap(new byte[]{length_high, length_low}).getShort() + 3);
|
||||
byte[] sizeArray = ByteBuffer.allocate(2).putShort(size).array();
|
||||
builder.write(writeCharacteristic, new byte[]{FitProConstants.DATA_HEADER_ACK, 0, 5, command_group, 1, sizeArray[0], sizeArray[1], 1});
|
||||
@@ -557,7 +557,7 @@ public class FitProDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
}
|
||||
|
||||
byte currentConditionCode = Weather.mapToFitProCondition(weatherSpec.currentConditionCode);
|
||||
TransactionBuilder builder = new TransactionBuilder("weather");
|
||||
TransactionBuilder builder = createTransactionBuilder("weather");
|
||||
writeChunkedData(builder, craftData(CMD_GROUP_GENERAL, CMD_WEATHER, new byte[]{(byte) todayMin, (byte) todayMax, (byte) currentConditionCode, (byte) weatherUnit}));
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
@@ -570,7 +570,7 @@ public class FitProDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
@Override
|
||||
public void onNotification(NotificationSpec notificationSpec) {
|
||||
LOG.debug("FitPro notification: " + notificationSpec.type);
|
||||
TransactionBuilder builder = new TransactionBuilder("notification");
|
||||
TransactionBuilder builder = createTransactionBuilder("notification");
|
||||
byte icon = NOTIFICATION_ICON_SMS;
|
||||
switch (notificationSpec.type) {
|
||||
case GENERIC_SMS:
|
||||
@@ -738,7 +738,7 @@ public class FitProDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
@Override
|
||||
public void onFetchRecordedData(int dataTypes) {
|
||||
indicateFinishedFetchingOperation();
|
||||
TransactionBuilder builder = new TransactionBuilder("fetch data1");
|
||||
TransactionBuilder builder = createTransactionBuilder("fetch data1");
|
||||
builder.setBusyTask(getDevice(), R.string.busy_task_fetch_activity_data, getContext());
|
||||
builder.write(writeCharacteristic, craftData(CMD_GROUP_RECEIVE_SPORTS_DATA, CMD_REQUEST_STEPS_DATA1, VALUE_ON));
|
||||
builder.queue(getQueue());
|
||||
@@ -868,7 +868,7 @@ public class FitProDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
@Override
|
||||
public void onSetTime() {
|
||||
LOG.debug("FitPro set date and time");
|
||||
TransactionBuilder builder = new TransactionBuilder("Set date and time");
|
||||
TransactionBuilder builder = createTransactionBuilder("Set date and time");
|
||||
setTime(builder);
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
@@ -964,14 +964,14 @@ public class FitProDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
}
|
||||
|
||||
getQueue().clear();
|
||||
TransactionBuilder builder = new TransactionBuilder("resetting");
|
||||
TransactionBuilder builder = createTransactionBuilder("resetting");
|
||||
builder.write(writeCharacteristic, command);
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onHeartRateTest() {
|
||||
TransactionBuilder builder = new TransactionBuilder("notification");
|
||||
TransactionBuilder builder = createTransactionBuilder("notification");
|
||||
builder.write(writeCharacteristic, craftData(CMD_GROUP_GENERAL, CMD_HEART_RATE_MEASUREMENT, VALUE_ON));
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
@@ -980,7 +980,7 @@ public class FitProDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
public void onFindDevice(boolean start) {
|
||||
getQueue().clear();
|
||||
LOG.debug("FitPro find device");
|
||||
TransactionBuilder builder = new TransactionBuilder("searching");
|
||||
TransactionBuilder builder = createTransactionBuilder("searching");
|
||||
builder.write(writeCharacteristic, craftData(CMD_GROUP_GENERAL, CMD_FIND_BAND, start ? VALUE_ON : VALUE_OFF));
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
|
||||
+1
-1
@@ -168,7 +168,7 @@ public class FlipperZeroSupport extends FlipperZeroBaseSupport{
|
||||
}
|
||||
|
||||
private void sendSerialData(byte[] data){
|
||||
new TransactionBuilder("send serial data")
|
||||
createTransactionBuilder("send serial data")
|
||||
.write(getCharacteristic(UUID.fromString(UUID_SERIAL_CHARACTERISTIC_WRITE)), data)
|
||||
.queue(getQueue());
|
||||
}
|
||||
|
||||
+1
-1
@@ -74,7 +74,7 @@ public class CommunicatorV1 implements ICommunicator {
|
||||
|
||||
final byte[] payload = cobsCoDec.encode(message);
|
||||
|
||||
final TransactionBuilder builder = new TransactionBuilder(taskName);
|
||||
final TransactionBuilder builder = mSupport.createTransactionBuilder(taskName);
|
||||
int remainingBytes = payload.length;
|
||||
if (remainingBytes > maxWriteSize - 1) {
|
||||
int position = 0;
|
||||
|
||||
+6
-6
@@ -108,7 +108,7 @@ public class CommunicatorV2 implements ICommunicator {
|
||||
}
|
||||
final byte[] payload = cobsCoDec.encode(message);
|
||||
// LOG.debug("SENDING MESSAGE: {} - COBS ENCODED: {}", GB.hexdump(message), GB.hexdump(payload));
|
||||
final TransactionBuilder builder = new TransactionBuilder(taskName);
|
||||
final TransactionBuilder builder = mSupport.createTransactionBuilder(taskName);
|
||||
int remainingBytes = payload.length;
|
||||
if (remainingBytes > maxWriteSize - 1) {
|
||||
int position = 0;
|
||||
@@ -161,7 +161,7 @@ public class CommunicatorV2 implements ICommunicator {
|
||||
public void onHeartRateTest() {
|
||||
realtimeHrOneShot = true;
|
||||
if (realtimeHrHandle == 0) {
|
||||
new TransactionBuilder("heart rate test")
|
||||
mSupport.createTransactionBuilder("heart rate test")
|
||||
.write(characteristicSend, registerService(Service.REALTIME_HR, false))
|
||||
.queue(this.mSupport.getQueue());
|
||||
}
|
||||
@@ -181,12 +181,12 @@ public class CommunicatorV2 implements ICommunicator {
|
||||
|
||||
private boolean toggleService(final Service service, final int currentHandle, final boolean enable) {
|
||||
if (enable && currentHandle == 0) {
|
||||
new TransactionBuilder(service + " = true")
|
||||
mSupport.createTransactionBuilder(service + " = true")
|
||||
.write(characteristicSend, registerService(service, false))
|
||||
.queue(this.mSupport.getQueue());
|
||||
return true;
|
||||
} else if (!enable && currentHandle != 0) {
|
||||
new TransactionBuilder(service + " = false")
|
||||
mSupport.createTransactionBuilder(service + " = false")
|
||||
.write(characteristicSend, closeService(service, currentHandle))
|
||||
.queue(this.mSupport.getQueue());
|
||||
return true;
|
||||
@@ -245,7 +245,7 @@ public class CommunicatorV2 implements ICommunicator {
|
||||
break;
|
||||
case REALTIME_ACCELEROMETER:
|
||||
this.realtimeAccelHandle = handle;
|
||||
new TransactionBuilder("start realtime accel")
|
||||
mSupport.createTransactionBuilder("start realtime accel")
|
||||
.write(characteristicSend, new byte[]{(byte) handle, 0x01})
|
||||
.queue(this.mSupport.getQueue());
|
||||
break;
|
||||
@@ -303,7 +303,7 @@ public class CommunicatorV2 implements ICommunicator {
|
||||
this.realtimeSpo2Handle = 0;
|
||||
this.realtimeRespirationHandle = 0;
|
||||
this.realtimeHrvHandle = 0;
|
||||
new TransactionBuilder("open GFDI")
|
||||
mSupport.createTransactionBuilder("open GFDI")
|
||||
.write(characteristicSend, registerService(Service.GFDI, false))
|
||||
.queue(this.mSupport.getQueue());
|
||||
break;
|
||||
|
||||
+5
-5
@@ -164,7 +164,7 @@ class HPlusHandlerThread extends GBDeviceIoThread {
|
||||
if (!mHPlusSupport.isConnected())
|
||||
mHPlusSupport.connect();
|
||||
|
||||
TransactionBuilder builder = new TransactionBuilder("startSyncDayStats");
|
||||
TransactionBuilder builder = mHPlusSupport.createTransactionBuilder("startSyncDayStats");
|
||||
|
||||
builder.write(mHPlusSupport.ctrlCharacteristic, new byte[]{HPlusConstants.CMD_GET_DEVICE_ID});
|
||||
builder.write(mHPlusSupport.ctrlCharacteristic, new byte[]{HPlusConstants.CMD_GET_VERSION});
|
||||
@@ -182,7 +182,7 @@ class HPlusHandlerThread extends GBDeviceIoThread {
|
||||
|
||||
public void sendHello() {
|
||||
try {
|
||||
TransactionBuilder builder = new TransactionBuilder("hello");
|
||||
TransactionBuilder builder = mHPlusSupport.createTransactionBuilder("hello");
|
||||
builder.write(mHPlusSupport.ctrlCharacteristic, HPlusConstants.CMD_ACTION_HELLO);
|
||||
mHPlusSupport.performConnected(builder.getTransaction());
|
||||
|
||||
@@ -540,7 +540,7 @@ class HPlusHandlerThread extends GBDeviceIoThread {
|
||||
*/
|
||||
private void requestNextSleepData() {
|
||||
try {
|
||||
TransactionBuilder builder = new TransactionBuilder("requestSleepStats");
|
||||
TransactionBuilder builder = mHPlusSupport.createTransactionBuilder("requestSleepStats");
|
||||
builder.write(mHPlusSupport.ctrlCharacteristic, new byte[]{HPlusConstants.CMD_GET_SLEEP});
|
||||
mHPlusSupport.performConnected(builder.getTransaction());
|
||||
} catch (Exception e) {
|
||||
@@ -595,7 +595,7 @@ class HPlusHandlerThread extends GBDeviceIoThread {
|
||||
byte[] msg = new byte[]{HPlusConstants.CMD_GET_ACTIVE_DAY, hour, minute, nextHour, nextMinute};
|
||||
try {
|
||||
|
||||
TransactionBuilder builder = new TransactionBuilder("getNextDaySlot");
|
||||
TransactionBuilder builder = mHPlusSupport.createTransactionBuilder("getNextDaySlot");
|
||||
builder.write(mHPlusSupport.ctrlCharacteristic, msg);
|
||||
mHPlusSupport.performConnected(builder.getTransaction());
|
||||
} catch (Exception e) {
|
||||
@@ -608,7 +608,7 @@ class HPlusHandlerThread extends GBDeviceIoThread {
|
||||
*/
|
||||
public void requestDaySummaryData() {
|
||||
try {
|
||||
TransactionBuilder builder = new TransactionBuilder("startSyncDaySummary");
|
||||
TransactionBuilder builder = mHPlusSupport.createTransactionBuilder("startSyncDaySummary");
|
||||
builder.write(mHPlusSupport.ctrlCharacteristic, new byte[]{HPlusConstants.CMD_GET_DAY_DATA});
|
||||
mHPlusSupport.performConnected(builder.getTransaction());
|
||||
} catch (Exception e) {
|
||||
|
||||
+1
-1
@@ -1684,7 +1684,7 @@ public abstract class HuamiSupport extends AbstractBTLESingleDeviceSupport
|
||||
case HuamiDeviceEvent.ALARM_TOGGLED:
|
||||
case HuamiDeviceEvent.ALARM_CHANGED:
|
||||
LOG.info("An alarm was toggled or changed");
|
||||
TransactionBuilder builder = new TransactionBuilder("requestAlarms");
|
||||
TransactionBuilder builder = createTransactionBuilder("requestAlarms");
|
||||
requestAlarms(builder);
|
||||
builder.queue(getQueue());
|
||||
break;
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ public class ZeppOsBtbrTransactionBuilder implements ZeppOsTransactionBuilder {
|
||||
|
||||
public ZeppOsBtbrTransactionBuilder(final ZeppOsBtbrSupport mSupport, final String taskName) {
|
||||
this.mSupport = mSupport;
|
||||
this.mBuilder = new TransactionBuilder(taskName);
|
||||
this.mBuilder = mSupport.createTransactionBuilder(taskName);
|
||||
}
|
||||
|
||||
public ZeppOsBtbrTransactionBuilder(final ZeppOsBtbrSupport mSupport, final TransactionBuilder builder) {
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ public class ZeppOsBtleTransactionBuilder implements ZeppOsTransactionBuilder {
|
||||
|
||||
public ZeppOsBtleTransactionBuilder(final ZeppOsBtleSupport mSupport, final String taskName) {
|
||||
this.mSupport = mSupport;
|
||||
this.mBuilder = new TransactionBuilder(taskName);
|
||||
this.mBuilder = mSupport.createTransactionBuilder(taskName);
|
||||
}
|
||||
|
||||
public ZeppOsBtleTransactionBuilder(final ZeppOsBtleSupport mSupport, final TransactionBuilder builder) {
|
||||
|
||||
+3
-3
@@ -95,7 +95,7 @@ public class IdasenDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
// needs to get from the lowest to the highest point.
|
||||
int cutOff = 100;
|
||||
do {
|
||||
TransactionBuilder builder = new TransactionBuilder("height");
|
||||
TransactionBuilder builder = createTransactionBuilder("height");
|
||||
|
||||
builder.write(characteristic, setHeightRequest);
|
||||
builder.queue(getQueue());
|
||||
@@ -168,7 +168,7 @@ public class IdasenDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
private void readCharacteristic(String taskName, UUID charac) {
|
||||
BluetoothGattCharacteristic characteristic = getCharacteristic(charac);
|
||||
|
||||
TransactionBuilder builder = new TransactionBuilder(taskName);
|
||||
TransactionBuilder builder = createTransactionBuilder(taskName);
|
||||
builder.read(characteristic);
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
@@ -200,7 +200,7 @@ public class IdasenDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
}
|
||||
|
||||
private void sendCommand(String taskName, UUID charac, byte[] contents) {
|
||||
TransactionBuilder builder = new TransactionBuilder(taskName);
|
||||
TransactionBuilder builder = createTransactionBuilder(taskName);
|
||||
BluetoothGattCharacteristic characteristic = getCharacteristic(charac);
|
||||
if (characteristic != null) {
|
||||
builder.write(characteristic, contents);
|
||||
|
||||
+1
-1
@@ -116,7 +116,7 @@ public class ITagSupport extends AbstractBTLESingleDeviceSupport {
|
||||
getQueue().clear();
|
||||
BluetoothGattCharacteristic characteristic = getCharacteristic(ITagConstants.UUID_LINK_LOSS_ALERT_LEVEL);
|
||||
|
||||
TransactionBuilder builder = new TransactionBuilder("beeping");
|
||||
TransactionBuilder builder = createTransactionBuilder("beeping");
|
||||
builder.write(characteristic, new byte[]{(byte) intensity});
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
|
||||
+1
-1
@@ -129,7 +129,7 @@ public class MarstekB2500DeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
}
|
||||
|
||||
private void sendCommand(String taskName, byte[] contents) {
|
||||
TransactionBuilder builder = new TransactionBuilder(taskName);
|
||||
TransactionBuilder builder = createTransactionBuilder(taskName);
|
||||
BluetoothGattCharacteristic characteristic = getCharacteristic(UUID_CHARACTERISTIC_MAIN);
|
||||
if (characteristic != null && contents != null) {
|
||||
builder.write(characteristic, contents);
|
||||
|
||||
+2
-2
@@ -457,7 +457,7 @@ public class NutSupport extends AbstractBTLESingleDeviceSupport {
|
||||
private void writeCharacteristic(String taskName, UUID charac, byte[] data) {
|
||||
BluetoothGattCharacteristic characteristic = getCharacteristic(charac);
|
||||
|
||||
TransactionBuilder builder = new TransactionBuilder(taskName);
|
||||
TransactionBuilder builder = createTransactionBuilder(taskName);
|
||||
builder.write(characteristic, data);
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
@@ -471,7 +471,7 @@ public class NutSupport extends AbstractBTLESingleDeviceSupport {
|
||||
private void readCharacteristic(String taskName, UUID charac) {
|
||||
BluetoothGattCharacteristic characteristic = getCharacteristic(charac);
|
||||
|
||||
TransactionBuilder builder = new TransactionBuilder(taskName);
|
||||
TransactionBuilder builder = createTransactionBuilder(taskName);
|
||||
builder.read(characteristic);
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
|
||||
+5
-5
@@ -298,7 +298,7 @@ public class PineTimeJFSupport extends AbstractBTLESingleDeviceSupport implement
|
||||
|
||||
@Override
|
||||
public void onNotification(NotificationSpec notificationSpec) {
|
||||
TransactionBuilder builder = new TransactionBuilder("notification");
|
||||
TransactionBuilder builder = createTransactionBuilder("notification");
|
||||
|
||||
String message;
|
||||
String source = null;
|
||||
@@ -341,7 +341,7 @@ public class PineTimeJFSupport extends AbstractBTLESingleDeviceSupport implement
|
||||
|
||||
@Override
|
||||
public void onSetNavigationInfo(NavigationInfoSpec navigationInfoSpec) {
|
||||
TransactionBuilder builder = new TransactionBuilder("navigation info");
|
||||
TransactionBuilder builder = createTransactionBuilder("navigation info");
|
||||
if (navigationInfoSpec.instruction == null) {
|
||||
navigationInfoSpec.instruction = "";
|
||||
}
|
||||
@@ -413,7 +413,7 @@ public class PineTimeJFSupport extends AbstractBTLESingleDeviceSupport implement
|
||||
byte[] bytesCurrentTime = BLETypeConversions.calendarToCurrentTime(now, 0);
|
||||
byte[] bytesLocalTime = BLETypeConversions.calendarToLocalTime(now);
|
||||
|
||||
TransactionBuilder builder = new TransactionBuilder("set time");
|
||||
TransactionBuilder builder = createTransactionBuilder("set time");
|
||||
builder.write(getCharacteristic(GattCharacteristic.UUID_CHARACTERISTIC_CURRENT_TIME), bytesCurrentTime);
|
||||
builder.write(getCharacteristic(GattCharacteristic.UUID_CHARACTERISTIC_LOCAL_TIME), bytesLocalTime);
|
||||
builder.queue(getQueue());
|
||||
@@ -422,7 +422,7 @@ public class PineTimeJFSupport extends AbstractBTLESingleDeviceSupport implement
|
||||
@Override
|
||||
public void onSetCallState(CallSpec callSpec) {
|
||||
if (callSpec.command == CallSpec.CALL_INCOMING) {
|
||||
TransactionBuilder builder = new TransactionBuilder("incomingcall");
|
||||
TransactionBuilder builder = createTransactionBuilder("incomingcall");
|
||||
|
||||
String message;
|
||||
if (isFirmwareAtLeastVersion0_15() && callSpec.sourceName != null) {
|
||||
@@ -631,7 +631,7 @@ public class PineTimeJFSupport extends AbstractBTLESingleDeviceSupport implement
|
||||
baos.write(new byte[9]);
|
||||
}
|
||||
|
||||
TransactionBuilder builder = new TransactionBuilder("set world clocks");
|
||||
TransactionBuilder builder = createTransactionBuilder("set world clocks");
|
||||
builder.write(getCharacteristic(PineTimeJFConstants.UUID_CHARACTERISTIC_WORLD_TIME), baos.toByteArray());
|
||||
builder.queue(getQueue());
|
||||
} catch (Exception e) {
|
||||
|
||||
+5
-5
@@ -702,14 +702,14 @@ public class FossilWatchAdapter extends WatchAdapter {
|
||||
try {
|
||||
if (!this.supportsExtendedVibration()) {
|
||||
if (start) {
|
||||
new TransactionBuilder("vibrate find")
|
||||
getDeviceSupport().createTransactionBuilder("vibrate find")
|
||||
.write(
|
||||
getDeviceSupport().getCharacteristic(UUID.fromString("3dda0005-957f-7d4a-34a6-74696673696d")),
|
||||
new byte[]{(byte) 0x01, (byte) 0x04, (byte) 0x30, (byte) 0x75, (byte) 0x00, (byte) 0x00}
|
||||
)
|
||||
.queue(getDeviceSupport().getQueue());
|
||||
} else {
|
||||
new TransactionBuilder("vibrate find")
|
||||
getDeviceSupport().createTransactionBuilder("vibrate find")
|
||||
.write(
|
||||
getDeviceSupport().getCharacteristic(UUID.fromString("3dda0005-957f-7d4a-34a6-74696673696d")),
|
||||
new byte[]{(byte) 0x02, (byte) 0x05, (byte) 0x04}
|
||||
@@ -817,7 +817,7 @@ public class FossilWatchAdapter extends WatchAdapter {
|
||||
log("dropping requetst " + request.getName());
|
||||
return;
|
||||
}
|
||||
new TransactionBuilder("requestMtu")
|
||||
getDeviceSupport().createTransactionBuilder("requestMtu")
|
||||
.requestMtu(512)
|
||||
.queue(getDeviceSupport().getQueue());
|
||||
|
||||
@@ -865,7 +865,7 @@ public class FossilWatchAdapter extends WatchAdapter {
|
||||
log("executing request: " + request.getName());
|
||||
restartRequestTimeout();
|
||||
this.fossilRequest = request;
|
||||
new TransactionBuilder(request.getClass().getSimpleName()).write(getDeviceSupport().getCharacteristic(request.getRequestUUID()), request.getRequestData()).queue(getDeviceSupport().getQueue());
|
||||
getDeviceSupport().createTransactionBuilder(request.getClass().getSimpleName()).write(getDeviceSupport().getCharacteristic(request.getRequestUUID()), request.getRequestData()).queue(getDeviceSupport().getQueue());
|
||||
|
||||
if (request.isFinished()) {
|
||||
this.fossilRequest = null;
|
||||
@@ -881,7 +881,7 @@ public class FossilWatchAdapter extends WatchAdapter {
|
||||
return;
|
||||
}
|
||||
restartRequestTimeout();
|
||||
new TransactionBuilder(request.getClass().getSimpleName()).write(getDeviceSupport().getCharacteristic(request.getRequestUUID()), request.getRequestData()).queue(getDeviceSupport().getQueue());
|
||||
getDeviceSupport().createTransactionBuilder(request.getClass().getSimpleName()).write(getDeviceSupport().getCharacteristic(request.getRequestUUID()), request.getRequestData()).queue(getDeviceSupport().getQueue());
|
||||
|
||||
queueNextRequest();
|
||||
}
|
||||
|
||||
+2
-2
@@ -314,7 +314,7 @@ public class MisfitWatchAdapter extends WatchAdapter {
|
||||
break;
|
||||
case UPLOAD:
|
||||
for (byte[] packet : this.uploadFileRequest.packets) {
|
||||
new TransactionBuilder("File upload").write(characteristic, packet).queue(getDeviceSupport().getQueue());
|
||||
getDeviceSupport().createTransactionBuilder("File upload").write(characteristic, packet).queue(getDeviceSupport().getQueue());
|
||||
}
|
||||
break;
|
||||
case UPLOADED:
|
||||
@@ -495,7 +495,7 @@ public class MisfitWatchAdapter extends WatchAdapter {
|
||||
}
|
||||
|
||||
private void queueWrite(Request request) {
|
||||
new TransactionBuilder(request.getClass().getSimpleName()).write(getDeviceSupport().getCharacteristic(request.getRequestUUID()), request.getRequestData()).queue(getDeviceSupport().getQueue());
|
||||
getDeviceSupport().createTransactionBuilder(request.getClass().getSimpleName()).write(getDeviceSupport().getCharacteristic(request.getRequestUUID()), request.getRequestData()).queue(getDeviceSupport().getQueue());
|
||||
// if (request instanceof FileRequest) this.fileRequest = request;
|
||||
|
||||
if (!request.expectsResponse()) {
|
||||
|
||||
+2
-2
@@ -83,7 +83,7 @@ public class FilePutRawRequest extends FossilRequest {
|
||||
}
|
||||
state = UploadState.UPLOADING;
|
||||
|
||||
TransactionBuilder transactionBuilder = new TransactionBuilder("file upload");
|
||||
TransactionBuilder transactionBuilder = adapter.getDeviceSupport().createTransactionBuilder("file upload");
|
||||
BluetoothGattCharacteristic uploadCharacteristic = adapter.getDeviceSupport().getCharacteristic(UUID.fromString("3dda0004-957f-7d4a-34a6-74696673696d"));
|
||||
|
||||
this.prepareFilePackets(this.file);
|
||||
@@ -124,7 +124,7 @@ public class FilePutRawRequest extends FossilRequest {
|
||||
buffer2.put((byte) 4);
|
||||
buffer2.putShort(this.handle);
|
||||
|
||||
new TransactionBuilder("file close")
|
||||
adapter.getDeviceSupport().createTransactionBuilder("file close")
|
||||
.write(
|
||||
adapter.getDeviceSupport().getCharacteristic(UUID.fromString("3dda0003-957f-7d4a-34a6-74696673696d")),
|
||||
buffer2.array()
|
||||
|
||||
+1
-1
@@ -90,7 +90,7 @@ public class VerifyPrivateKeyRequest extends AuthenticationRequest {
|
||||
|
||||
System.arraycopy(result, 0, payload, 3, 16);
|
||||
|
||||
new TransactionBuilder("send encrypted random numbers")
|
||||
adapter.getDeviceSupport().createTransactionBuilder("send encrypted random numbers")
|
||||
.write(characteristic, payload)
|
||||
.queue(this.adapter.getDeviceSupport().getQueue());
|
||||
} catch (NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException | InvalidAlgorithmParameterException e) {
|
||||
|
||||
+2
-2
@@ -84,7 +84,7 @@ public class FileEncryptedPutRequest extends FossilRequest implements FileEncryp
|
||||
}
|
||||
state = UploadState.UPLOADING;
|
||||
|
||||
TransactionBuilder transactionBuilder = new TransactionBuilder("file upload");
|
||||
TransactionBuilder transactionBuilder = adapter.getDeviceSupport().createTransactionBuilder("file upload");
|
||||
BluetoothGattCharacteristic uploadCharacteristic = adapter.getDeviceSupport().getCharacteristic(UUID.fromString("3dda0004-957f-7d4a-34a6-74696673696d"));
|
||||
|
||||
this.prepareFilePackets(this.file);
|
||||
@@ -150,7 +150,7 @@ public class FileEncryptedPutRequest extends FossilRequest implements FileEncryp
|
||||
buffer2.put((byte) 4);
|
||||
buffer2.putShort(this.handle);
|
||||
|
||||
new TransactionBuilder("file close")
|
||||
adapter.getDeviceSupport().createTransactionBuilder("file close")
|
||||
.write(
|
||||
adapter.getDeviceSupport().getCharacteristic(UUID.fromString("3dda0003-957f-7d4a-34a6-74696673696d")),
|
||||
buffer2.array()
|
||||
|
||||
+1
-1
@@ -156,7 +156,7 @@ public class SuperCarsSupport extends AbstractBTLESingleDeviceSupport {
|
||||
SuperCarsConstants.Direction direction) {
|
||||
|
||||
byte[] command = craft_packet(speed, direction, movement, light);
|
||||
TransactionBuilder builder = new TransactionBuilder("send data");
|
||||
TransactionBuilder builder = createTransactionBuilder("send data");
|
||||
BluetoothGattCharacteristic writeCharacteristic = getCharacteristic(SuperCarsConstants.CHARACTERISTIC_UUID_FFF1);
|
||||
builder.write(writeCharacteristic, encryptData(command));
|
||||
builder.queue(getQueue());
|
||||
|
||||
+1
-1
@@ -387,7 +387,7 @@ public class GenericThermalPrinterSupport extends AbstractBTLESingleDeviceSuppor
|
||||
}
|
||||
|
||||
public void send(String taskname, byte[] command) {
|
||||
TransactionBuilder builder = new TransactionBuilder(taskname);
|
||||
TransactionBuilder builder = createTransactionBuilder(taskname);
|
||||
builder.writeChunkedData(getCharacteristic(writeCharUUID), command, 123);
|
||||
builder.queue(getQueue());
|
||||
}
|
||||
|
||||
+2
-2
@@ -91,7 +91,7 @@ public class UM25Support extends UM25BaseSupport {
|
||||
if(!ACTION_RESET_STATS.equals(intent.getAction())){
|
||||
return;
|
||||
}
|
||||
new TransactionBuilder("reset stats")
|
||||
createTransactionBuilder("reset stats")
|
||||
.write(getCharacteristic(UUID.fromString(UUID_CHAR)), COMMAND_RESET_STATS)
|
||||
.queue(getQueue());
|
||||
}
|
||||
@@ -162,7 +162,7 @@ public class UM25Support extends UM25BaseSupport {
|
||||
|
||||
logger.debug("sending read command");
|
||||
buffer.reset();
|
||||
new TransactionBuilder("send read command")
|
||||
createTransactionBuilder("send read command")
|
||||
.write(getCharacteristic(UUID.fromString(UUID_CHAR)), COMMAND_UPDATE)
|
||||
.queue(getQueue());
|
||||
logger.debug("sent command");
|
||||
|
||||
+1
-1
@@ -288,7 +288,7 @@ public class VescDeviceSupport extends VescBaseDeviceSupport {
|
||||
}
|
||||
|
||||
public void queryPacket(byte[] data) {
|
||||
new TransactionBuilder("write serial packet")
|
||||
createTransactionBuilder("write serial packet")
|
||||
.write(this.serialWriteCharacteristic, data)
|
||||
.queue(getQueue());
|
||||
}
|
||||
|
||||
+1
-1
@@ -118,7 +118,7 @@ public class VibratissimoSupport extends AbstractBTLESingleDeviceSupport {
|
||||
BluetoothGattCharacteristic characteristic2 = getCharacteristic(UUID.fromString("00001526-1212-efde-1523-785feabcd123"));
|
||||
BluetoothGattCharacteristic characteristic1 = getCharacteristic(UUID.fromString("00001524-1212-efde-1523-785feabcd123"));
|
||||
|
||||
TransactionBuilder builder = new TransactionBuilder("vibration");
|
||||
TransactionBuilder builder = createTransactionBuilder("vibration");
|
||||
builder.write(characteristic1, new byte[]{0x03, (byte) 0x80});
|
||||
|
||||
builder.write(characteristic2, new byte[]{(byte) intensity, 0x00});
|
||||
|
||||
+2
-2
@@ -464,7 +464,7 @@ public class YawellRingDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
}
|
||||
|
||||
private void sendWrite(String taskName, byte[] contents) {
|
||||
TransactionBuilder builder = new TransactionBuilder(taskName);
|
||||
TransactionBuilder builder = createTransactionBuilder(taskName);
|
||||
BluetoothGattCharacteristic characteristic = getCharacteristic(YawellRingConstants.CHARACTERISTIC_WRITE);
|
||||
if (characteristic != null) {
|
||||
builder.write(characteristic, contents);
|
||||
@@ -473,7 +473,7 @@ public class YawellRingDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
}
|
||||
|
||||
private void sendCommand(String taskName, byte[] contents) {
|
||||
TransactionBuilder builder = new TransactionBuilder(taskName);
|
||||
TransactionBuilder builder = createTransactionBuilder(taskName);
|
||||
BluetoothGattCharacteristic characteristic = getCharacteristic(YawellRingConstants.CHARACTERISTIC_COMMAND);
|
||||
if (characteristic != null) {
|
||||
builder.write(characteristic, contents);
|
||||
|
||||
+1
-1
@@ -1011,7 +1011,7 @@ public class ZeTimeDeviceSupport extends AbstractBTLESingleDeviceSupport {
|
||||
}
|
||||
evaluateGBDeviceEvent(versionCmd);
|
||||
|
||||
TransactionBuilder builder = new TransactionBuilder("setDeviceInitialized");
|
||||
TransactionBuilder builder = createTransactionBuilder("setDeviceInitialized");
|
||||
builder.setUpdateState(getDevice(), GBDevice.State.INITIALIZED, getContext());
|
||||
try {
|
||||
performConnected(builder.getTransaction());
|
||||
|
||||
+1
-1
@@ -38,8 +38,8 @@ import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.WriteAction;
|
||||
public class HuamiSupportTest {
|
||||
@Test
|
||||
public void testSetCurrentTime() {
|
||||
final TransactionBuilder testTransactionBuilder = new TransactionBuilder("test");
|
||||
final HuamiSupport huamiSupport = createSupport();
|
||||
final TransactionBuilder testTransactionBuilder = huamiSupport.createTransactionBuilder("test");
|
||||
|
||||
huamiSupport.setCurrentTime(testTransactionBuilder);
|
||||
final WriteAction action = (WriteAction) testTransactionBuilder.getTransaction().getActions().get(0);
|
||||
|
||||
Reference in New Issue
Block a user