Provide a library interface to the virtual touchpad service.
And make VrWindowManager pay for^H^H^H^H^H^H^H^H use it. The library
interface is a step toward moving 2D embedding into VrCore because it
hides the binder connection that isn't directly accessible to VrCore.
As a matter of implementation, the touchpad-service client library
and the low-level evdev touchpad are derived from the same interface.
Bug: b/35990873
Test: VirtualTouchpad_test; integration TBD.
Change-Id: Ic922ff223ddd5a44f6fb4433a271f8341e93a0e7
diff --git a/services/vr/virtual_touchpad/VirtualTouchpadService.cpp b/services/vr/virtual_touchpad/VirtualTouchpadService.cpp
index 25c1a4f..3fcb8fc 100644
--- a/services/vr/virtual_touchpad/VirtualTouchpadService.cpp
+++ b/services/vr/virtual_touchpad/VirtualTouchpadService.cpp
@@ -8,19 +8,15 @@
namespace android {
namespace dvr {
-int VirtualTouchpadService::Initialize() {
- return touchpad_.Initialize();
-}
-
binder::Status VirtualTouchpadService::touch(float x, float y, float pressure) {
- const int error = touchpad_.Touch(x, y, pressure);
- return error ? binder::Status::fromServiceSpecificError(error)
+ const status_t error = touchpad_->Touch(x, y, pressure);
+ return error ? binder::Status::fromStatusT(error)
: binder::Status::ok();
}
binder::Status VirtualTouchpadService::buttonState(int buttons) {
- const int error = touchpad_.ButtonState(buttons);
- return error ? binder::Status::fromServiceSpecificError(error)
+ const status_t error = touchpad_->ButtonState(buttons);
+ return error ? binder::Status::fromStatusT(error)
: binder::Status::ok();
}