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()