From 1c9730f90937b23175dfd81a1d355f2ddc925dc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Mon, 23 May 2022 11:06:57 +0200 Subject: [PATCH] Fix state handling in SharedItemsActivity MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Álvaro Brey --- .../activities/SharedItemsActivity.kt | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/shareditems/activities/SharedItemsActivity.kt b/app/src/main/java/com/nextcloud/talk/shareditems/activities/SharedItemsActivity.kt index 984b76e55..a24a3d864 100644 --- a/app/src/main/java/com/nextcloud/talk/shareditems/activities/SharedItemsActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/shareditems/activities/SharedItemsActivity.kt @@ -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) {