From f2d503ad04b25d1e31c1aa85bbd76009cbed0acc Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 18 Dec 2025 02:17:35 +0000 Subject: [PATCH] Android: drop screen.* invoke aliases --- .../com/steipete/clawdis/node/NodeRuntime.kt | 12 ++---- .../node/protocol/ClawdisProtocolConstants.kt | 24 ------------ .../protocol/ClawdisProtocolConstantsTest.kt | 37 ++++--------------- 3 files changed, 11 insertions(+), 62 deletions(-) diff --git a/apps/android/app/src/main/java/com/steipete/clawdis/node/NodeRuntime.kt b/apps/android/app/src/main/java/com/steipete/clawdis/node/NodeRuntime.kt index c0cf1bfc9..a9e78272d 100644 --- a/apps/android/app/src/main/java/com/steipete/clawdis/node/NodeRuntime.kt +++ b/apps/android/app/src/main/java/com/steipete/clawdis/node/NodeRuntime.kt @@ -19,7 +19,6 @@ import com.steipete.clawdis.node.node.CanvasController import com.steipete.clawdis.node.protocol.ClawdisCapability import com.steipete.clawdis.node.protocol.ClawdisCameraCommand import com.steipete.clawdis.node.protocol.ClawdisCanvasCommand -import com.steipete.clawdis.node.protocol.ClawdisInvokeCommandAliases import com.steipete.clawdis.node.voice.VoiceWakeManager import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -446,12 +445,9 @@ class NodeRuntime(context: Context) { } private suspend fun handleInvoke(command: String, paramsJson: String?): BridgeSession.InvokeResult { - // Back-compat: accept screen.* commands and map them to canvas.*. - val canonicalCommand = ClawdisInvokeCommandAliases.canonicalizeScreenToCanvas(command) - if ( - canonicalCommand.startsWith(ClawdisCanvasCommand.NamespacePrefix) || - canonicalCommand.startsWith(ClawdisCameraCommand.NamespacePrefix) + command.startsWith(ClawdisCanvasCommand.NamespacePrefix) || + command.startsWith(ClawdisCameraCommand.NamespacePrefix) ) { if (!isForeground.value) { return BridgeSession.InvokeResult.error( @@ -460,14 +456,14 @@ class NodeRuntime(context: Context) { ) } } - if (canonicalCommand.startsWith(ClawdisCameraCommand.NamespacePrefix) && !cameraEnabled.value) { + if (command.startsWith(ClawdisCameraCommand.NamespacePrefix) && !cameraEnabled.value) { return BridgeSession.InvokeResult.error( code = "CAMERA_DISABLED", message = "CAMERA_DISABLED: enable Camera in Settings", ) } - return when (canonicalCommand) { + return when (command) { ClawdisCanvasCommand.Show.rawValue -> BridgeSession.InvokeResult.ok(null) ClawdisCanvasCommand.Hide.rawValue -> BridgeSession.InvokeResult.ok(null) ClawdisCanvasCommand.SetMode.rawValue -> { diff --git a/apps/android/app/src/main/java/com/steipete/clawdis/node/protocol/ClawdisProtocolConstants.kt b/apps/android/app/src/main/java/com/steipete/clawdis/node/protocol/ClawdisProtocolConstants.kt index 1525bf264..1737b701f 100644 --- a/apps/android/app/src/main/java/com/steipete/clawdis/node/protocol/ClawdisProtocolConstants.kt +++ b/apps/android/app/src/main/java/com/steipete/clawdis/node/protocol/ClawdisProtocolConstants.kt @@ -6,20 +6,6 @@ enum class ClawdisCapability(val rawValue: String) { VoiceWake("voiceWake"), } -enum class ClawdisScreenCommand(val rawValue: String) { - Show("screen.show"), - Hide("screen.hide"), - SetMode("screen.setMode"), - Navigate("screen.navigate"), - Eval("screen.eval"), - Snapshot("screen.snapshot"), - ; - - companion object { - const val NamespacePrefix: String = "screen." - } -} - enum class ClawdisCanvasCommand(val rawValue: String) { Show("canvas.show"), Hide("canvas.hide"), @@ -43,13 +29,3 @@ enum class ClawdisCameraCommand(val rawValue: String) { const val NamespacePrefix: String = "camera." } } - -object ClawdisInvokeCommandAliases { - fun canonicalizeScreenToCanvas(command: String): String { - if (command.startsWith(ClawdisScreenCommand.NamespacePrefix)) { - return ClawdisCanvasCommand.NamespacePrefix + - command.removePrefix(ClawdisScreenCommand.NamespacePrefix) - } - return command - } -} diff --git a/apps/android/app/src/test/java/com/steipete/clawdis/node/protocol/ClawdisProtocolConstantsTest.kt b/apps/android/app/src/test/java/com/steipete/clawdis/node/protocol/ClawdisProtocolConstantsTest.kt index aaa6a6fdb..7cbb16cf6 100644 --- a/apps/android/app/src/test/java/com/steipete/clawdis/node/protocol/ClawdisProtocolConstantsTest.kt +++ b/apps/android/app/src/test/java/com/steipete/clawdis/node/protocol/ClawdisProtocolConstantsTest.kt @@ -5,36 +5,13 @@ import org.junit.Test class ClawdisProtocolConstantsTest { @Test - fun mapsKnownScreenCommandsToCanvas() { - val mappings = - listOf( - Pair(ClawdisScreenCommand.Show, ClawdisCanvasCommand.Show), - Pair(ClawdisScreenCommand.Hide, ClawdisCanvasCommand.Hide), - Pair(ClawdisScreenCommand.SetMode, ClawdisCanvasCommand.SetMode), - Pair(ClawdisScreenCommand.Navigate, ClawdisCanvasCommand.Navigate), - Pair(ClawdisScreenCommand.Eval, ClawdisCanvasCommand.Eval), - Pair(ClawdisScreenCommand.Snapshot, ClawdisCanvasCommand.Snapshot), - ) - - for ((screen, canvas) in mappings) { - assertEquals( - canvas.rawValue, - ClawdisInvokeCommandAliases.canonicalizeScreenToCanvas(screen.rawValue), - ) - } - } - - @Test - fun mapsUnknownScreenNamespaceToCanvas() { - assertEquals("canvas.foo", ClawdisInvokeCommandAliases.canonicalizeScreenToCanvas("screen.foo")) - } - - @Test - fun leavesNonScreenCommandsUnchanged() { - assertEquals( - ClawdisCameraCommand.Snap.rawValue, - ClawdisInvokeCommandAliases.canonicalizeScreenToCanvas(ClawdisCameraCommand.Snap.rawValue), - ) + fun canvasCommandsUseStableStrings() { + assertEquals("canvas.show", ClawdisCanvasCommand.Show.rawValue) + assertEquals("canvas.hide", ClawdisCanvasCommand.Hide.rawValue) + assertEquals("canvas.setMode", ClawdisCanvasCommand.SetMode.rawValue) + assertEquals("canvas.navigate", ClawdisCanvasCommand.Navigate.rawValue) + assertEquals("canvas.eval", ClawdisCanvasCommand.Eval.rawValue) + assertEquals("canvas.snapshot", ClawdisCanvasCommand.Snapshot.rawValue) } @Test