feat(sidecar): wire tapSelector through DriverBackend + DriverService

This commit is contained in:
pj committed 2026-04-18 00:04:22 +07:00
1 parent b24463fc81
commit f6efee1a9c
2 files changed
+15

No files matched your search

@@ -4,6 +4,7 @@ interface DriverBackend {
fun launch(bundleId: String, clearState: Boolean)
fun terminate(bundleId: String)
fun tap(x: Int, y: Int)
fun tapSelector(selector: String)
fun inputText(text: String)
fun screenshot(): Triple<ByteArray, Int, Int>
fun hierarchy(): String
@@ -24,6 +25,8 @@ class StubDriverBackend(private val platform: String) : DriverBackend {
private set
@Volatile var lastTap: Pair<Int, Int>? = null
private set
@Volatile var lastTapSelector: String? = null
private set
@Volatile var lastInputText: String? = null
private set
@@ -40,6 +43,10 @@ class StubDriverBackend(private val platform: String) : DriverBackend {
lastTap = x to y
}
override fun tapSelector(selector: String) {
lastTapSelector = selector
}
override fun inputText(text: String) {
lastInputText = text
}
@@ -9,6 +9,7 @@ import dev.uatu.driver.v1.HierarchyJSON
import dev.uatu.driver.v1.Image
import dev.uatu.driver.v1.LaunchRequest
import dev.uatu.driver.v1.Point
import dev.uatu.driver.v1.Selector
import dev.uatu.driver.v1.Text
import io.grpc.stub.StreamObserver
import java.util.concurrent.atomic.AtomicReference
@@ -44,6 +45,13 @@ class DriverService(
}
}
override fun tapSelector(request: Selector, responseObserver: StreamObserver<Empty>) {
runRpc(responseObserver) {
backend.tapSelector(request.value)
Empty.getDefaultInstance()
}
}
override fun inputText(request: Text, responseObserver: StreamObserver<Empty>) {
runRpc(responseObserver) {
backend.inputText(request.value)