persistence: replace calls to persistForDevice with persistSamples

This commit is contained in:
Thomas Kuehne
2026-05-29 01:31:10 +00:00
parent 1569e05acb
commit 3e9c10c0d7
15 changed files with 23 additions and 29 deletions
@@ -211,7 +211,9 @@ public abstract class AbstractTimeSampleProvider<T extends AbstractTimeSample> i
@NonNull
protected abstract Property getDeviceIdentifierSampleProperty();
public void persistForDevice(final Context context, final GBDevice gbDevice, final List<T> samples) {
/// @deprecated use {@link #persistSamples(List, Context)} instead
@Deprecated
public void persistForDevice(@NonNull final Context context, @Nullable final GBDevice gbDevice, @NonNull final List<T> samples) {
persistSamples(samples, context);
}
@@ -240,7 +240,7 @@ public class BraunBPW4500DeviceSupport extends AbstractBTLESingleDeviceSupport {
final DaoSession session = handler.getDaoSession();
final GenericBloodPressureSampleProvider provider =
new GenericBloodPressureSampleProvider(getDevice(), session);
provider.persistForDevice(getContext(), getDevice(), List.of(sample));
provider.persistSamples(List.of(sample), getContext());
persistedMeasurements++;
LOG.info("Persisted blood pressure measurement ({} total)", persistedMeasurements);
@@ -21,9 +21,6 @@ import android.bluetooth.BluetoothGattCharacteristic;
import android.content.Intent;
import android.widget.Toast;
import androidx.annotation.CallSuper;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -168,7 +165,7 @@ public class GenericBloodPressureSupport extends AbstractBTLESingleDeviceSupport
try (DBHandler handler = GBApplication.acquireDB()) {
final DaoSession session = handler.getDaoSession();
final GenericBloodPressureSampleProvider sampleProvider = new GenericBloodPressureSampleProvider(getDevice(), session);
sampleProvider.persistForDevice(getContext(), getDevice(), List.of(sample));
sampleProvider.persistSamples(List.of(sample), getContext());
persistedMeasurements++;
} catch (final Exception e) {
@@ -177,7 +177,7 @@ class GenericHeartRateSupport : AbstractBTLESingleDeviceSupport(LOG) {
}
val rrIntervalSampleProvider = HeartRrIntervalSampleProvider(this.device, db.getDaoSession())
rrIntervalSampleProvider.persistForDevice(context, device, rrIntervalSampleList)
rrIntervalSampleProvider.persistSamples(rrIntervalSampleList, context)
}
}
@@ -210,7 +210,7 @@ class GloryFitFetcher(val mSupport: GloryFitSupport) {
val session = handler.getDaoSession()
val sampleProvider = GenericSleepStageSampleProvider(mSupport.device, session)
sampleProvider.persistForDevice(mSupport.context, mSupport.device, samples)
sampleProvider.persistSamples(samples, mSupport.context)
}
} catch (e: Exception) {
GB.toast(mSupport.context, "Error saving sleep session samples", Toast.LENGTH_LONG, GB.ERROR, e)
@@ -254,10 +254,9 @@ class GloryFitFetcher(val mSupport: GloryFitSupport) {
val session = handler.getDaoSession()
val sampleProvider = GloryFitStepsSampleProvider(mSupport.device, session)
sampleProvider.persistForDevice(
mSupport.context,
mSupport.device,
Collections.singletonList(sample)
sampleProvider.persistSamples(
Collections.singletonList(sample),
mSupport.context
)
}
} catch (e: Exception) {
@@ -306,7 +305,7 @@ class GloryFitFetcher(val mSupport: GloryFitSupport) {
val session = handler.getDaoSession()
val sampleProvider = GenericHeartRateSampleProvider(mSupport.device, session)
sampleProvider.persistForDevice(mSupport.context, mSupport.device, samples)
sampleProvider.persistSamples(samples, mSupport.context)
}
} catch (e: Exception) {
GB.toast(mSupport.context, "Error saving hr samples", Toast.LENGTH_LONG, GB.ERROR, e)
@@ -369,7 +368,7 @@ class GloryFitFetcher(val mSupport: GloryFitSupport) {
val session = handler.getDaoSession()
val sampleProvider = GenericSpo2SampleProvider(mSupport.device, session)
sampleProvider.persistForDevice(mSupport.context, mSupport.device, samples)
sampleProvider.persistSamples(samples, mSupport.context)
}
} catch (e: Exception) {
GB.toast(mSupport.context, "Error saving SpO2 samples", Toast.LENGTH_LONG, GB.ERROR, e)
@@ -91,7 +91,7 @@ public class FetchHrvOperation extends AbstractRepeatingFetchOperation {
final HuamiCoordinator coordinator = (HuamiCoordinator) getDevice().getDeviceCoordinator();
final GenericHrvValueSampleProvider sampleProvider = coordinator.getHrvValueSampleProvider(getDevice(), session);
sampleProvider.persistForDevice(getContext(), getDevice(), samples);
sampleProvider.persistSamples(samples, getContext());
} catch (final Exception e) {
GB.toast(getContext(), "Error saving hrv samples", Toast.LENGTH_LONG, GB.ERROR, e);
return false;
@@ -90,7 +90,7 @@ public class FetchSleepSessionOperation extends AbstractRepeatingFetchOperation
final HuamiSleepSessionSampleProvider sampleProvider = new HuamiSleepSessionSampleProvider(getDevice(), session);
sampleProvider.persistForDevice(getContext(), getDevice(), samples);
sampleProvider.persistSamples(samples, getContext());
} catch (final Exception e) {
GB.toast(getContext(), "Error saving sleep session samples", Toast.LENGTH_LONG, GB.ERROR, e);
return false;
@@ -102,7 +102,7 @@ public class FetchTemperatureOperation extends AbstractRepeatingFetchOperation {
final HuamiCoordinator coordinator = (HuamiCoordinator) getDevice().getDeviceCoordinator();
final GenericTemperatureSampleProvider sampleProvider = coordinator.getTemperatureSampleProvider(getDevice(), session);
sampleProvider.persistForDevice(getContext(), getDevice(), samples);
sampleProvider.persistSamples(samples, getContext());
} catch (final Exception e) {
GB.toast(getContext(), "Error saving temperature samples", Toast.LENGTH_LONG, GB.ERROR, e);
return false;
@@ -89,7 +89,6 @@ import nodomain.freeyourgadget.gadgetbridge.devices.huawei.packets.CameraRemote;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.packets.GpsAndTime;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.packets.Notifications;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.packets.Weather;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.packets.Workout;
import nodomain.freeyourgadget.gadgetbridge.devices.huawei.ui.HuaweiStressCalibrationFragment;
import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst;
import nodomain.freeyourgadget.gadgetbridge.entities.HuaweiActivitySample;
@@ -101,9 +100,6 @@ import nodomain.freeyourgadget.gadgetbridge.entities.HuaweiSleepStageSample;
import nodomain.freeyourgadget.gadgetbridge.entities.HuaweiSleepStatsSample;
import nodomain.freeyourgadget.gadgetbridge.entities.HuaweiStressSample;
import nodomain.freeyourgadget.gadgetbridge.entities.HuaweiWorkoutSummarySample;
import nodomain.freeyourgadget.gadgetbridge.entities.HuaweiWorkoutSummarySampleDao;
import nodomain.freeyourgadget.gadgetbridge.entities.HuaweiWorkoutSwimSegmentsSample;
import nodomain.freeyourgadget.gadgetbridge.entities.HuaweiWorkoutSwimSegmentsSampleDao;
import nodomain.freeyourgadget.gadgetbridge.export.AutoGpxExporter;
import nodomain.freeyourgadget.gadgetbridge.externalevents.gps.GBLocationProviderType;
import nodomain.freeyourgadget.gadgetbridge.externalevents.gps.GBLocationService;
@@ -2734,8 +2730,8 @@ public class HuaweiSupportProvider {
}
try (DBHandler db = GBApplication.acquireDB()) {
final DaoSession session = db.getDaoSession();
new HuaweiSleepStatsSampleProvider(gbDevice, session).persistForDevice(context, gbDevice, sleepStatsSamples);
new HuaweiSleepStageSampleProvider(gbDevice, session).persistForDevice(context, gbDevice, sleepStageSamples);
new HuaweiSleepStatsSampleProvider(gbDevice, session).persistSamples(sleepStatsSamples, context);
new HuaweiSleepStageSampleProvider(gbDevice, session).persistSamples(sleepStageSamples, context);
} catch (Exception e) {
LOG.error("Cannot save sleep, continue");
}
@@ -100,7 +100,7 @@ public class HuaweiDictionarySyncEmotion implements HuaweiDictionarySyncInterfa
}
try (DBHandler db = GBApplication.acquireDB()) {
final DaoSession session = db.getDaoSession();
new HuaweiEmotionsSampleProvider(gbDevice, session).persistForDevice(context, gbDevice, emotionsSamples);
new HuaweiEmotionsSampleProvider(gbDevice, session).persistSamples(emotionsSamples, context);
} catch (Exception e) {
LOG.error("Cannot save emotions samples, continue");
}
@@ -76,7 +76,7 @@ public class HuaweiDictionarySyncHRV implements HuaweiDictionarySyncInterface {
}
try (DBHandler db = GBApplication.acquireDB()) {
final DaoSession session = db.getDaoSession();
new HuaweiHrvValueSampleProvider(gbDevice, session).persistForDevice(context, gbDevice, hrvSamples);
new HuaweiHrvValueSampleProvider(gbDevice, session).persistSamples(hrvSamples, context);
} catch (Exception e) {
LOG.error("Cannot save HRV samples, continue");
}
@@ -77,7 +77,7 @@ public class HuaweiDictionarySyncSkinTemperature implements HuaweiDictionarySyn
}
try (DBHandler db = GBApplication.acquireDB()) {
final DaoSession session = db.getDaoSession();
new HuaweiTemperatureSampleProvider(gbDevice, session).persistForDevice(context, gbDevice, temperatureSamples);
new HuaweiTemperatureSampleProvider(gbDevice, session).persistSamples(temperatureSamples, context);
} catch (Exception e) {
LOG.error("Cannot save skin temperature samples, continue");
}
@@ -80,7 +80,7 @@ public class HuaweiDictionarySyncSleepApnea implements HuaweiDictionarySyncInte
}
try (DBHandler db = GBApplication.acquireDB()) {
final DaoSession session = db.getDaoSession();
new HuaweiSleepApneaSampleProvider(gbDevice, session).persistForDevice(context, gbDevice, sleepApneaSamples);
new HuaweiSleepApneaSampleProvider(gbDevice, session).persistSamples(sleepApneaSamples, context);
} catch (Exception e) {
LOG.error("Cannot save sleep apnea samples, continue");
}
@@ -379,7 +379,7 @@ class OneTouchSupport : AbstractBTLESingleDeviceSupport(LOG) {
GBApplication.acquireDB().use { handler ->
val session = handler.getDaoSession()
val sampleProvider = GlucoseSampleProvider(device, session)
sampleProvider.persistForDevice(context, device, samples)
sampleProvider.persistSamples(samples, context)
}
} catch (e: Exception) {
GB.toast(context, "Error storing glucose readings", Toast.LENGTH_LONG, GB.ERROR, e)
@@ -311,7 +311,7 @@ public class PolarH10DeviceSupport extends AbstractBTLESingleDeviceSupport {
}
final HeartRrIntervalSampleProvider rrIntervalSampleProvider = new HeartRrIntervalSampleProvider(this.getDevice(), db.getDaoSession());
rrIntervalSampleProvider.persistForDevice(getContext(), getDevice(), rrIntervalSampleList);
rrIntervalSampleProvider.persistSamples(rrIntervalSampleList, getContext());
}
newSamples = true;