Второй этап выхода из офлайн режима

This commit is contained in:
Халимов Рустам
2026-04-20 10:46:09 +03:00
parent b2c29958b5
commit c839a9bc03
19 changed files with 899 additions and 84 deletions
@@ -140,12 +140,12 @@ class ChatRepositoryImpl @Inject constructor(
}
override suspend fun getMessages(
chatId: String, cursor: String?, pivot: Long?, limit: Int?
chatId: String, cursor: String?, pivot: Long?, afterSequenceId: Long?, limit: Int?
): List<Message> {
val currentUserId = tokenManager.getUserId() ?: ""
return try {
Log.d(TAG, "Fetching messages from API: chatId=$chatId")
val messages = api.getMessages(chatId, cursor = cursor, limit = limit)
Log.d(TAG, "Fetching messages from API: chatId=$chatId, afterSequenceId=$afterSequenceId, limit=$limit")
val messages = api.getMessages(chatId, cursor = cursor, pivot = pivot, afterSequenceId = afterSequenceId, limit = limit)
if (messages.isNotEmpty()) {
val entities = messages.map { it.toEntity(baseUrl, currentUserId, gson) }
@@ -160,6 +160,15 @@ class ChatRepositoryImpl @Inject constructor(
}
}
override suspend fun getLastKnownSequenceId(chatId: String): Int? {
return try {
messageDao.getMaxSequenceId(chatId)
} catch (e: Exception) {
Log.e(TAG, "Failed to get last sequenceId", e)
null
}
}
override suspend fun sendMessage(
chatId: String, content: String?, type: String,
attachments: List<chats.data.remote.api.AttachmentRequest>?,