From ec1065fb2fb6c0b9ba853b1e5f927c9b8b462db8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Fri, 16 Jan 2026 22:55:15 +0000 Subject: [PATCH] Make data fetching agnostic from activity We support quite a few devices that can sync non-activity data. --- .../gadgetbridge/activities/ControlCenterv2.java | 2 +- .../activities/WidgetConfigurationActivity.java | 2 +- .../charts/ActivityChartsActivity.java | 5 ++--- .../gadgetbridge/adapter/GBDeviceAdapterv2.java | 2 +- .../devices/AbstractDeviceCoordinator.java | 9 +-------- .../gadgetbridge/devices/DeviceCoordinator.java | 16 ++-------------- .../devices/banglejs/BangleJSCoordinator.java | 2 +- .../gbx100/CasioGBX100DeviceCoordinator.java | 2 +- .../cmfwatchpro/CmfWatchProCoordinator.java | 2 +- .../devices/fitpro/FitProDeviceCoordinator.java | 2 +- .../bike/GarminBikeComputerCoordinator.java | 2 +- .../garmin/gps/GarminETrexSeCoordinator.java | 2 +- .../garmin/gps/GarminGpsmap66sCoordinator.java | 2 +- .../devices/garmin/gps/GarminInReachMini2.java | 2 +- .../garmin/hrm/GarminHrmProPlusCoordinator.java | 2 +- .../garmin/watches/GarminWatchCoordinator.java | 2 +- .../devices/gloryfit/GloryFitCoordinator.kt | 2 +- .../devices/hplus/HPlusCoordinator.java | 2 +- .../devices/huami/HuamiCoordinator.java | 2 +- .../devices/huawei/HuaweiCoordinator.java | 2 +- .../huawei/HuaweiFreebudsCoordinator.java | 2 +- .../devices/id115/ID115Coordinator.java | 2 +- .../devices/jyou/y5/Y5Coordinator.java | 2 +- .../devices/lefun/LefunDeviceCoordinator.java | 2 +- .../watchxplus/WatchXPlusDeviceCoordinator.java | 2 +- .../devices/miband/MiBandCoordinator.java | 2 +- .../AbstractMijiaLywsdCoordinator.java | 2 +- .../AbstractMoyoungDeviceCoordinator.java | 2 +- .../devices/no1f1/No1F1Coordinator.java | 2 +- .../devices/onetouch/OneTouchCoordinator.kt | 2 +- .../devices/overmax/OVTouch26Coordinator.java | 2 +- .../devices/qhybrid/QHybridCoordinator.java | 2 +- .../devices/sony/wena3/SonyWena3Coordinator.java | 2 +- .../sonyswr12/SonySWR12DeviceCoordinator.java | 2 +- .../devices/test/TestDeviceCoordinator.java | 2 +- .../devices/tlw64/TLW64Coordinator.java | 2 +- .../ultrahuman/UltrahumanDeviceCoordinator.java | 2 +- .../devices/vesc/VescCoordinator.java | 2 +- .../WithingsSteelHRDeviceCoordinator.java | 2 +- .../devices/xiaomi/XiaomiCoordinator.java | 2 +- .../devices/xwatch/XWatchCoordinator.java | 2 +- .../ring/AbstractYawellRingCoordinator.java | 2 +- .../devices/zetime/ZeTimeCoordinator.java | 2 +- .../service/DeviceCommunicationService.java | 16 ++++++++-------- .../freeyourgadget/gadgetbridge/util/GB.java | 4 ++-- 45 files changed, 55 insertions(+), 75 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenterv2.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenterv2.java index c822e2a01d..c5b2413aeb 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenterv2.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ControlCenterv2.java @@ -263,7 +263,7 @@ public class ControlCenterv2 extends AppCompatActivity // Hide 'refreshing' animation immediately if no health devices are connected List devices1 = GBApplication.app().getDeviceManager().getDevices(); for (GBDevice dev : devices1) { - if (dev.getDeviceCoordinator().supportsActivityDataFetching(dev) && dev.isInitialized()) { + if (dev.getDeviceCoordinator().supportsDataFetching(dev) && dev.isInitialized()) { return; } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/WidgetConfigurationActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/WidgetConfigurationActivity.java index 03d0c09d0e..bae5d2b859 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/WidgetConfigurationActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/WidgetConfigurationActivity.java @@ -74,7 +74,7 @@ public class WidgetConfigurationActivity extends Activity implements GBActivity allDevices = GBApplication.app().getDeviceManager().getDevices().stream() .filter(device -> { final DeviceCoordinator coordinator = device.getDeviceCoordinator(); - return coordinator.supportsActivityDataFetching(device) || coordinator.supportsActivityTracking(device); + return coordinator.supportsDataFetching(device) || coordinator.supportsActivityTracking(device); }).collect(Collectors.toList()); List list = new ArrayList<>(); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/ActivityChartsActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/ActivityChartsActivity.java index 3919f70b9d..61752b9b0a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/ActivityChartsActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/ActivityChartsActivity.java @@ -372,12 +372,11 @@ public class ActivityChartsActivity extends AbstractGBActivity implements Charts protected boolean supportsRefresh() { final DeviceCoordinator coordinator = getDevice().getDeviceCoordinator(); - return coordinator.supportsActivityDataFetching(getDevice()); + return coordinator.supportsDataFetching(getDevice()); } protected boolean allowRefresh() { - final DeviceCoordinator coordinator = getDevice().getDeviceCoordinator(); - return coordinator.allowFetchActivityData(getDevice()) && supportsRefresh(); + return getDevice().isInitialized() && !getDevice().isBusy() && supportsRefresh(); } protected int getRecordedDataType() { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAdapterv2.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAdapterv2.java index 1d306fe8b2..6bd840a8fd 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAdapterv2.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAdapterv2.java @@ -478,7 +478,7 @@ public class GBDeviceAdapterv2 extends ListAdapter getSampleProvider(final GBDevice device, final DaoSession session) { @@ -622,7 +615,7 @@ public abstract class AbstractDeviceCoordinator implements DeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return false; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java index 752f6e0eec..fd73de7001 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java @@ -234,14 +234,14 @@ public interface DeviceCoordinator { boolean supportsDebugLogs(@NonNull GBDevice device); /** - * Returns true if activity data fetching is supported by the device + * Returns true if data fetching (activity or otherwise) is supported by the device * (with this coordinator). * This enables the sync button in control center and the device can thus be asked to send the data * (as opposed the device pushing the data to us by itself) * * @return */ - boolean supportsActivityDataFetching(@NonNull GBDevice device); + boolean supportsDataFetching(@NonNull GBDevice device); /** * Returns true if activity tracking is supported by the device @@ -366,20 +366,8 @@ public interface DeviceCoordinator { */ boolean supportsWeightMeasurement(@NonNull GBDevice device); - /** - * Returns true if activity data fetching is supported AND possible at this - * very moment. This will consider the device state (being connected/disconnected/busy...) - * etc. - * - * @param device - * @return - */ - boolean allowFetchActivityData(GBDevice device); - /** * Returns the sample provider for the device being supported. - * - * @return */ SampleProvider getSampleProvider(GBDevice device, DaoSession session); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/banglejs/BangleJSCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/banglejs/BangleJSCoordinator.java index 3b63ab3a8b..5d1edeefc9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/banglejs/BangleJSCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/banglejs/BangleJSCoordinator.java @@ -127,7 +127,7 @@ public class BangleJSCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/casio/gbx100/CasioGBX100DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/casio/gbx100/CasioGBX100DeviceCoordinator.java index 80da344702..2b913fb969 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/casio/gbx100/CasioGBX100DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/casio/gbx100/CasioGBX100DeviceCoordinator.java @@ -91,7 +91,7 @@ public class CasioGBX100DeviceCoordinator extends Casio2C2DDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/cmfwatchpro/CmfWatchProCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/cmfwatchpro/CmfWatchProCoordinator.java index 15b8bd84ae..68a53dcc82 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/cmfwatchpro/CmfWatchProCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/cmfwatchpro/CmfWatchProCoordinator.java @@ -233,7 +233,7 @@ public class CmfWatchProCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/FitProDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/FitProDeviceCoordinator.java index 9317969a4e..b8fcb34a93 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/FitProDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/fitpro/FitProDeviceCoordinator.java @@ -74,7 +74,7 @@ public class FitProDeviceCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminBikeComputerCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminBikeComputerCoordinator.java index 28610ed6ea..13c9f780f5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminBikeComputerCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/bike/GarminBikeComputerCoordinator.java @@ -13,7 +13,7 @@ public abstract class GarminBikeComputerCoordinator extends GarminCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminETrexSeCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminETrexSeCoordinator.java index b123708984..344e1ccce7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminETrexSeCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminETrexSeCoordinator.java @@ -11,7 +11,7 @@ import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class GarminETrexSeCoordinator extends GarminCoordinator { @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { // for gps tracks return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminGpsmap66sCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminGpsmap66sCoordinator.java index e9638c604f..0002f34c84 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminGpsmap66sCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminGpsmap66sCoordinator.java @@ -10,7 +10,7 @@ import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class GarminGpsmap66sCoordinator extends GarminCoordinator { @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { // for gps tracks return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminInReachMini2.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminInReachMini2.java index 13191d78e6..ea227f2911 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminInReachMini2.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/gps/GarminInReachMini2.java @@ -41,7 +41,7 @@ public class GarminInReachMini2 extends GarminCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { // for gps tracks return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/hrm/GarminHrmProPlusCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/hrm/GarminHrmProPlusCoordinator.java index 8c98763c8e..888bcd8ea2 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/hrm/GarminHrmProPlusCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/hrm/GarminHrmProPlusCoordinator.java @@ -65,7 +65,7 @@ public class GarminHrmProPlusCoordinator extends GarminCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/GarminWatchCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/GarminWatchCoordinator.java index fe0cd9cddc..1bd8d6cdcc 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/GarminWatchCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/garmin/watches/GarminWatchCoordinator.java @@ -58,7 +58,7 @@ public abstract class GarminWatchCoordinator extends GarminCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/gloryfit/GloryFitCoordinator.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/gloryfit/GloryFitCoordinator.kt index 42265488d5..f157ec8ab6 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/gloryfit/GloryFitCoordinator.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/gloryfit/GloryFitCoordinator.kt @@ -94,7 +94,7 @@ abstract class GloryFitCoordinator : AbstractBLEDeviceCoordinator() { return false } - override fun supportsActivityDataFetching(device: GBDevice): Boolean { + override fun supportsDataFetching(device: GBDevice): Boolean { return true } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusCoordinator.java index 209c442026..78a3724634 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/hplus/HPlusCoordinator.java @@ -86,7 +86,7 @@ public class HPlusCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/HuamiCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/HuamiCoordinator.java index ab15ce8f98..a8f130961f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/HuamiCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/HuamiCoordinator.java @@ -146,7 +146,7 @@ public abstract class HuamiCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiCoordinator.java index 033ee4a088..929cf3ef4a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiCoordinator.java @@ -292,7 +292,7 @@ public abstract class HuaweiCoordinator extends AbstractDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiFreebudsCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiFreebudsCoordinator.java index 5273183c62..3a3a588051 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiFreebudsCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiFreebudsCoordinator.java @@ -57,7 +57,7 @@ public abstract class HuaweiFreebudsCoordinator extends HuaweiBRCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return false; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Coordinator.java index c7adcadf54..d2825d3f10 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/id115/ID115Coordinator.java @@ -61,7 +61,7 @@ public class ID115Coordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/y5/Y5Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/y5/Y5Coordinator.java index 7692bb8a11..8e9f2da252 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/y5/Y5Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/jyou/y5/Y5Coordinator.java @@ -51,7 +51,7 @@ public class Y5Coordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/LefunDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/LefunDeviceCoordinator.java index 4709dd85fa..f0370c809d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/LefunDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/LefunDeviceCoordinator.java @@ -76,7 +76,7 @@ public class LefunDeviceCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lenovo/watchxplus/WatchXPlusDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lenovo/watchxplus/WatchXPlusDeviceCoordinator.java index 51a3ec4cde..ab92eac05d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lenovo/watchxplus/WatchXPlusDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lenovo/watchxplus/WatchXPlusDeviceCoordinator.java @@ -114,7 +114,7 @@ public class WatchXPlusDeviceCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java index 7f49319a7f..81c56ff463 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java @@ -128,7 +128,7 @@ public class MiBandCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/AbstractMijiaLywsdCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/AbstractMijiaLywsdCoordinator.java index 930fbbce14..2bc762c07b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/AbstractMijiaLywsdCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/mijia_lywsd/AbstractMijiaLywsdCoordinator.java @@ -42,7 +42,7 @@ public abstract class AbstractMijiaLywsdCoordinator extends AbstractBLEDeviceCoo } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return false; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moyoung/AbstractMoyoungDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moyoung/AbstractMoyoungDeviceCoordinator.java index d8e7e5740d..cb8061c039 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moyoung/AbstractMoyoungDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/moyoung/AbstractMoyoungDeviceCoordinator.java @@ -102,7 +102,7 @@ public abstract class AbstractMoyoungDeviceCoordinator extends AbstractBLEDevice } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/no1f1/No1F1Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/no1f1/No1F1Coordinator.java index 2cf41c038e..5d52e018b2 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/no1f1/No1F1Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/no1f1/No1F1Coordinator.java @@ -62,7 +62,7 @@ public class No1F1Coordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/onetouch/OneTouchCoordinator.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/onetouch/OneTouchCoordinator.kt index ae795b4e3a..ee90fa573d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/onetouch/OneTouchCoordinator.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/onetouch/OneTouchCoordinator.kt @@ -83,7 +83,7 @@ class OneTouchCoordinator : AbstractBLEDeviceCoordinator() { } } - override fun supportsActivityDataFetching(device: GBDevice): Boolean { + override fun supportsDataFetching(device: GBDevice): Boolean { return true } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/overmax/OVTouch26Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/overmax/OVTouch26Coordinator.java index fddcb2eb16..b067f74bfe 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/overmax/OVTouch26Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/overmax/OVTouch26Coordinator.java @@ -89,7 +89,7 @@ public class OVTouch26Coordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridCoordinator.java index 77a6231746..92019fba13 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/qhybrid/QHybridCoordinator.java @@ -94,7 +94,7 @@ public class QHybridCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return isFossilHybrid(device) && device.getState() == GBDevice.State.INITIALIZED; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/wena3/SonyWena3Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/wena3/SonyWena3Coordinator.java index d9656a2da2..0d8b6083fd 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/wena3/SonyWena3Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sony/wena3/SonyWena3Coordinator.java @@ -113,7 +113,7 @@ public class SonyWena3Coordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sonyswr12/SonySWR12DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sonyswr12/SonySWR12DeviceCoordinator.java index 91ec4eb6d0..7549451454 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sonyswr12/SonySWR12DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/sonyswr12/SonySWR12DeviceCoordinator.java @@ -48,7 +48,7 @@ public class SonySWR12DeviceCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/test/TestDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/test/TestDeviceCoordinator.java index f3f51e7f73..d21b29e96e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/test/TestDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/test/TestDeviceCoordinator.java @@ -284,7 +284,7 @@ public class TestDeviceCoordinator extends AbstractDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return supports(device, TestFeature.ACTIVITY_DATA_FETCHING); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/tlw64/TLW64Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/tlw64/TLW64Coordinator.java index 535c286d04..f23b7ee239 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/tlw64/TLW64Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/tlw64/TLW64Coordinator.java @@ -44,7 +44,7 @@ public class TLW64Coordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/ultrahuman/UltrahumanDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/ultrahuman/UltrahumanDeviceCoordinator.java index 48f2cc2e63..591ed55bd9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/ultrahuman/UltrahumanDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/ultrahuman/UltrahumanDeviceCoordinator.java @@ -198,7 +198,7 @@ public class UltrahumanDeviceCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/vesc/VescCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/vesc/VescCoordinator.java index 4ab0dc2595..f653445c2f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/vesc/VescCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/vesc/VescCoordinator.java @@ -74,7 +74,7 @@ public class VescCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/withingssteelhr/WithingsSteelHRDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/withingssteelhr/WithingsSteelHRDeviceCoordinator.java index a32a23b956..03e187cc87 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/withingssteelhr/WithingsSteelHRDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/withingssteelhr/WithingsSteelHRDeviceCoordinator.java @@ -68,7 +68,7 @@ public class WithingsSteelHRDeviceCoordinator extends AbstractBLEDeviceCoordinat } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/XiaomiCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/XiaomiCoordinator.java index 3a22a24549..2fac1710ec 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/XiaomiCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xiaomi/XiaomiCoordinator.java @@ -256,7 +256,7 @@ public abstract class XiaomiCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(@NonNull final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xwatch/XWatchCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xwatch/XWatchCoordinator.java index f5a49a2088..342f0be3de 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xwatch/XWatchCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/xwatch/XWatchCoordinator.java @@ -42,7 +42,7 @@ public class XWatchCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/AbstractYawellRingCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/AbstractYawellRingCoordinator.java index fc9b5af7c8..ef5276c4ff 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/AbstractYawellRingCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/yawell/ring/AbstractYawellRingCoordinator.java @@ -107,7 +107,7 @@ public abstract class AbstractYawellRingCoordinator extends AbstractBLEDeviceCoo } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimeCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimeCoordinator.java index ea7e106b62..f5f4f75ce8 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimeCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/zetime/ZeTimeCoordinator.java @@ -78,7 +78,7 @@ public class ZeTimeCoordinator extends AbstractBLEDeviceCoordinator { } @Override - public boolean supportsActivityDataFetching(final GBDevice device) { + public boolean supportsDataFetching(@NonNull final GBDevice device) { return true; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationService.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationService.java index 2dafd307b8..abccd06b3a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationService.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationService.java @@ -157,7 +157,7 @@ public class DeviceCommunicationService extends Service implements SharedPrefere private static class FeatureSet { private boolean supportsWeather = false; - private boolean supportsActivityDataFetching = false; + private boolean supportsDataFetching = false; private boolean supportsCalendarEvents = false; private boolean supportsMusicInfo = false; private boolean supportsNavigation = false; @@ -172,12 +172,12 @@ public class DeviceCommunicationService extends Service implements SharedPrefere this.supportsWeather = supportsWeather; } - public boolean supportsActivityDataFetching() { - return supportsActivityDataFetching; + public boolean supportsDataFetching() { + return supportsDataFetching; } - public void setSupportsActivityDataFetching(boolean supportsActivityDataFetching) { - this.supportsActivityDataFetching = supportsActivityDataFetching; + public void setSupportsDataFetching(boolean supportsDataFetching) { + this.supportsDataFetching = supportsDataFetching; } public boolean supportsCalendarEvents() { @@ -217,8 +217,8 @@ public class DeviceCommunicationService extends Service implements SharedPrefere if (operand.supportsWeather(device)) { setSupportsWeather(true); } - if (operand.supportsActivityDataFetching(device)) { - setSupportsActivityDataFetching(true); + if (operand.supportsDataFetching(device)) { + setSupportsDataFetching(true); } if (operand.supportsMusicInfo(device)) { setSupportsMusicInfo(true); @@ -1503,7 +1503,7 @@ public class DeviceCommunicationService extends Service implements SharedPrefere } } - if (features.supportsActivityDataFetching() && mGBAutoFetchReceiver == null) { + if (features.supportsDataFetching() && mGBAutoFetchReceiver == null) { mGBAutoFetchReceiver = new GBAutoFetchReceiver(); ContextCompat.registerReceiver(this, mGBAutoFetchReceiver, new IntentFilter("android.intent.action.USER_PRESENT"), ContextCompat.RECEIVER_EXPORTED); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/GB.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/GB.java index 036832e473..e07aab4c92 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/GB.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/GB.java @@ -244,7 +244,7 @@ public class GB { PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE ); builder.addAction(R.drawable.ic_notification_disconnected, context.getString(R.string.controlcenter_disconnect), disconnectPendingIntent); - if (device.getDeviceCoordinator().supportsActivityDataFetching(device)) { + if (device.getDeviceCoordinator().supportsDataFetching(device)) { deviceCommunicationServiceIntent.setAction(DeviceService.ACTION_FETCH_RECORDED_DATA); deviceCommunicationServiceIntent.putExtra(EXTRA_RECORDED_DATA_TYPES, ActivityKind.ACTIVITY); PendingIntent fetchPendingIntent = PendingIntent.getService( @@ -275,7 +275,7 @@ public class GB { isConnected = false; } - anyDeviceSupportesActivityDataFetching |= device.getDeviceCoordinator().supportsActivityDataFetching(device); + anyDeviceSupportesActivityDataFetching |= device.getDeviceCoordinator().supportsDataFetching(device); String deviceName = device.getAliasOrName(); String text = device.getStateString(context);