diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/HealthConnectUtils.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/HealthConnectUtils.kt index 82185fe3be..b1352e3355 100755 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/HealthConnectUtils.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/HealthConnectUtils.kt @@ -369,7 +369,7 @@ class HealthConnectUtils { val activityBasedSamples: List? = if (dataType == HealthConnectPermissionManager.HealthConnectDataType.ACTIVITY || dataType == HealthConnectPermissionManager.HealthConnectDataType.SLEEP) { - GBApplication.acquireDB().use { db -> + GBApplication.acquireDbReadOnly().use { db -> getActivitySamples(db, gbDevice, queryStartTs.epochSecond.toInt(), currentSliceEndTs.epochSecond.toInt()) } } else { @@ -480,7 +480,7 @@ class HealthConnectUtils { deviceCoordinator: DeviceCoordinator, dataType: HealthConnectPermissionManager.HealthConnectDataType ): Pair? { - return GBApplication.acquireDB().use { db -> + return GBApplication.acquireDbReadOnly().use { db -> val deviceFromDb = DBHelper.getDevice(gbDevice, db.daoSession) if (deviceFromDb == null) { CompanionLogger.error("$HC_SYNC_TAG Device not found in database for address: {}", gbDevice.address) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/syncers/AbstractTimeSampleSyncer.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/syncers/AbstractTimeSampleSyncer.kt index cef7e0c3b9..16715c45e5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/syncers/AbstractTimeSampleSyncer.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/syncers/AbstractTimeSampleSyncer.kt @@ -75,7 +75,7 @@ internal abstract class AbstractTimeSampleSyncer = try { - GBApplication.acquireDB().use { dbInstance -> + GBApplication.acquireDbReadOnly().use { dbInstance -> val provider = getSampleProvider(gbDevice, dbInstance.daoSession) if (provider == null) { logger.info("$recordTypeName sample provider not available for device '$deviceName'.") diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/syncers/RecordedWorkoutSyncer.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/syncers/RecordedWorkoutSyncer.kt index ae38b29007..66b6fd9368 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/syncers/RecordedWorkoutSyncer.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/syncers/RecordedWorkoutSyncer.kt @@ -215,7 +215,7 @@ internal object RecordedWorkoutSyncer { sliceEndBoundary: Instant ): List { try { - GBApplication.acquireDB().use { db -> + GBApplication.acquireDbReadOnly().use { db -> val device = DBHelper.getDevice(gbDevice, db.daoSession) if (device == null) { LOG.warn("Device not found in database for '{}'", gbDevice.aliasOrName) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/syncers/TemperatureSyncer.kt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/syncers/TemperatureSyncer.kt index f8cbbf2536..fd1ebf6c2a 100755 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/syncers/TemperatureSyncer.kt +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/healthconnect/syncers/TemperatureSyncer.kt @@ -67,7 +67,7 @@ internal object TemperatureSyncer : HealthConnectSyncer { } val samples: List = try { - GBApplication.acquireDB().use { db -> + GBApplication.acquireDbReadOnly().use { db -> val provider = gbDevice.deviceCoordinator.getTemperatureSampleProvider(gbDevice, db.daoSession) if (provider == null) { LOG.warn("TemperatureSampleProvider not found for device '$deviceName'. Skipping Temperature sync for slice $sliceStartBoundary to $sliceEndBoundary.") @@ -230,7 +230,7 @@ internal object TemperatureSyncer : HealthConnectSyncer { dayEnd ) - val samplesForDay: List = GBApplication.acquireDB().use { db -> + val samplesForDay: List = GBApplication.acquireDbReadOnly().use { db -> val tempProvider = gbDevice.deviceCoordinator.getTemperatureSampleProvider(gbDevice, db.daoSession) if (tempProvider == null) { LOG.warn("SkinBaselineHelper for '$deviceAddress': TemperatureSampleProvider not found. Cannot calculate daily average for $targetDayStart.")