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 javax.inject.Inject
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
import androidx.activity.result.contract.ActivityResultContracts.PickVisualMedia
|
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)
|
@AutoInjector(NextcloudTalkApplication::class)
|
||||||
class ChatActivity :
|
class ChatActivity :
|
||||||
@ -262,6 +264,8 @@ class ChatActivity :
|
|||||||
lateinit var networkMonitor: NetworkMonitor
|
lateinit var networkMonitor: NetworkMonitor
|
||||||
|
|
||||||
lateinit var chatViewModel: ChatViewModel
|
lateinit var chatViewModel: ChatViewModel
|
||||||
|
|
||||||
|
lateinit var conversationInfoViewModel: ConversationInfoViewModel
|
||||||
lateinit var messageInputViewModel: MessageInputViewModel
|
lateinit var messageInputViewModel: MessageInputViewModel
|
||||||
|
|
||||||
private val startSelectContactForResult = registerForActivityResult(
|
private val startSelectContactForResult = registerForActivityResult(
|
||||||
@ -427,6 +431,8 @@ class ChatActivity :
|
|||||||
|
|
||||||
chatViewModel = ViewModelProvider(this, viewModelFactory)[ChatViewModel::class.java]
|
chatViewModel = ViewModelProvider(this, viewModelFactory)[ChatViewModel::class.java]
|
||||||
|
|
||||||
|
conversationInfoViewModel = ViewModelProvider(this, viewModelFactory)[ConversationInfoViewModel::class.java]
|
||||||
|
|
||||||
val urlForChatting = ApiUtils.getUrlForChat(chatApiVersion, conversationUser?.baseUrl, roomToken)
|
val urlForChatting = ApiUtils.getUrlForChat(chatApiVersion, conversationUser?.baseUrl, roomToken)
|
||||||
val credentials = ApiUtils.getCredentials(conversationUser!!.username, conversationUser!!.token)
|
val credentials = ApiUtils.getCredentials(conversationUser!!.username, conversationUser!!.token)
|
||||||
chatViewModel.initData(
|
chatViewModel.initData(
|
||||||
@ -2976,6 +2982,7 @@ class ChatActivity :
|
|||||||
val titleTextView = popupView.findViewById<TextView>(R.id.event_scheduled)
|
val titleTextView = popupView.findViewById<TextView>(R.id.event_scheduled)
|
||||||
val subtitleTextView = popupView.findViewById<TextView>(R.id.meetingTime)
|
val subtitleTextView = popupView.findViewById<TextView>(R.id.meetingTime)
|
||||||
val deleteConversation = popupView.findViewById<TextView>(R.id.delete_conversation)
|
val deleteConversation = popupView.findViewById<TextView>(R.id.delete_conversation)
|
||||||
|
val archiveConversation = popupView.findViewById<TextView>(R.id.archive_conversation)
|
||||||
|
|
||||||
val popupWindow = PopupWindow(
|
val popupWindow = PopupWindow(
|
||||||
popupView,
|
popupView,
|
||||||
@ -3019,10 +3026,30 @@ class ChatActivity :
|
|||||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE),
|
dialog.getButton(AlertDialog.BUTTON_POSITIVE),
|
||||||
dialog.getButton(AlertDialog.BUTTON_NEGATIVE)
|
dialog.getButton(AlertDialog.BUTTON_NEGATIVE)
|
||||||
)
|
)
|
||||||
|
popupWindow.dismiss()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
deleteConversation.visibility = View.GONE
|
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) {
|
private fun deleteConversation(conversation: ConversationModel) {
|
||||||
|
@ -38,4 +38,12 @@
|
|||||||
android:textColor="@android:color/holo_red_dark"
|
android:textColor="@android:color/holo_red_dark"
|
||||||
android:visibility = "gone"
|
android:visibility = "gone"
|
||||||
android:paddingTop="16dp"/>
|
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>
|
</LinearLayout>
|
@ -850,4 +850,5 @@ How to translate with transifex:
|
|||||||
<string name="no_conversations_archived">No archived conversations</string>
|
<string name="no_conversations_archived">No archived conversations</string>
|
||||||
<string name="archived_conversation">Archived %1$s</string>
|
<string name="archived_conversation">Archived %1$s</string>
|
||||||
<string name="unarchived_conversation">Unarchived %1$s</string>
|
<string name="unarchived_conversation">Unarchived %1$s</string>
|
||||||
|
<string name="conversation_archived">Conversation is archived</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
Loading…
Reference in New Issue
Block a user