Add a Job to DiffUtilAdapter scope
This commit is contained in:
@@ -10,7 +10,7 @@ import kotlinx.coroutines.channels.actor
|
||||
@ObsoleteCoroutinesApi
|
||||
@ExperimentalCoroutinesApi
|
||||
abstract class DiffUtilAdapter<D, VH : RecyclerView.ViewHolder> : RecyclerView.Adapter<VH>(), CoroutineScope {
|
||||
override val coroutineContext = Dispatchers.Main.immediate
|
||||
override val coroutineContext = Dispatchers.Main.immediate + SupervisorJob()
|
||||
|
||||
protected var dataset: List<D> = listOf()
|
||||
private set
|
||||
|
||||
@@ -27,7 +27,10 @@ import android.content.Context
|
||||
import android.net.Uri
|
||||
import android.view.View
|
||||
import androidx.databinding.ViewDataBinding
|
||||
import kotlinx.coroutines.*
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.ObsoleteCoroutinesApi
|
||||
import kotlinx.coroutines.launch
|
||||
import org.videolan.medialibrary.interfaces.AbstractMedialibrary
|
||||
import org.videolan.medialibrary.interfaces.media.AbstractMediaWrapper
|
||||
import org.videolan.medialibrary.media.MediaLibraryItem
|
||||
@@ -51,7 +54,7 @@ internal class StorageBrowserAdapter(fragment: StorageBrowserFragment) : BaseBro
|
||||
|
||||
override fun onBindViewHolder(holder: ViewHolder<ViewDataBinding>, position: Int) {
|
||||
val vh = holder as MediaViewHolder
|
||||
vh.job = launch(start = CoroutineStart.UNDISPATCHED) {
|
||||
vh.job = launch {
|
||||
var storage = getItem(position)
|
||||
if (storage.itemType == MediaLibraryItem.TYPE_MEDIA) storage = Storage((storage as AbstractMediaWrapper).uri)
|
||||
var storagePath = (storage as Storage).uri.path ?: ""
|
||||
@@ -100,8 +103,6 @@ internal class StorageBrowserAdapter(fragment: StorageBrowserFragment) : BaseBro
|
||||
AbstractMedialibrary.getInstance().foldersList
|
||||
}
|
||||
|
||||
|
||||
|
||||
folders.forEach {
|
||||
mediaDirsLocation.add(Uri.decode(if (it.startsWith("file://")) it.substring(7) else it))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user