Glimpse: Move flowOn to ViewModel
Change-Id: I30cfa9ba9f668dc96e1e4659d9b1eaffc96af60e
diff --git a/app/src/main/java/org/lineageos/glimpse/repository/MediaRepository.kt b/app/src/main/java/org/lineageos/glimpse/repository/MediaRepository.kt
index b51ea46..8a5cf1f 100644
--- a/app/src/main/java/org/lineageos/glimpse/repository/MediaRepository.kt
+++ b/app/src/main/java/org/lineageos/glimpse/repository/MediaRepository.kt
@@ -6,19 +6,13 @@
package org.lineageos.glimpse.repository
import android.content.Context
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.flow.flowOn
import org.lineageos.glimpse.flow.AlbumsFlow
import org.lineageos.glimpse.flow.MediaFlow
@Suppress("Unused")
object MediaRepository {
- fun media(context: Context, bucketId: Int) =
- MediaFlow(context, bucketId).flowData().flowOn(Dispatchers.IO)
-
- fun mediaCursor(context: Context, bucketId: Int) =
- MediaFlow(context, bucketId).flowCursor().flowOn(Dispatchers.IO)
-
- fun albums(context: Context) = AlbumsFlow(context).flowData().flowOn(Dispatchers.IO)
- fun albumsCursor(context: Context) = AlbumsFlow(context).flowCursor().flowOn(Dispatchers.IO)
+ fun media(context: Context, bucketId: Int) = MediaFlow(context, bucketId).flowData()
+ fun mediaCursor(context: Context, bucketId: Int) = MediaFlow(context, bucketId).flowCursor()
+ fun albums(context: Context) = AlbumsFlow(context).flowData()
+ fun albumsCursor(context: Context) = AlbumsFlow(context).flowCursor()
}
diff --git a/app/src/main/java/org/lineageos/glimpse/viewmodels/AlbumsViewModel.kt b/app/src/main/java/org/lineageos/glimpse/viewmodels/AlbumsViewModel.kt
index 11f9859..8636229 100644
--- a/app/src/main/java/org/lineageos/glimpse/viewmodels/AlbumsViewModel.kt
+++ b/app/src/main/java/org/lineageos/glimpse/viewmodels/AlbumsViewModel.kt
@@ -7,14 +7,16 @@
import android.app.Application
import androidx.lifecycle.viewModelScope
+import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.shareIn
import org.lineageos.glimpse.repository.MediaRepository
open class AlbumsViewModel(
application: Application,
) : GlimpseViewModel(application) {
- val albums = MediaRepository.albums(context).shareIn(
+ val albums = MediaRepository.albums(context).flowOn(Dispatchers.IO).shareIn(
viewModelScope,
replay = 1,
started = SharingStarted.WhileSubscribed()
diff --git a/app/src/main/java/org/lineageos/glimpse/viewmodels/MediaViewModel.kt b/app/src/main/java/org/lineageos/glimpse/viewmodels/MediaViewModel.kt
index f93fe68..6b6dd71 100644
--- a/app/src/main/java/org/lineageos/glimpse/viewmodels/MediaViewModel.kt
+++ b/app/src/main/java/org/lineageos/glimpse/viewmodels/MediaViewModel.kt
@@ -9,7 +9,9 @@
import androidx.lifecycle.viewModelScope
import androidx.lifecycle.viewmodel.initializer
import androidx.lifecycle.viewmodel.viewModelFactory
+import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.shareIn
import org.lineageos.glimpse.repository.MediaRepository
import org.lineageos.glimpse.utils.MediaStoreBuckets
@@ -18,7 +20,7 @@
application: Application,
private val bucketId: Int
) : GlimpseViewModel(application) {
- val media = MediaRepository.media(context, bucketId).shareIn(
+ val media = MediaRepository.media(context, bucketId).flowOn(Dispatchers.IO).shareIn(
viewModelScope,
replay = 1,
started = SharingStarted.WhileSubscribed()