Browse Source

Normalize PM voice and video into the Android message model

master
evgeny 2 days ago
parent
commit
80b4e6f3e9
  1. 7
      tools/chatgui-android/app/src/main/java/com/utun/chat/data/ChatRepository.kt
  2. 7
      tools/chatgui-android/app/src/main/java/com/utun/chat/data/ConversationTarget.kt

7
tools/chatgui-android/app/src/main/java/com/utun/chat/data/ChatRepository.kt

@ -582,9 +582,14 @@ class ChatRepository {
text = obj.optString("data", ""), text = obj.optString("data", ""),
ts = obj.optLong("ts", 0), ts = obj.optLong("ts", 0),
isOutgoing = outgoing, isOutgoing = outgoing,
contentType = if (file) "file" else "text/plain", contentType = obj.optString("content_type", "text/plain"),
filePath = path, filePath = path,
fileSize = obj.optLong("media_size"), fileSize = obj.optLong("media_size"),
waveform = obj.optString("waveform").map { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(it).coerceAtLeast(0) / 63f },
voiceDurationMs = obj.optInt("duration_ms"),
videoDurationMs = obj.optInt("duration_ms"),
videoWidth = obj.optInt("width"),
videoHeight = obj.optInt("height"),
downloadState = if (!file) "" else if (path.isNotEmpty()) "downloaded" else if (status == "expired") "error" else "downloading", downloadState = if (!file) "" else if (path.isNotEmpty()) "downloaded" else if (status == "expired") "error" else "downloading",
deliveryStatus = delivery deliveryStatus = delivery
)) ))

7
tools/chatgui-android/app/src/main/java/com/utun/chat/data/ConversationTarget.kt

@ -1,8 +1,9 @@
package com.utun.chat.data package com.utun.chat.data
/** Адресат фиксируется до записи, выбора файла или фоновой подготовки. */ /** Адресат фиксируется до записи, выбора файла или фоновой подготовки. */
sealed class ConversationTarget(val id: String) { sealed class ConversationTarget {
class Channel(id: String) : ConversationTarget(id) abstract val id: String
class Pm(id: String) : ConversationTarget(id) data class Channel(override val id: String) : ConversationTarget()
data class Pm(override val id: String) : ConversationTarget()
val nativeId: String get() = if (this is Pm) "dm:$id" else id val nativeId: String get() = if (this is Pm) "dm:$id" else id
} }

Loading…
Cancel
Save