summaryrefslogtreecommitdiff
path: root/Source/Android
diff options
context:
space:
mode:
authorTom Pratt <tom.pratt@outlook.com>2026-05-12 16:13:05 -0700
committerTom Pratt <tom.pratt@outlook.com>2026-07-07 23:26:06 +0200
commit11cf49de069621d43b6cef47017ef4279efec637 (patch)
treeaa12321b7f87839f05c8964ef6f168df5a417528 /Source/Android
parent774200dcf4ccea148ef357cc8cf86d8eab4446da (diff)
Android: Coloured netplay chat messages
Diffstat (limited to 'Source/Android')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/ui/NetplayScreen.kt21
1 files changed, 20 insertions, 1 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/ui/NetplayScreen.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/ui/NetplayScreen.kt
index 54ea403eeb..d3a05d3fcf 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/ui/NetplayScreen.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/netplay/ui/NetplayScreen.kt
@@ -4,6 +4,7 @@ package org.dolphinemu.dolphinemu.features.netplay.ui
import android.content.Intent
import android.content.res.Configuration
+import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.BoxWithConstraints
@@ -87,6 +88,7 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
+import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.sp
import androidx.window.core.layout.WindowSizeClass
import coil.compose.AsyncImage
@@ -588,8 +590,10 @@ private fun Chat(
fun LazyListScope.messages() {
items(messages.size) { index ->
+ val message = messages[index]
Text(
- text = messages[index].message(context),
+ text = message.message(context),
+ color = message.color(),
style = MaterialTheme.typography.bodyMedium.copy(lineHeight = 18.sp),
modifier = Modifier
.fillMaxWidth()
@@ -1265,6 +1269,21 @@ private fun GameDigestPlayerRow(
}
}
+@Composable
+private fun NetplayMessage.color(): Color {
+ val isDark = isSystemInDarkTheme()
+ return when (this) {
+ is NetplayMessage.Chat -> Color.Unspecified
+ is NetplayMessage.GameChanged -> if (isDark) Color(0xFFCE93D8) else Color(0xFF8E24AA)
+ is NetplayMessage.HostInputAuthorityChanged -> if (isDark) Color(0xFF90CAF9) else Color(
+ 0xFF1565C0
+ )
+
+ is NetplayMessage.BufferChanged -> if (isDark) Color(0xFF80CBC4) else Color(0xFF00897B)
+ is NetplayMessage.Desync -> if (isDark) Color(0xFFEF9A9A) else Color(0xFFC62828)
+ }
+}
+
@Preview
@Composable
private fun NetplayScreenPreview() {