summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorDentomologist <dentomologist@gmail.com>2026-07-09 12:25:06 -0700
committerGitHub <noreply@github.com>2026-07-09 12:25:06 -0700
commit6de526c684ee6dd8b6fc3447dae858ae480ccbb5 (patch)
tree14e003874a8e9caf657a8ea1829d8361110adbbd /Source
parentaaeb6e5dc1e0e7377b1f9cc48203051f09282217 (diff)
parent11cf49de069621d43b6cef47017ef4279efec637 (diff)
Merge pull request #14716 from tom-pratt/chat-message-colours
Android: Coloured netplay chat messages
Diffstat (limited to 'Source')
-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() {