a shit ton features, improvements and fixes in messages history screen and others

This commit is contained in:
2025-03-29 02:51:49 +03:00
parent da9644cde1
commit f02822a011
35 changed files with 1341 additions and 476 deletions
@@ -57,6 +57,19 @@ interface MessagesUseCase {
peerId: Int
): Flow<State<Int>>
fun markAsImportant(
peerId: Int,
messageIds: List<Int>,
important: Boolean
): Flow<State<List<Int>>>
fun delete(
peerId: Int,
messageIds: List<Int>,
spam: Boolean = false,
deleteForAll: Boolean = false
): Flow<State<List<Any>>>
suspend fun storeMessage(message: VkMessage)
suspend fun storeMessages(messages: List<VkMessage>)
}
@@ -102,9 +102,7 @@ class MessagesUseCaseImpl(
override fun createChat(userIds: List<Int>?, title: String?): Flow<State<Int>> = flow {
emit(State.Loading)
val newState = repository.createChat(userIds, title).mapToState()
emit(newState)
}
@@ -126,8 +124,42 @@ class MessagesUseCaseImpl(
override fun unpin(peerId: Int): Flow<State<Int>> = flow {
emit(State.Loading)
val newState = repository.unpin(peerId = peerId).mapToState()
emit(newState)
}
override fun markAsImportant(
peerId: Int,
messageIds: List<Int>,
important: Boolean
): Flow<State<List<Int>>> = flow {
emit(State.Loading)
val newState = repository.markAsImportant(
peerId = peerId,
messageIds = messageIds,
conversationMessageIds = null,
important = important
).mapToState()
emit(newState)
}
override fun delete(
peerId: Int,
messageIds: List<Int>,
spam: Boolean,
deleteForAll: Boolean
): Flow<State<List<Any>>> = flow {
emit(State.Loading)
val newState = repository.delete(
peerId = peerId,
messageIds = messageIds,
conversationMessageIds = null,
spam = spam,
deleteForAll = deleteForAll
).mapToState()
emit(newState)
}