Workouts: Use database read lock

This commit is contained in:
José Rebelo
2026-02-10 20:55:40 +00:00
parent 52a6c4bb07
commit 68008f0205
4 changed files with 5 additions and 5 deletions
@@ -168,7 +168,7 @@ class WorkoutDetailsFragment : Fragment(), MenuProvider {
lifecycleScope.launch {
try {
currentWorkout = withContext(Dispatchers.IO) {
val summary = GBApplication.acquireDB().use { dbHandler ->
val summary = GBApplication.acquireDbReadOnly().use { dbHandler ->
dbHandler.daoSession.baseActivitySummaryDao.load(workoutId)
}
gbDevice = getGBDevice(summary.device)
@@ -32,7 +32,7 @@ class WorkoutDetailsViewModel : ViewModel() {
try {
val workout = withContext(Dispatchers.IO) {
GBApplication.acquireDB().use { dbHandler ->
GBApplication.acquireDbReadOnly().use { dbHandler ->
val summaryDao = dbHandler.daoSession.baseActivitySummaryDao
summaryDao.load(workoutId)
}
@@ -108,7 +108,7 @@ class WorkoutDetailsViewModel : ViewModel() {
deviceFilter: Long,
itemsFilter: List<Long>?
): List<BaseActivitySummary> {
return GBApplication.acquireDB().use { dbHandler ->
return GBApplication.acquireDbReadOnly().use { dbHandler ->
val summaryDao = dbHandler.daoSession.baseActivitySummaryDao
val dbDevice = gbDevice?.let { DBHelper.findDevice(it, dbHandler.daoSession) }
@@ -464,7 +464,7 @@ class WorkoutListActivity : AbstractListActivity<BaseActivitySummary>() {
private fun getDeviceId(device: GBDevice): Long {
return try {
GBApplication.acquireDB().use { handler ->
GBApplication.acquireDbReadOnly().use { handler ->
DBHelper.findDevice(device, handler.daoSession)?.id ?: 0L
}
} catch (e: Exception) {
@@ -108,7 +108,7 @@ class WorkoutListViewModel : ViewModel() {
deviceFilter: Long,
itemsFilter: List<Long>?
): List<BaseActivitySummary> {
return GBApplication.acquireDB().use { dbHandler ->
return GBApplication.acquireDbReadOnly().use { dbHandler ->
val summaryDao = dbHandler.daoSession.baseActivitySummaryDao
val dbDevice = DBHelper.findDevice(gbDevice, dbHandler.daoSession)