wip: put SimFragment between DeviceFragment and ConversationFragment

This commit is contained in:
2026-06-09 23:16:59 +02:00
parent 43ff936b24
commit defaa15e93
12 changed files with 340 additions and 11 deletions
@@ -89,10 +89,10 @@ import androidx.compose.ui.unit.dp
import xyz.magicalbits.smsremote.FunctionalityNotAvailablePopup
import xyz.magicalbits.smsremote.R
import xyz.magicalbits.smsremote.components.JetchatAppBar
import xyz.magicalbits.smsremote.data.exampleUiState
import xyz.magicalbits.smsremote.theme.JetchatTheme
import kotlinx.coroutines.launch
import xyz.magicalbits.smsremote.data.exampleUiStateNew
import xyz.magicalbits.smsremote.network.NetworkClient
/**
* Entry point for a conversation screen.
@@ -168,9 +168,8 @@ fun ConversationContent(
Scaffold(
topBar = {
ChannelNameBar(
channelName = uiState.phoneNumber,
// TODO remove?
channelMembers = 2,
channelName = uiState.remotePhoneNumber,
channelMembers = 2, // TODO remove?
onNavIconPressed = onNavIconPressed,
scrollBehavior = scrollBehavior,
)
@@ -205,6 +204,11 @@ fun ConversationContent(
uiState.addMessage(
Message(authorMe, content, timeNow),
)
scope.launch {
val networkClient = NetworkClient()
// FIXME
// networkClient.sendSmsMessage(content, uiState.localPhoneNumber, uiState.remotePhoneNumber)
}
},
resetScroll = {
scope.launch {
@@ -9,13 +9,13 @@ import kotlinx.coroutines.launch
import xyz.magicalbits.smsremote.network.NetworkClient
class ConversationViewModel : ViewModel() {
private var phoneNumber: String = ""
private var remotePhoneNumber: String = ""
private val _conversationData = MutableLiveData<ConversationScreenState>()
val conversationData: LiveData<ConversationScreenState> = _conversationData
fun setConversationData(phoneNumber: String?) {
if (phoneNumber != null) {
this.phoneNumber = phoneNumber
this.remotePhoneNumber = phoneNumber
var messageDtoList: List<NetworkClient.SmsMessageDto> = listOf()
viewModelScope.launch {
@@ -24,7 +24,7 @@ class ConversationViewModel : ViewModel() {
}.invokeOnCompletion {
_conversationData.value =
ConversationScreenState(
phoneNumber = this.phoneNumber,
remotePhoneNumber = this.remotePhoneNumber,
initialMessages = messageDtoList.map {
Message(
if (it.msg_type == "INCOMING") {
@@ -46,7 +46,7 @@ class ConversationViewModel : ViewModel() {
}
data class ConversationScreenState(
val phoneNumber: String,
val remotePhoneNumber: String,
val initialMessages: List<Message>,
) {
private val _messages: MutableList<Message> = initialMessages.toMutableStateList()