package com.keylesspalace.tusky.components.search.adapter import androidx.lifecycle.MutableLiveData import androidx.paging.DataSource import com.keylesspalace.tusky.entity.SearchResult import com.keylesspalace.tusky.entity.Status import com.keylesspalace.tusky.network.NotestockApi import com.keylesspalace.tusky.viewdata.StatusViewData import io.reactivex.disposables.CompositeDisposable import java.util.concurrent.Executor class SearchNotestockDataSourceFactory( private val notestockApi: NotestockApi, private val searchRequest: String?, private val disposables: CompositeDisposable, private val retryExecutor: Executor, private val cacheData: List>? = null, private val parser: (SearchResult?) -> List>) : DataSource.Factory>() { val sourceLiveData = MutableLiveData() override fun create(): DataSource> { val source = SearchNotestockDataSource(notestockApi, searchRequest, disposables, retryExecutor, cacheData, parser) sourceLiveData.postValue(source) return source } }