initially load audio

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2022-04-28 10:58:27 +02:00
parent 0ba74b1a30
commit b22b600352
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
2 changed files with 6 additions and 7 deletions

View File

@ -53,11 +53,9 @@ class SharedItemsActivity : AppCompatActivity() {
viewModel = ViewModelProvider( viewModel = ViewModelProvider(
this, this,
SharedItemsViewModel.Factory(userEntity, roomToken) SharedItemsViewModel.Factory(userEntity, roomToken, "audio")
).get(SharedItemsViewModel::class.java) ).get(SharedItemsViewModel::class.java)
updateItems("media")
viewModel.media.observe(this) { viewModel.media.observe(this) {
Log.d(TAG, "Items received: $it") Log.d(TAG, "Items received: $it")
val adapter = SharedItemsAdapter() val adapter = SharedItemsAdapter()

View File

@ -16,11 +16,11 @@ import io.reactivex.disposables.Disposable
import io.reactivex.schedulers.Schedulers import io.reactivex.schedulers.Schedulers
import retrofit2.Response import retrofit2.Response
class SharedItemsViewModel(private val repository: SharedItemsRepository) : ViewModel() { class SharedItemsViewModel(private val repository: SharedItemsRepository, val initialType: String) : ViewModel() {
private val _media: MutableLiveData<SharedMediaItems> by lazy { private val _media: MutableLiveData<SharedMediaItems> by lazy {
MutableLiveData<SharedMediaItems>().also { MutableLiveData<SharedMediaItems>().also {
loadMediaItems("media") loadMediaItems(initialType)
} }
} }
@ -79,7 +79,8 @@ class SharedItemsViewModel(private val repository: SharedItemsRepository) : View
}) })
} }
class Factory(val userEntity: UserEntity, val roomToken: String) : ViewModelProvider.Factory { class Factory(val userEntity: UserEntity, val roomToken: String, private val initialType: String) : ViewModelProvider
.Factory {
override fun <T : ViewModel?> create(modelClass: Class<T>): T { override fun <T : ViewModel?> create(modelClass: Class<T>): T {
if (modelClass.isAssignableFrom(SharedItemsViewModel::class.java)) { if (modelClass.isAssignableFrom(SharedItemsViewModel::class.java)) {
@ -93,7 +94,7 @@ class SharedItemsViewModel(private val repository: SharedItemsRepository) : View
roomToken roomToken
) )
return SharedItemsViewModel(repository) as T return SharedItemsViewModel(repository, initialType) as T
} }
throw IllegalArgumentException("Unknown ViewModel class") throw IllegalArgumentException("Unknown ViewModel class")