5 * @page protocol Protocol
6 * Here is a page with some descriptions about protocol explained
9 rpc killServer(ReqEmpty) returns (RspEmpty) {}
10 rpc findElement(ReqFindElement) returns (RspFindElement) {}
11 rpc getValue(ReqGetValue) returns (RspGetValue) {}
12 rpc setValue(ReqSetValue) returns (RspSetValue) {}
13 rpc getSize(ReqGetSize) returns (RspGetSize) {}
14 rpc clear(ReqClear) returns (RspClear) {}
15 rpc getAttribute(ReqGetAttribute) returns (RspGetAttribute) {}
16 rpc click(ReqClick) returns (RspClick) {}
17 rpc longClick(ReqClick) returns (RspClick) {}
18 rpc flick(ReqFlick) returns (RspFlick) {}
19 rpc touchDown(ReqTouchDown) returns (RspTouchDown) {}
20 rpc touchMove(ReqTouchMove) returns (RspTouchMove) {}
21 rpc touchUp(ReqTouchUp) returns (RspTouchUp) {}
22 rpc installApp(stream ReqInstallApp) returns (RspInstallApp) {}
23 rpc removeApp(ReqRemoveApp) returns (RspRemoveApp) {}
24 rpc getAppInfo(ReqGetAppInfo) returns (RspGetAppInfo) {}
25 rpc launchApp(ReqLaunchApp) returns (RspLaunchApp) {}
26 rpc closeApp(ReqCloseApp) returns (RspCloseApp) {}
27 rpc getDeviceTime(ReqGetDeviceTime) returns (RspGetDeviceTime) {}
28 rpc getLocation(ReqGetLocation) returns (RspGetLocation) {}
29 rpc sendKey(ReqKey) returns (RspKey) {}
30 rpc takeScreenshot(ReqTakeScreenshot) returns (stream RspTakeScreenshot) {}
31 rpc dumpObjectTree(ReqDumpObjectTree) returns (RspDumpObjectTree) {}
32 rpc getScreenSize(ReqGetScreenSize) returns (RspGetScreenSize) {}
33 rpc actionAndWaitEvent(ReqActionAndWaitEvent) returns (RspActionAndWaitEvent) {}
34 rpc setFocus(ReqSetFocus) returns (RspSetFocus) {}
35 rpc findElements(ReqFindElements) returns (RspFindElements) {}
36 rpc getActiveAppToolkitName(ReqGetActiveAppToolkitName) returns (RspGetActiveAppToolkitName) {}
37 rpc enableScreenAnalyzer(ReqEnableScreenAnalyzer) returns (RspEnableScreenAnalyzer) {}
38 rpc getTextMinBoundingRect(ReqGetTextMinBoundingRect) returns (RspGetTextMinBoundingRect) {}
39 rpc setTimeout(ReqSetTimeout) returns (RspSetTimeout) {}
42 // ------------------------------------ //
59 repeated Element child = 2;
62 Rect windowRelativeGeometry = 4;
64 string widgetType = 5;
65 string widgetStyle = 6;
70 string automationId = 10;
76 bool isCheckable = 15;
77 bool isClickable = 16;
80 bool isFocusable = 19;
81 bool isScrollable = 20;
86 bool isSelectable = 25;
87 bool isHighlightable = 26;
92 double increment = 30;
112 // ------------------------------------ //
114 message ReqFindElement {
116 string elementId = 1;
119 oneof _automationid {
120 string automationId = 2;
124 string textField = 3;
128 string widgetType = 4;
132 string widgetStyle = 5;
144 bool isClickable = 8;
156 bool isFocusable = 11;
159 oneof _isscrollable {
160 bool isScrollable = 12;
164 bool isSelected = 13;
184 string packageName = 18;
187 oneof _textpartialmatch {
188 string textPartialMatch = 19;
206 oneof _isselectable {
207 bool isSelectable = 24;
210 oneof _ishighlightable {
211 bool isHighlightable = 25;
214 repeated ReqFindElement children = 26;
217 message RspFindElement {
218 RspStatus status = 1;
222 message ReqFindElements {
224 string elementId = 1;
227 oneof _automationid {
228 string automationId = 2;
232 string textField = 3;
236 string widgetType = 4;
240 string widgetStyle = 5;
252 bool isClickable = 8;
264 bool isFocusable = 11;
267 oneof _isscrollable {
268 bool isScrollable = 12;
272 bool isSelected = 13;
292 string packageName = 18;
295 oneof _textpartialmatch {
296 string textPartialMatch = 19;
315 oneof _isselectable {
316 bool isSelectable = 24;
319 oneof _ishighlightable {
320 bool isHighlightable = 25;
323 repeated ReqFindElements children = 26;
326 message RspFindElements {
327 RspStatus status = 1;
328 repeated Element elements = 2;
331 // ------------------------------------ //
333 message ReqGetValue {
334 string elementId = 1;
336 // TODO : text, widgetstyle, widgettype, automationid
338 message RspGetValue {
339 RspStatus status = 1;
342 string stringValue = 3;
344 double doubleValue = 5;
349 message ReqSetValue {
350 string elementId = 1;
353 string stringValue = 3;
355 double doubleValue = 5;
359 message RspSetValue {
360 RspStatus status = 1;
369 string elementId = 2;
373 RspStatus status = 1;
378 string elementId = 1;
381 RspStatus status = 1;
384 message ReqGetAttribute {
399 string elementId = 1;
400 RequestType attribute = 2;
402 message RspGetAttribute {
403 RspStatus status = 1;
407 // ------------------------------------ //
415 RequestType type = 1;
417 string elementId = 2;
418 Point coordination = 3;
422 RspStatus status = 1;
426 Point startPoint = 1;
428 int32 durationMs = 3;
431 RspStatus status = 1;
434 message ReqTouchDown{
435 Point coordination = 1;
437 message RspTouchDown{
438 RspStatus status = 1;
442 message ReqTouchMove{
444 Point coordination = 2;
446 message RspTouchMove{
447 RspStatus status = 1;
452 Point coordination = 2;
455 RspStatus status = 1;
458 // ------------------------------------ //
460 message ReqInstallApp{
463 message RspInstallApp{
464 RspStatus status = 1;
467 message ReqRemoveApp{
468 string packageName = 1;
470 message RspRemoveApp{
471 RspStatus status = 1;
474 message ReqGetAppInfo{
475 string packageName = 1;
477 message RspGetAppInfo {
478 RspStatus status = 1;
479 bool isInstalled = 2;
484 message ReqLaunchApp{
485 string packageName = 1;
486 repeated LaunchData data = 2;
488 message RspLaunchApp{
489 RspStatus status = 1;
493 string packageName = 1;
496 RspStatus status = 1;
499 // ------------------------------------ //
501 message ReqGetDeviceTime{
508 message RspGetDeviceTime{
509 RspStatus status = 1;
510 int64 timestampUTC = 2;
511 string localeDatetime = 3;
514 message ReqGetLocation{
516 message RspGetLocation{
517 RspStatus status = 1;
542 KeyActionType actionType = 2;
543 string XF86keyCode = 3;
544 int32 durationMs = 4;
545 int32 intervalMs = 5;
548 RspStatus status = 1;
551 message ReqTakeScreenshot{
553 message RspTakeScreenshot{
557 // ------------------------------------ //
564 // ------------------------------------ //
566 message ReqDumpObjectTree {
567 string elementId = 1;
570 message RspDumpObjectTree {
571 RspStatus status = 1;
572 repeated Element roots = 2;
575 message ReqGetScreenSize {
578 message RspGetScreenSize {
579 RspStatus status = 1;
583 message ReqActionAndWaitEvent {
590 EVENT_WINDOW_ACTIVATE = 0;
591 EVENT_WINDOW_DEACTIVATE = 1;
592 EVENT_STATE_CHANGED_FOCUSED = 2;
596 string elementId = 2;
597 string XF86keyCode = 3;
599 EventType eventType = 4;
601 string packageName = 6;
604 message RspActionAndWaitEvent {
605 RspStatus status = 1;
608 message ReqSetFocus {
609 string elementId = 1;
612 message RspSetFocus {
613 RspStatus status = 1;
616 message ReqGetActiveAppToolkitName {
619 message RspGetActiveAppToolkitName {
620 RspStatus status = 1;
621 string toolkitName = 2;
624 message ReqEnableScreenAnalyzer {
629 message RspEnableScreenAnalyzer {
630 RspStatus status = 1;
633 message ReqGetTextMinBoundingRect {
634 string elementId = 1;
637 message RspGetTextMinBoundingRect {
638 RspStatus status = 1;
642 message ReqSetTimeout {
646 message RspSetTimeout {
647 RspStatus status = 1;