From 24ddd18ae1dce0408ea17285fb1777df8728d74f Mon Sep 17 00:00:00 2001 From: Ayaan Zaidi Date: Sun, 24 May 2026 18:24:51 +0530 Subject: [PATCH] fix(android): simplify gateway status copy --- .../ai/openclaw/app/ui/SettingsScreens.kt | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/apps/android/app/src/main/java/ai/openclaw/app/ui/SettingsScreens.kt b/apps/android/app/src/main/java/ai/openclaw/app/ui/SettingsScreens.kt index 71369390240..76e109176c1 100644 --- a/apps/android/app/src/main/java/ai/openclaw/app/ui/SettingsScreens.kt +++ b/apps/android/app/src/main/java/ai/openclaw/app/ui/SettingsScreens.kt @@ -676,7 +676,7 @@ private fun GatewaySettingsScreen( SettingsMetric("Node", if (isNodeConnected) "Online" else "Not paired"), SettingsMetric("Gateway", serverName?.takeIf { it.isNotBlank() } ?: "Home Gateway"), SettingsMetric("Address", remoteAddress?.takeIf { it.isNotBlank() } ?: "Not available"), - SettingsMetric("Status", statusText), + SettingsMetric("Status", gatewayStatusLabel(statusText = statusText, isConnected = isConnected)), ), ) Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.spacedBy(8.dp)) { @@ -775,6 +775,23 @@ private fun AppearanceSettingsScreen(onBack: () -> Unit) { } } +private fun gatewayStatusLabel( + statusText: String, + isConnected: Boolean, +): String { + if (isConnected) return "Ready" + val status = statusText.trim().lowercase() + return when { + status.contains("connecting") || status.contains("reconnecting") -> "Connecting..." + status.contains("pair") -> "Pairing needed" + status.contains("auth") -> "Authentication needed" + status.contains("certificate") || status.contains("tls") -> "Certificate review needed" + status.contains("failed") || status.contains("error") || status.contains("offline") || status.contains("not connected") -> "Cannot reach gateway" + status.isBlank() -> "Not connected" + else -> "Not connected" + } +} + @Composable private fun AboutSettingsScreen( viewModel: MainViewModel,