Browse Source

Keep Android video metadata truthful and remove obsolete composer imports

master
evgeny 2 weeks ago
parent
commit
7ae56f03b3
  1. 10
      tools/chatgui-android/app/src/main/java/com/utun/chat/ui/screens/ChatScreen.kt
  2. 3
      tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt

10
tools/chatgui-android/app/src/main/java/com/utun/chat/ui/screens/ChatScreen.kt

@ -1,9 +1,6 @@
package com.utun.chat.ui.screens package com.utun.chat.ui.screens
import android.content.ContentResolver
import android.net.Uri
import android.os.SystemClock import android.os.SystemClock
import android.provider.OpenableColumns
import android.view.ViewConfiguration import android.view.ViewConfiguration
import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.contract.ActivityResultContracts 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.gestures.awaitFirstDown
import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.horizontalScroll
import androidx.compose.foundation.layout.* 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.lazy.rememberLazyListState
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.CircleShape 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.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import com.utun.chat.ChatApplication import com.utun.chat.ChatApplication
import com.utun.chat.data.LogManager
import com.utun.chat.data.AudioRoute import com.utun.chat.data.AudioRoute
import com.utun.chat.data.Channel import com.utun.chat.data.Channel
import com.utun.chat.data.Message import com.utun.chat.data.Message
import com.utun.chat.data.NativeLib
import com.utun.chat.data.RadioAudioEngine import com.utun.chat.data.RadioAudioEngine
import com.utun.chat.data.RadioOverlayService 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.ConversationMessages
import com.utun.chat.ui.components.ConversationComposer import com.utun.chat.ui.components.ConversationComposer
import com.utun.chat.data.ConversationTarget import com.utun.chat.data.ConversationTarget
import com.utun.chat.viewmodel.ChatViewModel import com.utun.chat.viewmodel.ChatViewModel
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable

3
tools/chatgui-android/app/src/main/java/com/utun/chat/viewmodel/ChatViewModel.kt

@ -1072,6 +1072,8 @@ class ChatViewModel : ViewModel() {
val mmr = MediaMetadataRetriever() val mmr = MediaMetadataRetriever()
try { try {
mmr.setDataSource(filePath) mmr.setDataSource(filePath)
if (mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_MIMETYPE) != "video/mp4")
throw IllegalStateException("На Android отправка как видео поддерживает MP4; другой формат отправьте как файл")
Triple( Triple(
mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION)?.toIntOrNull() ?: 0, mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION)?.toIntOrNull() ?: 0,
mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH)?.toIntOrNull() ?: 0, mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH)?.toIntOrNull() ?: 0,
@ -1211,6 +1213,7 @@ class ChatViewModel : ViewModel() {
} }
fun clearState() { fun clearState() {
_attachmentPreparations.value = emptyMap()
repo?.close() repo?.close()
repo = null repo = null
dbReady = false dbReady = false

Loading…
Cancel
Save