diff --git a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt index 21de3d37f..c6928a559 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt @@ -820,6 +820,7 @@ class ConversationInfoActivity : binding.archiveConversationTextHint.text = resources.getString(R.string.unarchive_hint) } } + viewModel.getRoom(conversationUser, conversationToken) } if (conversation!!.hasArchived) { diff --git a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt index 1485a0018..ae3e4242c 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt @@ -455,8 +455,20 @@ class ConversationsListActivity : newItems.add(i) } } + + val archiveFilterOn = filterState[FilterConversationFragment.ARCHIVE] ?: false + if (archiveFilterOn && newItems.isEmpty()) { + binding.noArchivedConversationLayout.visibility = View.VISIBLE + } else { + binding.noArchivedConversationLayout.visibility = View.GONE + } + adapter!!.updateDataSet(newItems, true) setFilterableItems(newItems) + if (archiveFilterOn) { + // Never a notification from archived conversations + binding.newMentionPopupBubble.visibility = View.GONE + } updateFilterConversationButtonColor() } diff --git a/app/src/main/java/com/nextcloud/talk/ui/dialog/ConversationsListBottomDialog.kt b/app/src/main/java/com/nextcloud/talk/ui/dialog/ConversationsListBottomDialog.kt index 3149e153b..c5f4af4b8 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/dialog/ConversationsListBottomDialog.kt +++ b/app/src/main/java/com/nextcloud/talk/ui/dialog/ConversationsListBottomDialog.kt @@ -26,6 +26,7 @@ import com.nextcloud.talk.api.NcApi import com.nextcloud.talk.api.NcApiCoroutines import com.nextcloud.talk.application.NextcloudTalkApplication import com.nextcloud.talk.conversation.RenameConversationDialogFragment +import com.nextcloud.talk.conversationinfo.viewmodel.ConversationInfoViewModel import com.nextcloud.talk.conversationlist.ConversationsListActivity import com.nextcloud.talk.data.user.model.User import com.nextcloud.talk.databinding.DialogConversationOperationsBinding @@ -68,6 +69,9 @@ class ConversationsListBottomDialog( @Inject lateinit var viewThemeUtils: ViewThemeUtils + @Inject + lateinit var conversationInfoViewModel: ConversationInfoViewModel + @Inject lateinit var userManager: UserManager @@ -189,6 +193,26 @@ class ConversationsListBottomDialog( dismiss() } + binding.conversationArchiveText.text = if (conversation.hasArchived) { + this.activity.resources.getString(R.string.unarchive_conversation) + } else { + this.activity.resources.getString(R.string.archive_conversation) + } + + binding.conversationArchive.setOnClickListener { + val currentUser = userManager.currentUser.blockingGet() + val token = conversation.token + lifecycleScope.launch { + if (conversation.hasArchived) { + conversationInfoViewModel.unarchiveConversation(currentUser, token) + } else { + conversationInfoViewModel.archiveConversation(currentUser, token) + } + } + activity.fetchRooms() + dismiss() + } + binding.conversationOperationRename.setOnClickListener { renameConversation() } diff --git a/app/src/main/res/layout/activity_conversation_info.xml b/app/src/main/res/layout/activity_conversation_info.xml index f1c830ca3..b80647ee7 100644 --- a/app/src/main/res/layout/activity_conversation_info.xml +++ b/app/src/main/res/layout/activity_conversation_info.xml @@ -447,7 +447,7 @@ android:layout_marginEnd="@dimen/standard_margin" android:contentDescription="@null" tools:src="@drawable/outline_archive_24" - app:tint="@color/grey_600" /> + app:tint="@color/nc_darkYellow" /> @@ -464,7 +465,8 @@ android:layout_marginHorizontal="@dimen/standard_margin" android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="@string/archive_hint" /> + android:text="@string/archive_hint" + android:textColor="@color/nc_darkYellow"/> + tools:visibility="gone"> + + + + + + + + + + + + + + %1$s is out of office today Replacement: Resend + No conversations archived