From 7ae56f03b3ead0f1a9e46fd80ffb76646796108c Mon Sep 17 00:00:00 2001 From: evgeny Date: Thu, 1 Oct 2026 19:16:27 +0300 Subject: [PATCH] Keep Android video metadata truthful and remove obsolete composer imports --- .../main/java/com/utun/chat/ui/screens/ChatScreen.kt | 10 ---------- .../main/java/com/utun/chat/viewmodel/ChatViewModel.kt | 3 +++ 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/tools/chatgui-android/app/src/main/java/com/utun/chat/ui/screens/ChatScreen.kt b/tools/chatgui-android/app/src/main/java/com/utun/chat/ui/screens/ChatScreen.kt index 4bd15f1b..9c9cab42 100644 --- a/tools/chatgui-android/app/src/main/java/com/utun/chat/ui/screens/ChatScreen.kt +++ b/tools/chatgui-android/app/src/main/java/com/utun/chat/ui/screens/ChatScreen.kt @@ -1,9 +1,6 @@ package com.utun.chat.ui.screens -import android.content.ContentResolver -import android.net.Uri import android.os.SystemClock -import android.provider.OpenableColumns import android.view.ViewConfiguration import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts @@ -13,8 +10,6 @@ import androidx.compose.foundation.clickable import androidx.compose.foundation.gestures.awaitFirstDown import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.layout.* -import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.CircleShape @@ -48,22 +43,17 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.utun.chat.ChatApplication -import com.utun.chat.data.LogManager import com.utun.chat.data.AudioRoute import com.utun.chat.data.Channel import com.utun.chat.data.Message -import com.utun.chat.data.NativeLib import com.utun.chat.data.RadioAudioEngine import com.utun.chat.data.RadioOverlayService -import com.utun.chat.ui.components.InputBar import com.utun.chat.ui.components.ConversationMessages import com.utun.chat.ui.components.ConversationComposer import com.utun.chat.data.ConversationTarget import com.utun.chat.viewmodel.ChatViewModel import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.delay import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt b/tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt index 8fc494f6..925aea3e 100644 --- a/tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt +++ b/tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt @@ -1072,6 +1072,8 @@ class ChatViewModel : ViewModel() { val mmr = MediaMetadataRetriever() try { mmr.setDataSource(filePath) + if (mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_MIMETYPE) != "video/mp4") + throw IllegalStateException("На Android отправка как видео поддерживает MP4; другой формат отправьте как файл") Triple( mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION)?.toIntOrNull() ?: 0, mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH)?.toIntOrNull() ?: 0, @@ -1211,6 +1213,7 @@ class ChatViewModel : ViewModel() { } fun clearState() { + _attachmentPreparations.value = emptyMap() repo?.close() repo = null dbReady = false