@@ -462,9 +462,6 @@ class ConversationsListActivity : BaseActivity() {
462462 conversationsListViewModel.readUnreadState.collect { state ->
463463 when (state) {
464464 is ConversationsListViewModel .ConversationReadUnreadUiState .Success -> {
465- fetchRooms()
466- val resId = if (state.isMarkedRead) R .string.marked_as_read else R .string.marked_as_unread
467- showSnackbar(String .format(resources.getString(resId), state.conversationDisplayName))
468465 conversationsListViewModel.resetReadUnreadState()
469466 }
470467 is ConversationsListViewModel .ConversationReadUnreadUiState .Error -> {
@@ -475,6 +472,21 @@ class ConversationsListActivity : BaseActivity() {
475472 }
476473 }
477474 }
475+
476+ lifecycleScope.launch {
477+ conversationsListViewModel.favoriteState.collect { state ->
478+ when (state) {
479+ is ConversationsListViewModel .FavoriteUiState .Success -> {
480+ conversationsListViewModel.resetFavoriteState()
481+ }
482+ is ConversationsListViewModel .FavoriteUiState .Error -> {
483+ showSnackbar(resources.getString(R .string.nc_common_error_sorry))
484+ conversationsListViewModel.resetFavoriteState()
485+ }
486+ ConversationsListViewModel .FavoriteUiState .None -> { /* no-op */ }
487+ }
488+ }
489+ }
478490 }
479491
480492 private fun handleNoteToSelfShortcut (noteToSelfAvailable : Boolean , noteToSelfToken : String ) {
@@ -1096,38 +1108,12 @@ class ConversationsListActivity : BaseActivity() {
10961108 }
10971109 }
10981110
1099- @Suppress(" Detekt.TooGenericExceptionCaught" , " TooGenericExceptionCaught" )
11001111 private fun addConversationToFavorites (conversation : ConversationModel ) {
1101- val apiVersion = ApiUtils .getConversationApiVersion(currentUser!! , intArrayOf(ApiUtils .API_V4 , ApiUtils .API_V1 ))
1102- val url = ApiUtils .getUrlForRoomFavorite(apiVersion, currentUser?.baseUrl!! , conversation.token)
1103- lifecycleScope.launch {
1104- try {
1105- withContext(Dispatchers .IO ) { ncApiCoroutines.addConversationToFavorites(credentials!! , url) }
1106- fetchRooms()
1107- showSnackbar(
1108- String .format(resources.getString(R .string.added_to_favorites), conversation.displayName)
1109- )
1110- } catch (e: Exception ) {
1111- showSnackbar(resources.getString(R .string.nc_common_error_sorry))
1112- }
1113- }
1112+ conversationsListViewModel.addConversationToFavorites(conversation)
11141113 }
11151114
1116- @Suppress(" Detekt.TooGenericExceptionCaught" , " TooGenericExceptionCaught" )
11171115 private fun removeConversationFromFavorites (conversation : ConversationModel ) {
1118- val apiVersion = ApiUtils .getConversationApiVersion(currentUser!! , intArrayOf(ApiUtils .API_V4 , ApiUtils .API_V1 ))
1119- val url = ApiUtils .getUrlForRoomFavorite(apiVersion, currentUser?.baseUrl!! , conversation.token)
1120- lifecycleScope.launch {
1121- try {
1122- withContext(Dispatchers .IO ) { ncApiCoroutines.removeConversationFromFavorites(credentials!! , url) }
1123- fetchRooms()
1124- showSnackbar(
1125- String .format(resources.getString(R .string.removed_from_favorites), conversation.displayName)
1126- )
1127- } catch (e: Exception ) {
1128- showSnackbar(resources.getString(R .string.nc_common_error_sorry))
1129- }
1130- }
1116+ conversationsListViewModel.removeConversationFromFavorites(conversation)
11311117 }
11321118
11331119 private fun markConversationAsUnread (conversation : ConversationModel ) {
0 commit comments