|
|
|
@ -206,6 +206,7 @@ class MainActivity : AppCompatActivity() { |
|
|
|
if (it.startsWith("dm:")) ConversationTarget.Pm(it.removePrefix("dm:")) else ConversationTarget.Channel(it) |
|
|
|
if (it.startsWith("dm:")) ConversationTarget.Pm(it.removePrefix("dm:")) else ConversationTarget.Channel(it) |
|
|
|
} |
|
|
|
} |
|
|
|
var photoMessage by remember { mutableStateOf<Message?>(null) } |
|
|
|
var photoMessage by remember { mutableStateOf<Message?>(null) } |
|
|
|
|
|
|
|
var photoTargetId by rememberSaveable { mutableStateOf<String?>(null) } |
|
|
|
var hadCall by rememberSaveable { mutableStateOf(false) } |
|
|
|
var hadCall by rememberSaveable { mutableStateOf(false) } |
|
|
|
var screenBeforeCall by rememberSaveable { mutableStateOf<Screen?>(null) } |
|
|
|
var screenBeforeCall by rememberSaveable { mutableStateOf<Screen?>(null) } |
|
|
|
val snackbarHostState = remember { SnackbarHostState() } |
|
|
|
val snackbarHostState = remember { SnackbarHostState() } |
|
|
|
@ -371,8 +372,14 @@ class MainActivity : AppCompatActivity() { |
|
|
|
onBack = { screen = Screen.ChannelList }, |
|
|
|
onBack = { screen = Screen.ChannelList }, |
|
|
|
onPlayVideo = { msg -> videoMessage = msg }, |
|
|
|
onPlayVideo = { msg -> videoMessage = msg }, |
|
|
|
onViewPhoto = { msg -> photoMessage = msg }, |
|
|
|
onViewPhoto = { msg -> photoMessage = msg }, |
|
|
|
onRecordVideo = { videoTargetId = ConversationTarget.Channel(channel.id).nativeId; screen = Screen.VideoRecord }, |
|
|
|
onRecordVideo = { |
|
|
|
onCapturePhoto = { screen = Screen.PhotoRecord } |
|
|
|
val target = ConversationTarget.Channel(channel.id) |
|
|
|
|
|
|
|
videoTargetId = target.nativeId; vm.captureCameraReply(target); screen = Screen.VideoRecord |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
onCapturePhoto = { |
|
|
|
|
|
|
|
photoTargetId = channel.id |
|
|
|
|
|
|
|
vm.captureCameraReply(ConversationTarget.Channel(channel.id)); screen = Screen.PhotoRecord |
|
|
|
|
|
|
|
} |
|
|
|
) |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -399,7 +406,10 @@ class MainActivity : AppCompatActivity() { |
|
|
|
messages = dmMessages, |
|
|
|
messages = dmMessages, |
|
|
|
viewModel = vm, |
|
|
|
viewModel = vm, |
|
|
|
onSendMessage = { vm.sendDmMessage(it) }, |
|
|
|
onSendMessage = { vm.sendDmMessage(it) }, |
|
|
|
onRecordVideo = { videoTargetId = ConversationTarget.Pm(dm.convId).nativeId; screen = Screen.VideoRecord }, |
|
|
|
onRecordVideo = { |
|
|
|
|
|
|
|
val target = ConversationTarget.Pm(dm.convId) |
|
|
|
|
|
|
|
videoTargetId = target.nativeId; vm.captureCameraReply(target); screen = Screen.VideoRecord |
|
|
|
|
|
|
|
}, |
|
|
|
onPlayVideo = { videoMessage = it }, |
|
|
|
onPlayVideo = { videoMessage = it }, |
|
|
|
onBack = { vm.closeDm(); screen = Screen.ChannelList } |
|
|
|
onBack = { vm.closeDm(); screen = Screen.ChannelList } |
|
|
|
) |
|
|
|
) |
|
|
|
@ -417,7 +427,7 @@ class MainActivity : AppCompatActivity() { |
|
|
|
if (target != null) { |
|
|
|
if (target != null) { |
|
|
|
VideoRecordScreen( |
|
|
|
VideoRecordScreen( |
|
|
|
onSend = { path -> |
|
|
|
onSend = { path -> |
|
|
|
vm.sendVideoMessage(path, target) |
|
|
|
vm.sendVideoMessage(path, target, vm.cameraReply) |
|
|
|
screen = if (target is ConversationTarget.Pm) Screen.Dm else Screen.Chat |
|
|
|
screen = if (target is ConversationTarget.Pm) Screen.Dm else Screen.Chat |
|
|
|
}, |
|
|
|
}, |
|
|
|
onClose = { screen = if (target is ConversationTarget.Pm) Screen.Dm else Screen.Chat } |
|
|
|
onClose = { screen = if (target is ConversationTarget.Pm) Screen.Dm else Screen.Chat } |
|
|
|
@ -429,7 +439,7 @@ class MainActivity : AppCompatActivity() { |
|
|
|
if (channel != null) { |
|
|
|
if (channel != null) { |
|
|
|
PhotoRecordScreen( |
|
|
|
PhotoRecordScreen( |
|
|
|
onSend = { path, width, height -> |
|
|
|
onSend = { path, width, height -> |
|
|
|
vm.sendPhotoMessage(path, width, height) |
|
|
|
vm.sendPhotoMessage(path, width, height, photoTargetId ?: channel.id, vm.cameraReply) |
|
|
|
screen = Screen.Chat |
|
|
|
screen = Screen.Chat |
|
|
|
}, |
|
|
|
}, |
|
|
|
onClose = { screen = Screen.Chat } |
|
|
|
onClose = { screen = Screen.Chat } |
|
|
|
|