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}