Skip to content

Commit 087d97f

Browse files
Fixes for chat view
1 parent 29a0d05 commit 087d97f

File tree

2 files changed

+25
-15
lines changed

2 files changed

+25
-15
lines changed

messaging-kotlin/app/src/main/java/com/vonage/tutorial/chat/ChatViewModel.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import com.vonage.clientcore.core.api.models.PersistentConversationEvent
1919
import com.vonage.clientcore.core.api.models.PresentingOrder
2020

2121
class ChatViewModel(application: Application) : AndroidViewModel(application = application) {
22-
private val aliceJwt = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MDEzNTE3MTksImp0aSI6IjNjNGE4MzkwLThmODYtMTFlZS1hOTNhLTkxZDk3OGRmMzYwNCIsImFwcGxpY2F0aW9uX2lkIjoiOTFhMDhiYzgtYzAyZi00NmJiLWExMTktNzA5NjMxMmYxZDRhIiwic3ViIjoiQWxpY2UiLCJleHAiOjE3MDEzNTE3NDEwOTcsImFjbCI6eyJwYXRocyI6eyIvKi9jb252ZXJzYXRpb25zLyoqIjp7fSwiLyovc2Vzc2lvbnMvKioiOnt9LCIvKi9kZXZpY2VzLyoqIjp7fSwiLyovcHVzaC8qKiI6e30sIi8qL2tub2NraW5nLyoqIjp7fSwiLyovbGVncy8qKiI6e319fX0.mbs5RVB8OHPZ09lSCSot4D0eMYmO_FgoQUfIvB5epzULrhK3KLvyJiR4n_y6ZOsjEpwk3ILfmzW_X5ukFebxv1xepOFQ4dRc1kgbn0nXWPnjjBEP4zODl9YbGyWiv0B0ydoNLXV8nFrTHBjUjGmTbXSdmvvl41db-8BDYMOwE-1SqiCZVz8l8xAlXFQMv_tkymra_2RxTNdmxqgnDOXIgv4PsbVUwLgzvdTxSRK8-P_ZpoZcsx_LMOKWFMRH1tK0l83OZp9tjrk6wszr1LGJAS2k8ESbkEAkAY-QNvsDTQhiDASOVdB2Nkiv9tORw9Rn_QonLa9eY40nYWz3E5uA1Q" //Set to ALICE JWT
23-
private val bobJwt = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MDEzNTE3NDksImp0aSI6IjRlMTRjZTAwLThmODYtMTFlZS05NGU2LTJkNzE3Y2E5MzEwZSIsImFwcGxpY2F0aW9uX2lkIjoiOTFhMDhiYzgtYzAyZi00NmJiLWExMTktNzA5NjMxMmYxZDRhIiwic3ViIjoiQm9iIiwiZXhwIjoxNzAxMzUxNzcwOTQ0LCJhY2wiOnsicGF0aHMiOnsiLyovY29udmVyc2F0aW9ucy8qKiI6e30sIi8qL3Nlc3Npb25zLyoqIjp7fSwiLyovZGV2aWNlcy8qKiI6e30sIi8qL3B1c2gvKioiOnt9LCIvKi9rbm9ja2luZy8qKiI6e30sIi8qL2xlZ3MvKioiOnt9fX19.jqOwYWeN02R_3XPPTuxShEMAHOq-ZakxlqSLCLXnntUxL_GnO8J6eNKC1ATpLW5g_M1jjbNOY8krCezAwKeMsG2aazHOlfpPkNClSiIFVpLwUdswHRKV94kLxjH6wmwZ_c48u_ZopxgnHD0LgX_L51XFW8YhqWITqA98l5i5bJwg73OhwTopxYJrLr08EBleIyYIS7Ytm11-_P17g6Bbe6iydETzErnom6u7qU0HxeyPzmj9JM-pEY7DjOrlKBdV1_vBJj6HDTZM5VulNNqdr-2oyCZ1eH-keWZIbMntmNlYH3ix-d7wNEB5B3r8ShvizQY7p0IjQERaS1koTqXQfw" //Set to BOB JWT
24-
private val conversationID = "CON-7be0ac0f-5309-4418-970b-f476cc7e232a" //Set to created conversation ID that has Bob and Alice as members
22+
private val aliceJwt = "" //Set to ALICE JWT
23+
private val bobJwt = "" //Set to BOB JWT
24+
private val conversationID = "" //Set to created conversation ID that has Bob and Alice as members
2525

2626
var isLoggedIn by mutableStateOf(false)
2727
var isError by mutableStateOf(false)
@@ -73,7 +73,8 @@ class ChatViewModel(application: Application) : AndroidViewModel(application = a
7373
val params = GetConversationEventsParameters(PresentingOrder.ASC,100)
7474
try {
7575
val eventsPage = client.getConversationEvents(conversationID, params)
76-
events = eventsPage.events.toMutableStateList()
76+
events.clear()
77+
events.addAll(eventsPage.events.toMutableStateList())
7778
}
7879
catch (err:Error) {
7980
isError = true

messaging-kotlin/app/src/main/java/com/vonage/tutorial/chat/MainActivity.kt

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ import androidx.compose.foundation.layout.Arrangement
1010
import androidx.compose.foundation.layout.Column
1111
import androidx.compose.foundation.layout.Row
1212
import androidx.compose.foundation.layout.fillMaxSize
13+
import androidx.compose.foundation.layout.fillMaxWidth
1314
import androidx.compose.foundation.layout.height
15+
import androidx.compose.foundation.layout.padding
1416
import androidx.compose.foundation.layout.width
1517
import androidx.compose.foundation.lazy.LazyColumn
1618
import androidx.compose.foundation.lazy.items
@@ -32,8 +34,13 @@ import androidx.compose.runtime.snapshots.SnapshotStateList
3234
import androidx.compose.runtime.toMutableStateList
3335
import androidx.compose.ui.Alignment
3436
import androidx.compose.ui.Modifier
37+
import androidx.compose.ui.graphics.Color
3538
import androidx.compose.ui.platform.LocalContext
39+
import androidx.compose.ui.text.TextStyle
40+
import androidx.compose.ui.text.font.FontWeight
41+
import androidx.compose.ui.text.style.TextAlign
3642
import androidx.compose.ui.unit.dp
43+
import androidx.compose.ui.unit.sp
3744
import androidx.lifecycle.AndroidViewModel
3845
import com.vonage.android_core.VGError
3946
import com.vonage.chat.ChatClient
@@ -105,17 +112,19 @@ fun ChatScreen() {
105112
horizontalAlignment = Alignment.CenterHorizontally,
106113
verticalArrangement = Arrangement.Bottom
107114
) {
108-
if (vm.events.isEmpty()){
109-
CircularProgressIndicator(
110-
modifier = Modifier.width(64.dp).height(300.dp),
111-
color = MaterialTheme.colorScheme.secondary,
112-
)
113-
} else {
114-
LazyColumn() {
115-
items(vm.events) { event ->
116-
val (text, isUser) = vm.generateDisplayedText(event)
117-
Text(text)
118-
}
115+
LazyColumn(
116+
modifier = Modifier.fillMaxWidth()
117+
) {
118+
items(vm.events) { event ->
119+
val (text, isUser) = vm.generateDisplayedText(event)
120+
val textAlightment = if (isUser) TextAlign.Right else TextAlign.Left
121+
val textColor = if (isUser) Color.Blue else Color.Black
122+
Text(
123+
text = text,
124+
fontSize = 20.sp,
125+
textAlign = textAlightment,
126+
color = textColor
127+
)
119128
}
120129
}
121130
Row(){

0 commit comments

Comments
 (0)