From 8daa0178ce9515b9da974238d345f9583489d34f Mon Sep 17 00:00:00 2001 From: Thomas Kuehne Date: Mon, 14 Jul 2025 19:01:58 +0200 Subject: [PATCH] ble+btbr: add TransactionBuilder.setProgress (#5098) --- .../service/btbr/TransactionBuilder.java | 9 ++++++++ .../btbr/actions/SetProgressAction.java | 12 +++++------ .../service/btle/TransactionBuilder.java | 9 ++++++++ .../btle/actions/SetProgressAction.java | 21 +++++++------------ .../atcbleoepl/ATCBLEOEPLDeviceSupport.java | 5 ++--- .../devices/cmfwatchpro/CmfDataUploader.java | 7 +++---- .../update/UpdateFirmwareOperation.java | 3 +-- .../update/UpdateFirmwareOperation2020.java | 3 +-- .../zeppos/ZeppOsBtbrTransactionBuilder.java | 5 ++--- .../zeppos/ZeppOsBtleTransactionBuilder.java | 5 ++--- .../zeppos/ZeppOsTransactionBuilder.java | 2 +- .../operations/ZeppOsAgpsUpdateOperation.java | 2 +- .../ZeppOsFirmwareUpdateOperation.java | 2 +- .../ZeppOsGpxRouteUploadOperation.java | 2 +- .../ZeppOsMusicUploadOperation.java | 2 +- .../devices/huawei/HuaweiSupportProvider.java | 12 +++++------ .../operations/UpdateFirmwareOperation.java | 3 +-- .../fossil/file/FirmwareFilePutRequest.java | 5 +---- .../devices/xiaomi/XiaomiBleSupport.java | 8 +++---- .../devices/xiaomi/XiaomiSppSupport.java | 9 +++----- 20 files changed, 62 insertions(+), 64 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btbr/TransactionBuilder.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btbr/TransactionBuilder.java index 8e71e18b8e..9c091b00de 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btbr/TransactionBuilder.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btbr/TransactionBuilder.java @@ -30,6 +30,7 @@ import java.util.function.Predicate; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.btbr.actions.FunctionAction; +import nodomain.freeyourgadget.gadgetbridge.service.btbr.actions.SetProgressAction; import nodomain.freeyourgadget.gadgetbridge.service.btbr.actions.WaitAction; import nodomain.freeyourgadget.gadgetbridge.service.btbr.actions.WriteAction; import nodomain.freeyourgadget.gadgetbridge.service.btbr.actions.SetDeviceStateAction; @@ -99,6 +100,14 @@ public class TransactionBuilder { return add(action); } + /// updates the progress bar + /// @see SetProgressAction#SetProgressAction + @NonNull + public TransactionBuilder setProgress(@StringRes int textRes, boolean ongoing, int percentage, @NonNull Context context) { + BtBRAction action = new SetProgressAction(textRes, ongoing, percentage, context); + return add(action); + } + /// Set the device as busy or not ({@code taskName = 0}). /// @see SetDeviceBusyAction#SetDeviceBusyAction @NonNull diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btbr/actions/SetProgressAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btbr/actions/SetProgressAction.java index 4a5e56d017..e523751feb 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btbr/actions/SetProgressAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btbr/actions/SetProgressAction.java @@ -1,5 +1,5 @@ -/* Copyright (C) 2015-2023 Andreas Shimokawa, Carsten Pfeiffer, Daniele - Gobbetti, Yoran Vulker +/* Copyright (C) 2015-2025 Andreas Shimokawa, Carsten Pfeiffer, Daniele + Gobbetti, Yoran Vulker, Thomas Kuehne This file is part of Gadgetbridge. @@ -17,12 +17,12 @@ along with this program. If not, see . */ package nodomain.freeyourgadget.gadgetbridge.service.btbr.actions; -import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothSocket; import android.content.Context; import android.content.Intent; import androidx.annotation.NonNull; +import androidx.annotation.StringRes; import androidx.localbroadcastmanager.content.LocalBroadcastManager; import org.slf4j.Logger; @@ -42,13 +42,13 @@ public class SetProgressAction extends PlainAction { /** * When run, will update the progress notification. * - * @param text Text shown in the notification + * @param textRes Text shown in the notification * @param ongoing State of action, true when the action is still being performed * @param percentage Current percentage indicating how far along the action has progressed * @param context Context in which to create the notification */ - public SetProgressAction(String text, boolean ongoing, int percentage, Context context) { - this.text = text; + public SetProgressAction(@StringRes int textRes, boolean ongoing, int percentage, Context context) { + this.text = context.getString(textRes); this.ongoing = ongoing; this.percentage = percentage; this.context = context; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/TransactionBuilder.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/TransactionBuilder.java index 76a1225b8d..e2b57a0ef2 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/TransactionBuilder.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/TransactionBuilder.java @@ -45,6 +45,7 @@ import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.RequestMtuActio import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetDeviceBusyAction; import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetDeviceStateAction; import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetPreferredPhyAction; +import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetProgressAction; import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.WaitAction; import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.WriteAction; @@ -195,6 +196,14 @@ public class TransactionBuilder { return add(action); } + /// updates the progress bar + /// @see SetProgressAction#SetProgressAction + @NonNull + public TransactionBuilder setProgress(@StringRes int textRes, boolean ongoing, int percentage, @NonNull Context context) { + BtLEAction action = new SetProgressAction(textRes, ongoing, percentage, context); + return add(action); + } + /** * Read the current transmitter PHY and receiver PHY of the connection. * @see ReadPhyAction diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/SetProgressAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/SetProgressAction.java index ed827e3fda..61bed73b17 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/SetProgressAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/SetProgressAction.java @@ -1,4 +1,4 @@ -/* Copyright (C) 2015-2024 Andreas Shimokawa, Carsten Pfeiffer, José Rebelo +/* Copyright (C) 2015-2025 Andreas Shimokawa, Carsten Pfeiffer, José Rebelo, Thomas Kuehne This file is part of Gadgetbridge. @@ -20,15 +20,12 @@ import android.bluetooth.BluetoothGatt; import android.content.Context; import android.content.Intent; +import androidx.annotation.StringRes; import androidx.localbroadcastmanager.content.LocalBroadcastManager; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import nodomain.freeyourgadget.gadgetbridge.util.GB; public class SetProgressAction extends PlainAction { - private static final Logger LOG = LoggerFactory.getLogger(SetProgressAction.class); private final String text; private final boolean ongoing; @@ -38,14 +35,13 @@ public class SetProgressAction extends PlainAction { /** * When run, will update the progress notification. * - * @param text - * @param ongoing - * @param percentage - * @param context + * @param textRes Text shown in the notification + * @param ongoing State of action, true when the action is still being performed + * @param percentage Current percentage indicating how far along the action has progressed + * @param context Context in which to create the notification */ - - public SetProgressAction(String text, boolean ongoing, int percentage, Context context) { - this.text = text; + public SetProgressAction(@StringRes int textRes, boolean ongoing, int percentage, Context context) { + this.text = context.getString(textRes);; this.ongoing = ongoing; this.percentage = percentage; this.context = context; @@ -53,7 +49,6 @@ public class SetProgressAction extends PlainAction { @Override public boolean run(BluetoothGatt gatt) { - LOG.info(toString()); GB.updateInstallNotification(this.text, this.ongoing, this.percentage, this.context); final LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(context); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atcbleoepl/ATCBLEOEPLDeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atcbleoepl/ATCBLEOEPLDeviceSupport.java index ffbff44acd..8277122816 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atcbleoepl/ATCBLEOEPLDeviceSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/atcbleoepl/ATCBLEOEPLDeviceSupport.java @@ -50,7 +50,6 @@ import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.btle.AbstractBTLESingleDeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder; import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetDeviceStateAction; -import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetProgressAction; import nodomain.freeyourgadget.gadgetbridge.util.CheckSums; import nodomain.freeyourgadget.gadgetbridge.util.FileUtils; import nodomain.freeyourgadget.gadgetbridge.util.GB; @@ -188,7 +187,7 @@ public class ATCBLEOEPLDeviceSupport extends AbstractBTLESingleDeviceSupport { GB.toast(getContext().getString(R.string.same_image_already_on_device), Toast.LENGTH_LONG, GB.WARN); } final TransactionBuilder builder = createTransactionBuilder("finish upload"); - builder.add(new SetProgressAction(getContext().getString(R.string.sending_image), false, 100, getContext())); + builder.setProgress(R.string.sending_image, false, 100, getContext()); if (!is_firmware) { builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), new byte[]{0x00, 0x03}); } @@ -212,7 +211,7 @@ public class ATCBLEOEPLDeviceSupport extends AbstractBTLESingleDeviceSupport { block_data = encodeBlock(image_payload, current_block); builder.write(getCharacteristic(UUID_CHARACTERISTIC_MAIN), encodeImageChunk(block_data, current_block, current_chunk)); int progressPercent = (int) ((((float) current_block) / blocks_total) * 100); - builder.add(new SetProgressAction(getContext().getString(R.string.sending_image), true, progressPercent, getContext())); + builder.setProgress(R.string.sending_image, true, progressPercent, getContext()); builder.queue(getQueue()); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/cmfwatchpro/CmfDataUploader.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/cmfwatchpro/CmfDataUploader.java index 8762ff624b..8f91d5ff48 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/cmfwatchpro/CmfDataUploader.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/cmfwatchpro/CmfDataUploader.java @@ -29,7 +29,6 @@ import java.util.Random; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder; -import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetProgressAction; public class CmfDataUploader implements CmfCharacteristic.Handler { private static final Logger LOG = LoggerFactory.getLogger(CmfDataUploader.class); @@ -226,12 +225,12 @@ public class CmfDataUploader implements CmfCharacteristic.Handler { uploadMessage = R.string.updating_firmware; } - builder.add(new SetProgressAction( - mSupport.getContext().getString(uploadMessage), + builder.setProgress( + uploadMessage, ongoing, progressPercent, mSupport.getContext() - )); + ); } private void setDeviceBusy() { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/update/UpdateFirmwareOperation.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/update/UpdateFirmwareOperation.java index c6ff366aa3..337bb5fa8e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/update/UpdateFirmwareOperation.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/update/UpdateFirmwareOperation.java @@ -36,7 +36,6 @@ import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiFWHelper; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiService; import nodomain.freeyourgadget.gadgetbridge.service.btle.BLETypeConversions; import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder; -import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetProgressAction; import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.AbstractHuamiFirmwareInfo; import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.HuamiFirmwareType; import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.HuamiSupport; @@ -255,7 +254,7 @@ public class UpdateFirmwareOperation extends AbstractMiBandOperation 0) && (i % 100 == 0)) { builder.write(fwCControlChar, new byte[]{HuamiService.COMMAND_FIRMWARE_UPDATE_SYNC}); - builder.add(new SetProgressAction(getContext().getString(R.string.updatefirmwareoperation_update_in_progress), true, progressPercent, getContext())); + builder.setProgress(R.string.updatefirmwareoperation_update_in_progress, true, progressPercent, getContext()); } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/update/UpdateFirmwareOperation2020.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/update/UpdateFirmwareOperation2020.java index 203a6f53e0..338f6283b9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/update/UpdateFirmwareOperation2020.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/update/UpdateFirmwareOperation2020.java @@ -29,7 +29,6 @@ import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.devices.huami.HuamiService; import nodomain.freeyourgadget.gadgetbridge.service.btle.BLETypeConversions; import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder; -import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetProgressAction; import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.AbstractHuamiFirmwareInfo; import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.HuamiFirmwareType; import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.HuamiSupport; @@ -264,7 +263,7 @@ public class UpdateFirmwareOperation2020 extends UpdateFirmwareOperation { int progressPercent = (int) ((((float) (offset + chunkLength)) / len) * 100); - builder.add(new SetProgressAction(getContext().getString(R.string.updatefirmwareoperation_update_in_progress), true, progressPercent, getContext())); + builder.setProgress(R.string.updatefirmwareoperation_update_in_progress, true, progressPercent, getContext()); builder.queue(getQueue()); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsBtbrTransactionBuilder.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsBtbrTransactionBuilder.java index b7c8f05a76..0cb824fb24 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsBtbrTransactionBuilder.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsBtbrTransactionBuilder.java @@ -24,7 +24,6 @@ import java.util.UUID; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.btbr.TransactionBuilder; -import nodomain.freeyourgadget.gadgetbridge.service.btbr.actions.SetProgressAction; public class ZeppOsBtbrTransactionBuilder implements ZeppOsTransactionBuilder { private final ZeppOsBtbrSupport mSupport; @@ -41,8 +40,8 @@ public class ZeppOsBtbrTransactionBuilder implements ZeppOsTransactionBuilder { } @Override - public void setProgress(final String text, final boolean ongoing, final int percentage, final Context context) { - mBuilder.add(new SetProgressAction(text, ongoing, percentage, context)); + public void setProgress(@StringRes final int textRes, final boolean ongoing, final int percentage, final Context context) { + mBuilder.setProgress(textRes, ongoing, percentage, context); } @Override diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsBtleTransactionBuilder.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsBtleTransactionBuilder.java index 7d775073dc..c0deef3d88 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsBtleTransactionBuilder.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsBtleTransactionBuilder.java @@ -24,7 +24,6 @@ import java.util.UUID; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder; -import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetProgressAction; public class ZeppOsBtleTransactionBuilder implements ZeppOsTransactionBuilder { private final ZeppOsBtleSupport mSupport; @@ -41,8 +40,8 @@ public class ZeppOsBtleTransactionBuilder implements ZeppOsTransactionBuilder { } @Override - public void setProgress(final String text, final boolean ongoing, final int percentage, final Context context) { - mBuilder.add(new SetProgressAction(text, ongoing, percentage, context)); + public void setProgress(@StringRes final int textRes, final boolean ongoing, final int percentage, final Context context) { + mBuilder.setProgress(textRes, ongoing, percentage, context); } @Override diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsTransactionBuilder.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsTransactionBuilder.java index dc58c75aa0..c052c5d9b0 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsTransactionBuilder.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsTransactionBuilder.java @@ -25,7 +25,7 @@ import java.util.UUID; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public interface ZeppOsTransactionBuilder { - void setProgress(final String text, final boolean ongoing, final int percentage, final Context context); + void setProgress(@StringRes final int textRes, final boolean ongoing, final int percentage, final Context context); void setDeviceState(final GBDevice device, final GBDevice.State deviceState, final Context context); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/operations/ZeppOsAgpsUpdateOperation.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/operations/ZeppOsAgpsUpdateOperation.java index b202cc2855..2e80e19fd6 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/operations/ZeppOsAgpsUpdateOperation.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/operations/ZeppOsAgpsUpdateOperation.java @@ -132,7 +132,7 @@ public class ZeppOsAgpsUpdateOperation extends AbstractZeppOsOperation 0) && (i % 50 == 0)) { builder.write(characteristicControlPoint, new byte[]{MiBandService.COMMAND_SYNC}); - builder.add(new SetProgressAction(getContext().getString(R.string.updatefirmwareoperation_update_in_progress), true, progressPercent, getContext())); + builder.setProgress(R.string.updatefirmwareoperation_update_in_progress, true, progressPercent, getContext()); } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/fossil/file/FirmwareFilePutRequest.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/fossil/file/FirmwareFilePutRequest.java index a16e4c4ff3..fc372d4cb6 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/fossil/file/FirmwareFilePutRequest.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/requests/fossil/file/FirmwareFilePutRequest.java @@ -21,10 +21,7 @@ import android.content.Context; import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder; -import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetProgressAction; import nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.adapter.fossil.FossilWatchAdapter; -import nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.adapter.fossil_hr.FossilHRWatchAdapter; -import nodomain.freeyourgadget.gadgetbridge.service.devices.qhybrid.requests.fossil.file.FilePutRawRequest; import nodomain.freeyourgadget.gadgetbridge.util.GB; public class FirmwareFilePutRequest extends FilePutRawRequest { @@ -35,7 +32,7 @@ public class FirmwareFilePutRequest extends FilePutRawRequest { @Override public void onPacketWritten(TransactionBuilder transactionBuilder, int packetNr, int packetCount) { int progressPercent = (int) ((((float) packetNr) / packetCount) * 100); - transactionBuilder.add(new SetProgressAction(GBApplication.getContext().getString(R.string.updatefirmwareoperation_update_in_progress), true, progressPercent, GBApplication.getContext())); + transactionBuilder.setProgress(R.string.updatefirmwareoperation_update_in_progress, true, progressPercent, GBApplication.getContext()); } @Override diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiBleSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiBleSupport.java index a2d56c406e..349d260eb0 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiBleSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiBleSupport.java @@ -36,8 +36,6 @@ import nodomain.freeyourgadget.gadgetbridge.proto.xiaomi.XiaomiProto; import nodomain.freeyourgadget.gadgetbridge.service.btle.AbstractBTLESingleDeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.btle.BtLEQueue; import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder; -import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.PlainAction; -import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetProgressAction; import nodomain.freeyourgadget.gadgetbridge.util.GB; public class XiaomiBleSupport extends XiaomiConnectionSupport { @@ -291,12 +289,12 @@ public class XiaomiBleSupport extends XiaomiConnectionSupport { public void onUploadProgress(int textRsrc, int progressPercent, boolean ongoing) { try { final TransactionBuilder builder = commsSupport.createTransactionBuilder("send data upload progress"); - builder.add(new SetProgressAction( - commsSupport.getContext().getString(textRsrc), + builder.setProgress( + textRsrc, ongoing, progressPercent, commsSupport.getContext() - )); + ); builder.queue(commsSupport.getQueue()); } catch (final Exception e) { LOG.error("Failed to update progress notification", e); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiSppSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiSppSupport.java index d9e4a060b5..965b5597d3 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiSppSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiSppSupport.java @@ -20,7 +20,6 @@ import static nodomain.freeyourgadget.gadgetbridge.service.devices.xiaomi.Xiaomi import static nodomain.freeyourgadget.gadgetbridge.service.devices.xiaomi.XiaomiSppPacketV1.OPCODE_READ; import android.bluetooth.BluetoothAdapter; -import android.bluetooth.BluetoothSocket; import android.content.Context; import android.os.Handler; import android.os.Looper; @@ -41,8 +40,6 @@ import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.proto.xiaomi.XiaomiProto; import nodomain.freeyourgadget.gadgetbridge.service.btbr.AbstractBTBRDeviceSupport; import nodomain.freeyourgadget.gadgetbridge.service.btbr.TransactionBuilder; -import nodomain.freeyourgadget.gadgetbridge.service.btbr.actions.PlainAction; -import nodomain.freeyourgadget.gadgetbridge.service.btbr.actions.SetProgressAction; import nodomain.freeyourgadget.gadgetbridge.service.devices.xiaomi.XiaomiChannelHandler.Channel; import nodomain.freeyourgadget.gadgetbridge.util.GB; @@ -135,12 +132,12 @@ public class XiaomiSppSupport extends XiaomiConnectionSupport { public void onUploadProgress(final int textRsrc, final int progressPercent, final boolean ongoing) { try { final TransactionBuilder builder = commsSupport.createTransactionBuilder("send data upload progress"); - builder.add(new SetProgressAction( - commsSupport.getContext().getString(textRsrc), + builder.setProgress( + textRsrc, ongoing, progressPercent, commsSupport.getContext() - )); + ); builder.queue(commsSupport.getQueue()); } catch (final Exception e) { LOG.error("Failed to update progress notification", e);