diff --git a/apps/android-viewer/app/src/main/kotlin/com/verify/remote/MainActivity.kt b/apps/android-viewer/app/src/main/kotlin/com/verify/remote/MainActivity.kt index ac15c7a..5bc958f 100644 --- a/apps/android-viewer/app/src/main/kotlin/com/verify/remote/MainActivity.kt +++ b/apps/android-viewer/app/src/main/kotlin/com/verify/remote/MainActivity.kt @@ -44,6 +44,7 @@ class MainActivity : Activity(), RemoteSurfaceView.Listener { private lateinit var portInput: EditText private lateinit var codeInput: EditText private lateinit var connectButton: Button + private lateinit var disconnectButton: Button private lateinit var connectStatus: TextView @Volatile @@ -207,9 +208,11 @@ class MainActivity : Activity(), RemoteSurfaceView.Listener { text = "键盘" setOnClickListener { showKeyboard() } } - val disconnectButton = Button(this).apply { + disconnectButton = Button(this).apply { text = "断开" - setOnClickListener { disconnect() } + // 连接等待期它显示「取消」并走同一个 cancelConnect():两个按钮的 + // 取消语义必须只有一条路径(V-A1 判据依赖取消后的固定状态)。 + setOnClickListener { if (connecting) cancelConnect() else disconnect() } } val bar = LinearLayout(this).apply { orientation = LinearLayout.HORIZONTAL @@ -458,6 +461,10 @@ class MainActivity : Activity(), RemoteSurfaceView.Listener { connecting = true val gen = ++sessionGeneration connectButton.text = "取消" + // 等待期间界面已切到远控面板,表单上的按钮看不见——收起动作挂在 + // 面板底部按钮上:连接中它是「取消」(disconnect() 已正确作废在途连接), + // 成功后改回「断开」。 + disconnectButton.text = "取消" showRemoteState() statusView.text = "连接 $host:$port …" thread(name = "connect") { @@ -486,6 +493,7 @@ class MainActivity : Activity(), RemoteSurfaceView.Listener { remoteW = w remoteH = ht connectButton.text = "断开" + disconnectButton.text = "断开" // 只有认证成功的会话才值得记住;验证码不落盘(用户裁决) getSharedPreferences(PREFS, Context.MODE_PRIVATE) .edit()