tauri_plugin_android_accessibility/
models.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Deserialize, Serialize)]
4#[serde(rename_all = "camelCase")]
5pub struct PingRequest {
6 pub value: Option<String>,
7}
8
9#[derive(Debug, Clone, Default, Deserialize, Serialize)]
10#[serde(rename_all = "camelCase")]
11pub struct PingResponse {
12 pub value: Option<String>,
13}
14
15#[derive(Debug, Clone, Default, Deserialize, Serialize)]
16#[serde(rename_all = "camelCase")]
17pub struct AccessibilityPermissionStatus {
18 pub enabled: bool,
19 pub service_id: String,
20 pub enabled_services: Vec<String>,
21}
22
23#[derive(Debug, Clone, Deserialize, Serialize)]
24#[serde(rename_all = "camelCase")]
25pub struct UiTreeRequest {
26 pub max_depth: Option<u32>,
27 pub max_children_per_node: Option<u32>,
28 pub include_non_clickable: Option<bool>,
29}
30
31impl Default for UiTreeRequest {
32 fn default() -> Self {
33 Self {
34 max_depth: Some(10),
35 max_children_per_node: Some(50),
36 include_non_clickable: Some(true),
37 }
38 }
39}
40
41#[derive(Debug, Clone, Default, Deserialize, Serialize)]
42#[serde(rename_all = "camelCase")]
43pub struct Bounds {
44 pub left: i32,
45 pub top: i32,
46 pub right: i32,
47 pub bottom: i32,
48}
49
50#[derive(Debug, Clone, Default, Deserialize, Serialize)]
51#[serde(rename_all = "camelCase")]
52pub struct UiNode {
53 pub node_id: String,
54 pub class_name: Option<String>,
55 pub text: Option<String>,
56 pub content_description: Option<String>,
57 pub resource_id: Option<String>,
58 pub package_name: Option<String>,
59 pub bounds: Option<Bounds>,
60 pub clickable: bool,
61 pub enabled: bool,
62 pub focusable: bool,
63 pub focused: bool,
64 pub scrollable: bool,
65 pub selected: bool,
66 pub checkable: bool,
67 pub checked: bool,
68 pub long_clickable: bool,
69 pub children: Vec<UiNode>,
70}
71
72#[derive(Debug, Clone, Default, Deserialize, Serialize)]
73#[serde(rename_all = "camelCase")]
74pub struct UiTreeResponse {
75 pub timestamp_ms: u64,
76 pub package_name: Option<String>,
77 pub root: Option<UiNode>,
78}
79
80#[derive(Debug, Clone, Deserialize, Serialize)]
81#[serde(rename_all = "camelCase")]
82pub struct ClickNodeRequest {
83 pub node_id: String,
84 pub action: Option<String>,
85 pub fallback_to_clickable_parent: Option<bool>,
86}
87
88#[derive(Debug, Clone, Default, Deserialize, Serialize)]
89#[serde(rename_all = "camelCase")]
90pub struct ClickNodeResponse {
91 pub success: bool,
92 pub performed_on_node_id: Option<String>,
93 pub message: Option<String>,
94}
95
96#[derive(Debug, Clone, Default, Deserialize, Serialize)]
97#[serde(rename_all = "camelCase")]
98pub struct OpenSettingsResponse {
99 pub opened: bool,
100}
101
102#[derive(Debug, Clone, Deserialize, Serialize)]
103#[serde(rename_all = "camelCase")]
104pub struct GesturePoint {
105 pub x: f32,
106 pub y: f32,
107}
108
109#[derive(Debug, Clone, Deserialize, Serialize)]
110#[serde(rename_all = "camelCase")]
111pub struct GestureStroke {
112 pub points: Vec<GesturePoint>,
113 pub start_time_ms: Option<u64>,
114 pub duration_ms: u64,
115 pub will_continue: Option<bool>,
116}
117
118#[derive(Debug, Clone, Deserialize, Serialize)]
119#[serde(rename_all = "camelCase")]
120pub struct PerformGestureRequest {
121 pub strokes: Vec<GestureStroke>,
122}
123
124#[derive(Debug, Clone, Default, Deserialize, Serialize)]
125#[serde(rename_all = "camelCase")]
126pub struct PerformGestureResponse {
127 pub success: bool,
128 pub message: Option<String>,
129}
130
131#[derive(Debug, Clone, Deserialize, Serialize)]
132#[serde(rename_all = "camelCase")]
133pub struct GlobalActionRequest {
134 pub action: String,
135}
136
137#[derive(Debug, Clone, Default, Deserialize, Serialize)]
138#[serde(rename_all = "camelCase")]
139pub struct GlobalActionResponse {
140 pub success: bool,
141 pub message: Option<String>,
142}
143
144#[derive(Debug, Clone, Deserialize, Serialize)]
145#[serde(rename_all = "camelCase")]
146pub struct NodeActionRequest {
147 pub node_id: String,
148 pub action: String,
149 pub fallback_to_scrollable_parent: Option<bool>,
150}
151
152#[derive(Debug, Clone, Default, Deserialize, Serialize)]
153#[serde(rename_all = "camelCase")]
154pub struct NodeActionResponse {
155 pub success: bool,
156 pub performed_on_node_id: Option<String>,
157 pub message: Option<String>,
158}
159
160#[derive(Debug, Clone, Deserialize, Serialize)]
161#[serde(rename_all = "camelCase")]
162pub struct TypeTextRequest {
163 pub node_id: String,
164 pub text: String,
165}
166
167#[derive(Debug, Clone, Deserialize, Serialize)]
168#[serde(rename_all = "camelCase")]
169pub struct TypeTextResponse {
170 pub success: bool,
171 pub message: Option<String>,
172}