fix: fix biometric auth manager

This commit is contained in:
2026-02-02 17:51:50 +05:00
parent 6cb4a80666
commit dc23ba9d36
3 changed files with 486 additions and 178 deletions

View File

@@ -1311,42 +1311,7 @@ class ChatViewModel(application: Application) : AndroidViewModel(application) {
// 🔥 Формируем attachments с reply (как в React Native)
val messageAttachments = mutableListOf<MessageAttachment>()
var replyBlobForDatabase = "" // Зашифрованный blob для БД (приватным ключом)
// 📸 Проверяем - это первое сообщение этому пользователю?
// Если да - добавляем свой аватар (как в desktop)
val isFirstMessage = messageDao.getMessageCount(sender, sender, recipient) == 0
if (isFirstMessage) {
try {
// Получаем свой аватар из AvatarRepository
val avatarDao = database.avatarDao()
val myAvatar = avatarDao.getLatestAvatar(sender)
if (myAvatar != null) {
// Читаем и расшифровываем аватар
val avatarBlob = com.rosetta.messenger.utils.AvatarFileManager.readAvatar(
getApplication(),
myAvatar.avatar
)
if (avatarBlob != null && avatarBlob.isNotEmpty()) {
// Шифруем аватар с ChaCha ключом для отправки
val encryptedAvatarBlob = MessageCrypto.encryptReplyBlob(avatarBlob, plainKeyAndNonce)
val avatarAttachmentId = "avatar_${timestamp}"
messageAttachments.add(MessageAttachment(
id = avatarAttachmentId,
blob = encryptedAvatarBlob,
type = AttachmentType.AVATAR,
preview = ""
))
} else {
}
} else {
}
} catch (e: Exception) {
}
}
if (replyMsgsToSend.isNotEmpty()) {
// Формируем JSON массив с цитируемыми сообщениями (как в Desktop)