mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 03:29:28 +01:00
archive conversation
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
parent
b128c5a8ea
commit
44065ae946
@ -225,6 +225,8 @@ import java.util.concurrent.ExecutionException
|
||||
import javax.inject.Inject
|
||||
import kotlin.math.roundToInt
|
||||
import androidx.activity.result.contract.ActivityResultContracts.PickVisualMedia
|
||||
import com.nextcloud.talk.conversationinfo.viewmodel.ConversationInfoViewModel
|
||||
import com.nextcloud.talk.models.json.participants.Participant
|
||||
|
||||
@AutoInjector(NextcloudTalkApplication::class)
|
||||
class ChatActivity :
|
||||
@ -262,6 +264,8 @@ class ChatActivity :
|
||||
lateinit var networkMonitor: NetworkMonitor
|
||||
|
||||
lateinit var chatViewModel: ChatViewModel
|
||||
|
||||
lateinit var conversationInfoViewModel: ConversationInfoViewModel
|
||||
lateinit var messageInputViewModel: MessageInputViewModel
|
||||
|
||||
private val startSelectContactForResult = registerForActivityResult(
|
||||
@ -427,6 +431,8 @@ class ChatActivity :
|
||||
|
||||
chatViewModel = ViewModelProvider(this, viewModelFactory)[ChatViewModel::class.java]
|
||||
|
||||
conversationInfoViewModel = ViewModelProvider(this, viewModelFactory)[ConversationInfoViewModel::class.java]
|
||||
|
||||
val urlForChatting = ApiUtils.getUrlForChat(chatApiVersion, conversationUser?.baseUrl, roomToken)
|
||||
val credentials = ApiUtils.getCredentials(conversationUser!!.username, conversationUser!!.token)
|
||||
chatViewModel.initData(
|
||||
@ -2976,6 +2982,7 @@ class ChatActivity :
|
||||
val titleTextView = popupView.findViewById<TextView>(R.id.event_scheduled)
|
||||
val subtitleTextView = popupView.findViewById<TextView>(R.id.meetingTime)
|
||||
val deleteConversation = popupView.findViewById<TextView>(R.id.delete_conversation)
|
||||
val archiveConversation = popupView.findViewById<TextView>(R.id.archive_conversation)
|
||||
|
||||
val popupWindow = PopupWindow(
|
||||
popupView,
|
||||
@ -3019,10 +3026,30 @@ class ChatActivity :
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE),
|
||||
dialog.getButton(AlertDialog.BUTTON_NEGATIVE)
|
||||
)
|
||||
popupWindow.dismiss()
|
||||
}
|
||||
} else {
|
||||
deleteConversation.visibility = View.GONE
|
||||
}
|
||||
|
||||
if (meetingStatus == context.resources.getString(R.string.nc_meeting_ended) &&
|
||||
(
|
||||
Participant.ParticipantType.MODERATOR == currentConversation?.participantType ||
|
||||
Participant.ParticipantType.OWNER == currentConversation?.participantType
|
||||
) &&
|
||||
currentConversation?.hasArchived == false
|
||||
) {
|
||||
archiveConversation.visibility = View.VISIBLE
|
||||
archiveConversation.setOnClickListener {
|
||||
this.lifecycleScope.launch {
|
||||
conversationInfoViewModel.archiveConversation(conversationUser!!, currentConversation?.token!!)
|
||||
Snackbar.make(binding.root, R.string.conversation_archived, Snackbar.LENGTH_LONG).show()
|
||||
}
|
||||
popupWindow.dismiss()
|
||||
}
|
||||
} else {
|
||||
archiveConversation.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
private fun deleteConversation(conversation: ConversationModel) {
|
||||
|
@ -38,4 +38,12 @@
|
||||
android:textColor="@android:color/holo_red_dark"
|
||||
android:visibility = "gone"
|
||||
android:paddingTop="16dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/archive_conversation"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/archive_conversation"
|
||||
android:visibility = "gone"
|
||||
android:paddingTop="16dp"/>
|
||||
</LinearLayout>
|
@ -850,4 +850,5 @@ How to translate with transifex:
|
||||
<string name="no_conversations_archived">No archived conversations</string>
|
||||
<string name="archived_conversation">Archived %1$s</string>
|
||||
<string name="unarchived_conversation">Unarchived %1$s</string>
|
||||
<string name="conversation_archived">Conversation is archived</string>
|
||||
</resources>
|
||||
|
Loading…
Reference in New Issue
Block a user