mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-06 22:29:09 +00:00
Fix state handling in SharedItemsActivity
Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
This commit is contained in:
parent
05340fc466
commit
1c9730f909
@ -85,8 +85,14 @@ class SharedItemsActivity : AppCompatActivity() {
|
||||
viewModel = ViewModelProvider(this, viewModelFactory)[SharedItemsViewModel::class.java]
|
||||
|
||||
viewModel.viewState.observe(this) { state ->
|
||||
handleEmptyLoadingView(state)
|
||||
clearEmptyLoading()
|
||||
when (state) {
|
||||
is SharedItemsViewModel.LoadingItemsState, SharedItemsViewModel.InitialState -> {
|
||||
showLoading()
|
||||
}
|
||||
is SharedItemsViewModel.NoSharedItemsState -> {
|
||||
showEmpty()
|
||||
}
|
||||
is SharedItemsViewModel.LoadedState -> {
|
||||
val sharedMediaItems = state.items
|
||||
Log.d(TAG, "Items received: $sharedMediaItems")
|
||||
@ -107,9 +113,6 @@ class SharedItemsActivity : AppCompatActivity() {
|
||||
is SharedItemsViewModel.TypesLoadedState -> {
|
||||
initTabs(state.types)
|
||||
}
|
||||
else -> {
|
||||
// noop
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -125,19 +128,20 @@ class SharedItemsActivity : AppCompatActivity() {
|
||||
viewModel.initialize(userEntity, roomToken)
|
||||
}
|
||||
|
||||
private fun handleEmptyLoadingView(state: SharedItemsViewModel.ViewState?) {
|
||||
binding.emptyContainer.emptyListViewHeadline.text = when (state) {
|
||||
SharedItemsViewModel.NoSharedItemsState -> getString(R.string.nc_shared_items_description)
|
||||
else -> getString(R.string.file_list_loading)
|
||||
}
|
||||
binding.emptyContainer.emptyListView.visibility = when (state) {
|
||||
SharedItemsViewModel.NoSharedItemsState, is SharedItemsViewModel.LoadingItemsState -> View.VISIBLE
|
||||
else -> View.GONE
|
||||
}
|
||||
binding.sharedItemsTabs.visibility = when (state) {
|
||||
SharedItemsViewModel.NoSharedItemsState -> View.GONE
|
||||
else -> View.VISIBLE
|
||||
}
|
||||
private fun clearEmptyLoading() {
|
||||
binding.sharedItemsTabs.visibility = View.VISIBLE
|
||||
binding.emptyContainer.emptyListView.visibility = View.GONE
|
||||
}
|
||||
|
||||
private fun showLoading() {
|
||||
binding.emptyContainer.emptyListViewHeadline.text = getString(R.string.file_list_loading)
|
||||
binding.emptyContainer.emptyListView.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
private fun showEmpty() {
|
||||
binding.emptyContainer.emptyListViewHeadline.text = getString(R.string.nc_shared_items_empty)
|
||||
binding.emptyContainer.emptyListView.visibility = View.VISIBLE
|
||||
binding.sharedItemsTabs.visibility = View.GONE
|
||||
}
|
||||
|
||||
private fun initTabs(sharedItemTypes: Set<SharedItemType>) {
|
||||
|
Loading…
Reference in New Issue
Block a user