android-env 1.2.1__py3-none-any.whl → 1.2.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. android_env/__init__.py +1 -1
  2. android_env/components/__init__.py +1 -1
  3. android_env/components/a11y/__init__.py +15 -0
  4. android_env/components/a11y/a11y_events.py +118 -0
  5. android_env/components/a11y/a11y_events_test.py +173 -0
  6. android_env/components/a11y/a11y_forests.py +128 -0
  7. android_env/components/a11y/a11y_forests_test.py +237 -0
  8. android_env/components/a11y/a11y_servicer.py +199 -0
  9. android_env/components/a11y/a11y_servicer_test.py +224 -0
  10. android_env/components/action_fns.py +132 -0
  11. android_env/components/action_fns_test.py +227 -0
  12. android_env/components/action_type.py +26 -3
  13. android_env/components/adb_call_parser.py +239 -196
  14. android_env/components/adb_call_parser_test.py +179 -209
  15. android_env/components/adb_controller.py +90 -52
  16. android_env/components/adb_controller_test.py +187 -16
  17. android_env/components/adb_log_stream.py +17 -5
  18. android_env/components/adb_log_stream_test.py +17 -3
  19. android_env/components/app_screen_checker.py +17 -15
  20. android_env/components/app_screen_checker_test.py +7 -8
  21. android_env/components/config_classes.py +203 -0
  22. android_env/components/coordinator.py +102 -338
  23. android_env/components/coordinator_test.py +59 -199
  24. android_env/components/device_settings.py +174 -0
  25. android_env/components/device_settings_test.py +228 -0
  26. android_env/components/dumpsys_thread.py +3 -4
  27. android_env/components/dumpsys_thread_test.py +1 -1
  28. android_env/components/errors.py +52 -10
  29. android_env/components/errors_test.py +110 -0
  30. android_env/components/log_stream.py +7 -5
  31. android_env/components/log_stream_test.py +1 -1
  32. android_env/components/logcat_thread.py +9 -8
  33. android_env/components/logcat_thread_test.py +3 -4
  34. android_env/components/{utils.py → pixel_fns.py} +20 -20
  35. android_env/components/{utils_test.py → pixel_fns_test.py} +20 -15
  36. android_env/components/setup_step_interpreter.py +47 -39
  37. android_env/components/setup_step_interpreter_test.py +4 -4
  38. android_env/components/simulators/__init__.py +1 -1
  39. android_env/components/simulators/base_simulator.py +116 -44
  40. android_env/components/simulators/base_simulator_test.py +131 -9
  41. android_env/components/simulators/emulator/__init__.py +1 -1
  42. android_env/components/simulators/emulator/emulator_launcher.py +67 -77
  43. android_env/components/simulators/emulator/emulator_launcher_test.py +153 -49
  44. android_env/components/simulators/emulator/emulator_simulator.py +276 -95
  45. android_env/components/simulators/emulator/emulator_simulator_test.py +314 -89
  46. android_env/components/simulators/fake/__init__.py +1 -1
  47. android_env/components/simulators/fake/fake_simulator.py +17 -25
  48. android_env/components/simulators/fake/fake_simulator_test.py +29 -12
  49. android_env/components/specs.py +18 -28
  50. android_env/components/specs_test.py +1 -44
  51. android_env/components/task_manager.py +48 -48
  52. android_env/components/task_manager_test.py +71 -60
  53. android_env/env_interface.py +37 -23
  54. android_env/environment.py +83 -51
  55. android_env/environment_test.py +68 -29
  56. android_env/loader.py +57 -43
  57. android_env/loader_test.py +115 -35
  58. android_env/proto/__init__.py +1 -1
  59. android_env/proto/a11y/__init__.py +15 -0
  60. android_env/proto/a11y/a11y.proto +75 -0
  61. android_env/proto/a11y/a11y_pb2.py +54 -0
  62. android_env/proto/a11y/a11y_pb2.pyi +49 -0
  63. android_env/proto/a11y/a11y_pb2_grpc.py +202 -0
  64. android_env/proto/a11y/android_accessibility_action.proto +32 -0
  65. android_env/proto/a11y/android_accessibility_action_pb2.py +37 -0
  66. android_env/proto/a11y/android_accessibility_action_pb2.pyi +13 -0
  67. android_env/proto/a11y/android_accessibility_action_pb2_grpc.py +24 -0
  68. android_env/proto/a11y/android_accessibility_forest.proto +29 -0
  69. android_env/proto/a11y/android_accessibility_forest_pb2.py +38 -0
  70. android_env/proto/a11y/android_accessibility_forest_pb2.pyi +13 -0
  71. android_env/proto/a11y/android_accessibility_forest_pb2_grpc.py +24 -0
  72. android_env/proto/a11y/android_accessibility_node_info.proto +122 -0
  73. android_env/proto/a11y/android_accessibility_node_info_clickable_span.proto +49 -0
  74. android_env/proto/a11y/android_accessibility_node_info_clickable_span_pb2.py +39 -0
  75. android_env/proto/a11y/android_accessibility_node_info_clickable_span_pb2.pyi +28 -0
  76. android_env/proto/a11y/android_accessibility_node_info_clickable_span_pb2_grpc.py +24 -0
  77. android_env/proto/a11y/android_accessibility_node_info_pb2.py +42 -0
  78. android_env/proto/a11y/android_accessibility_node_info_pb2.pyi +75 -0
  79. android_env/proto/a11y/android_accessibility_node_info_pb2_grpc.py +24 -0
  80. android_env/proto/a11y/android_accessibility_tree.proto +29 -0
  81. android_env/proto/a11y/android_accessibility_tree_pb2.py +38 -0
  82. android_env/proto/a11y/android_accessibility_tree_pb2.pyi +13 -0
  83. android_env/proto/a11y/android_accessibility_tree_pb2_grpc.py +24 -0
  84. android_env/proto/a11y/android_accessibility_window_info.proto +84 -0
  85. android_env/proto/a11y/android_accessibility_window_info_pb2.py +41 -0
  86. android_env/proto/a11y/android_accessibility_window_info_pb2.pyi +48 -0
  87. android_env/proto/a11y/android_accessibility_window_info_pb2_grpc.py +24 -0
  88. android_env/proto/a11y/rect.proto +30 -0
  89. android_env/proto/a11y/rect_pb2.py +37 -0
  90. android_env/proto/a11y/rect_pb2.pyi +17 -0
  91. android_env/proto/a11y/rect_pb2_grpc.py +24 -0
  92. android_env/proto/adb.proto +17 -6
  93. android_env/proto/adb_pb2.py +120 -107
  94. android_env/proto/adb_pb2.pyi +396 -0
  95. android_env/proto/adb_pb2_grpc.py +20 -0
  96. android_env/proto/emulator_controller.proto +68 -63
  97. android_env/proto/emulator_controller_pb2.py +142 -131
  98. android_env/proto/emulator_controller_pb2.pyi +672 -0
  99. android_env/proto/emulator_controller_pb2_grpc.py +505 -142
  100. android_env/proto/snapshot.proto +169 -0
  101. android_env/proto/snapshot_pb2.py +47 -0
  102. android_env/proto/snapshot_pb2.pyi +117 -0
  103. android_env/proto/snapshot_pb2_grpc.py +24 -0
  104. android_env/proto/snapshot_service.proto +289 -0
  105. android_env/proto/snapshot_service_pb2.py +54 -0
  106. android_env/proto/snapshot_service_pb2.pyi +86 -0
  107. android_env/proto/snapshot_service_pb2_grpc.py +487 -0
  108. android_env/proto/state.proto +63 -0
  109. android_env/proto/state_pb2.py +63 -0
  110. android_env/proto/state_pb2.pyi +85 -0
  111. android_env/proto/state_pb2_grpc.py +24 -0
  112. android_env/proto/task.proto +5 -1
  113. android_env/proto/task_pb2.py +42 -31
  114. android_env/proto/task_pb2.pyi +160 -0
  115. android_env/proto/task_pb2_grpc.py +20 -0
  116. android_env/wrappers/__init__.py +1 -1
  117. android_env/wrappers/a11y_grpc_wrapper.py +500 -0
  118. android_env/wrappers/a11y_grpc_wrapper_test.py +849 -0
  119. android_env/wrappers/base_wrapper.py +34 -13
  120. android_env/wrappers/base_wrapper_test.py +22 -16
  121. android_env/wrappers/discrete_action_wrapper.py +18 -17
  122. android_env/wrappers/discrete_action_wrapper_test.py +4 -4
  123. android_env/wrappers/flat_interface_wrapper.py +5 -5
  124. android_env/wrappers/flat_interface_wrapper_test.py +7 -11
  125. android_env/wrappers/float_pixels_wrapper.py +9 -10
  126. android_env/wrappers/float_pixels_wrapper_test.py +3 -3
  127. android_env/wrappers/gym_wrapper.py +19 -13
  128. android_env/wrappers/gym_wrapper_test.py +3 -5
  129. android_env/wrappers/image_rescale_wrapper.py +18 -21
  130. android_env/wrappers/image_rescale_wrapper_test.py +25 -37
  131. android_env/wrappers/last_action_wrapper.py +16 -13
  132. android_env/wrappers/last_action_wrapper_test.py +44 -51
  133. android_env/wrappers/rate_limit_wrapper.py +6 -3
  134. android_env/wrappers/rate_limit_wrapper_test.py +22 -1
  135. android_env/wrappers/tap_action_wrapper.py +16 -17
  136. android_env/wrappers/tap_action_wrapper_test.py +51 -16
  137. {android_env-1.2.1.dist-info → android_env-1.2.3.dist-info}/METADATA +14 -18
  138. android_env-1.2.3.dist-info/RECORD +141 -0
  139. {android_env-1.2.1.dist-info → android_env-1.2.3.dist-info}/WHEEL +1 -1
  140. android_env/proto/raw_observation.proto +0 -39
  141. android_env/proto/raw_observation_pb2.py +0 -27
  142. android_env/proto/raw_observation_pb2_grpc.py +0 -4
  143. android_env-1.2.1.dist-info/RECORD +0 -81
  144. {android_env-1.2.1.dist-info → android_env-1.2.3.dist-info/licenses}/LICENSE +0 -0
  145. {android_env-1.2.1.dist-info → android_env-1.2.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,396 @@
1
+ from google.protobuf.internal import containers as _containers
2
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import message as _message
5
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
6
+
7
+ DESCRIPTOR: _descriptor.FileDescriptor
8
+
9
+ class AdbRequest(_message.Message):
10
+ __slots__ = ("install_apk", "start_activity", "force_stop", "tap", "press_button", "start_screen_pinning", "uninstall_package", "get_current_activity", "get_orientation", "push", "pull", "input_text", "settings", "generic", "package_manager", "dumpsys", "send_broadcast", "timeout_sec")
11
+ class InstallApk(_message.Message):
12
+ __slots__ = ("filesystem", "blob")
13
+ class Filesystem(_message.Message):
14
+ __slots__ = ("path",)
15
+ PATH_FIELD_NUMBER: _ClassVar[int]
16
+ path: str
17
+ def __init__(self, path: _Optional[str] = ...) -> None: ...
18
+ class Blob(_message.Message):
19
+ __slots__ = ("contents",)
20
+ CONTENTS_FIELD_NUMBER: _ClassVar[int]
21
+ contents: bytes
22
+ def __init__(self, contents: _Optional[bytes] = ...) -> None: ...
23
+ FILESYSTEM_FIELD_NUMBER: _ClassVar[int]
24
+ BLOB_FIELD_NUMBER: _ClassVar[int]
25
+ filesystem: AdbRequest.InstallApk.Filesystem
26
+ blob: AdbRequest.InstallApk.Blob
27
+ def __init__(self, filesystem: _Optional[_Union[AdbRequest.InstallApk.Filesystem, _Mapping]] = ..., blob: _Optional[_Union[AdbRequest.InstallApk.Blob, _Mapping]] = ...) -> None: ...
28
+ class StartActivity(_message.Message):
29
+ __slots__ = ("full_activity", "extra_args", "force_stop")
30
+ FULL_ACTIVITY_FIELD_NUMBER: _ClassVar[int]
31
+ EXTRA_ARGS_FIELD_NUMBER: _ClassVar[int]
32
+ FORCE_STOP_FIELD_NUMBER: _ClassVar[int]
33
+ full_activity: str
34
+ extra_args: _containers.RepeatedScalarFieldContainer[str]
35
+ force_stop: bool
36
+ def __init__(self, full_activity: _Optional[str] = ..., extra_args: _Optional[_Iterable[str]] = ..., force_stop: bool = ...) -> None: ...
37
+ class SendBroadcast(_message.Message):
38
+ __slots__ = ("action", "component")
39
+ ACTION_FIELD_NUMBER: _ClassVar[int]
40
+ COMPONENT_FIELD_NUMBER: _ClassVar[int]
41
+ action: str
42
+ component: str
43
+ def __init__(self, action: _Optional[str] = ..., component: _Optional[str] = ...) -> None: ...
44
+ class UninstallPackage(_message.Message):
45
+ __slots__ = ("package_name",)
46
+ PACKAGE_NAME_FIELD_NUMBER: _ClassVar[int]
47
+ package_name: str
48
+ def __init__(self, package_name: _Optional[str] = ...) -> None: ...
49
+ class ForceStop(_message.Message):
50
+ __slots__ = ("package_name",)
51
+ PACKAGE_NAME_FIELD_NUMBER: _ClassVar[int]
52
+ package_name: str
53
+ def __init__(self, package_name: _Optional[str] = ...) -> None: ...
54
+ class Tap(_message.Message):
55
+ __slots__ = ("x", "y")
56
+ X_FIELD_NUMBER: _ClassVar[int]
57
+ Y_FIELD_NUMBER: _ClassVar[int]
58
+ x: int
59
+ y: int
60
+ def __init__(self, x: _Optional[int] = ..., y: _Optional[int] = ...) -> None: ...
61
+ class PressButton(_message.Message):
62
+ __slots__ = ("button",)
63
+ class Button(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
64
+ __slots__ = ()
65
+ HOME: _ClassVar[AdbRequest.PressButton.Button]
66
+ BACK: _ClassVar[AdbRequest.PressButton.Button]
67
+ ENTER: _ClassVar[AdbRequest.PressButton.Button]
68
+ HOME: AdbRequest.PressButton.Button
69
+ BACK: AdbRequest.PressButton.Button
70
+ ENTER: AdbRequest.PressButton.Button
71
+ BUTTON_FIELD_NUMBER: _ClassVar[int]
72
+ button: AdbRequest.PressButton.Button
73
+ def __init__(self, button: _Optional[_Union[AdbRequest.PressButton.Button, str]] = ...) -> None: ...
74
+ class StartScreenPinning(_message.Message):
75
+ __slots__ = ("full_activity",)
76
+ FULL_ACTIVITY_FIELD_NUMBER: _ClassVar[int]
77
+ full_activity: str
78
+ def __init__(self, full_activity: _Optional[str] = ...) -> None: ...
79
+ class GetCurrentActivity(_message.Message):
80
+ __slots__ = ()
81
+ def __init__(self) -> None: ...
82
+ class GetOrientationRequest(_message.Message):
83
+ __slots__ = ()
84
+ def __init__(self) -> None: ...
85
+ class Push(_message.Message):
86
+ __slots__ = ("content", "path")
87
+ CONTENT_FIELD_NUMBER: _ClassVar[int]
88
+ PATH_FIELD_NUMBER: _ClassVar[int]
89
+ content: bytes
90
+ path: str
91
+ def __init__(self, content: _Optional[bytes] = ..., path: _Optional[str] = ...) -> None: ...
92
+ class Pull(_message.Message):
93
+ __slots__ = ("path",)
94
+ PATH_FIELD_NUMBER: _ClassVar[int]
95
+ path: str
96
+ def __init__(self, path: _Optional[str] = ...) -> None: ...
97
+ class InputText(_message.Message):
98
+ __slots__ = ("text",)
99
+ TEXT_FIELD_NUMBER: _ClassVar[int]
100
+ text: str
101
+ def __init__(self, text: _Optional[str] = ...) -> None: ...
102
+ class SettingsRequest(_message.Message):
103
+ __slots__ = ("name_space", "get", "put", "delete_key", "reset", "list")
104
+ class Namespace(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
105
+ __slots__ = ()
106
+ UNKNOWN: _ClassVar[AdbRequest.SettingsRequest.Namespace]
107
+ SYSTEM: _ClassVar[AdbRequest.SettingsRequest.Namespace]
108
+ SECURE: _ClassVar[AdbRequest.SettingsRequest.Namespace]
109
+ GLOBAL: _ClassVar[AdbRequest.SettingsRequest.Namespace]
110
+ UNKNOWN: AdbRequest.SettingsRequest.Namespace
111
+ SYSTEM: AdbRequest.SettingsRequest.Namespace
112
+ SECURE: AdbRequest.SettingsRequest.Namespace
113
+ GLOBAL: AdbRequest.SettingsRequest.Namespace
114
+ class Get(_message.Message):
115
+ __slots__ = ("key",)
116
+ KEY_FIELD_NUMBER: _ClassVar[int]
117
+ key: str
118
+ def __init__(self, key: _Optional[str] = ...) -> None: ...
119
+ class Put(_message.Message):
120
+ __slots__ = ("key", "value")
121
+ KEY_FIELD_NUMBER: _ClassVar[int]
122
+ VALUE_FIELD_NUMBER: _ClassVar[int]
123
+ key: str
124
+ value: str
125
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
126
+ class Delete(_message.Message):
127
+ __slots__ = ("key",)
128
+ KEY_FIELD_NUMBER: _ClassVar[int]
129
+ key: str
130
+ def __init__(self, key: _Optional[str] = ...) -> None: ...
131
+ class Reset(_message.Message):
132
+ __slots__ = ("package_name", "mode")
133
+ class Mode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
134
+ __slots__ = ()
135
+ UNKNOWN: _ClassVar[AdbRequest.SettingsRequest.Reset.Mode]
136
+ UNTRUSTED_DEFAULTS: _ClassVar[AdbRequest.SettingsRequest.Reset.Mode]
137
+ UNTRUSTED_CLEAR: _ClassVar[AdbRequest.SettingsRequest.Reset.Mode]
138
+ TRUSTED_DEFAULTS: _ClassVar[AdbRequest.SettingsRequest.Reset.Mode]
139
+ UNKNOWN: AdbRequest.SettingsRequest.Reset.Mode
140
+ UNTRUSTED_DEFAULTS: AdbRequest.SettingsRequest.Reset.Mode
141
+ UNTRUSTED_CLEAR: AdbRequest.SettingsRequest.Reset.Mode
142
+ TRUSTED_DEFAULTS: AdbRequest.SettingsRequest.Reset.Mode
143
+ PACKAGE_NAME_FIELD_NUMBER: _ClassVar[int]
144
+ MODE_FIELD_NUMBER: _ClassVar[int]
145
+ package_name: str
146
+ mode: AdbRequest.SettingsRequest.Reset.Mode
147
+ def __init__(self, package_name: _Optional[str] = ..., mode: _Optional[_Union[AdbRequest.SettingsRequest.Reset.Mode, str]] = ...) -> None: ...
148
+ class List(_message.Message):
149
+ __slots__ = ()
150
+ def __init__(self) -> None: ...
151
+ NAME_SPACE_FIELD_NUMBER: _ClassVar[int]
152
+ GET_FIELD_NUMBER: _ClassVar[int]
153
+ PUT_FIELD_NUMBER: _ClassVar[int]
154
+ DELETE_KEY_FIELD_NUMBER: _ClassVar[int]
155
+ RESET_FIELD_NUMBER: _ClassVar[int]
156
+ LIST_FIELD_NUMBER: _ClassVar[int]
157
+ name_space: AdbRequest.SettingsRequest.Namespace
158
+ get: AdbRequest.SettingsRequest.Get
159
+ put: AdbRequest.SettingsRequest.Put
160
+ delete_key: AdbRequest.SettingsRequest.Delete
161
+ reset: AdbRequest.SettingsRequest.Reset
162
+ list: AdbRequest.SettingsRequest.List
163
+ def __init__(self, name_space: _Optional[_Union[AdbRequest.SettingsRequest.Namespace, str]] = ..., get: _Optional[_Union[AdbRequest.SettingsRequest.Get, _Mapping]] = ..., put: _Optional[_Union[AdbRequest.SettingsRequest.Put, _Mapping]] = ..., delete_key: _Optional[_Union[AdbRequest.SettingsRequest.Delete, _Mapping]] = ..., reset: _Optional[_Union[AdbRequest.SettingsRequest.Reset, _Mapping]] = ..., list: _Optional[_Union[AdbRequest.SettingsRequest.List, _Mapping]] = ...) -> None: ...
164
+ class GenericRequest(_message.Message):
165
+ __slots__ = ("args",)
166
+ ARGS_FIELD_NUMBER: _ClassVar[int]
167
+ args: _containers.RepeatedScalarFieldContainer[str]
168
+ def __init__(self, args: _Optional[_Iterable[str]] = ...) -> None: ...
169
+ class PackageManagerRequest(_message.Message):
170
+ __slots__ = ("list", "clear", "grant")
171
+ class List(_message.Message):
172
+ __slots__ = ("features", "libraries", "packages")
173
+ class Features(_message.Message):
174
+ __slots__ = ()
175
+ def __init__(self) -> None: ...
176
+ class Libraries(_message.Message):
177
+ __slots__ = ()
178
+ def __init__(self) -> None: ...
179
+ class Packages(_message.Message):
180
+ __slots__ = ("filter", "options")
181
+ FILTER_FIELD_NUMBER: _ClassVar[int]
182
+ OPTIONS_FIELD_NUMBER: _ClassVar[int]
183
+ filter: str
184
+ options: _containers.RepeatedScalarFieldContainer[str]
185
+ def __init__(self, filter: _Optional[str] = ..., options: _Optional[_Iterable[str]] = ...) -> None: ...
186
+ FEATURES_FIELD_NUMBER: _ClassVar[int]
187
+ LIBRARIES_FIELD_NUMBER: _ClassVar[int]
188
+ PACKAGES_FIELD_NUMBER: _ClassVar[int]
189
+ features: AdbRequest.PackageManagerRequest.List.Features
190
+ libraries: AdbRequest.PackageManagerRequest.List.Libraries
191
+ packages: AdbRequest.PackageManagerRequest.List.Packages
192
+ def __init__(self, features: _Optional[_Union[AdbRequest.PackageManagerRequest.List.Features, _Mapping]] = ..., libraries: _Optional[_Union[AdbRequest.PackageManagerRequest.List.Libraries, _Mapping]] = ..., packages: _Optional[_Union[AdbRequest.PackageManagerRequest.List.Packages, _Mapping]] = ...) -> None: ...
193
+ class Clear(_message.Message):
194
+ __slots__ = ("package_name", "user_id")
195
+ PACKAGE_NAME_FIELD_NUMBER: _ClassVar[int]
196
+ USER_ID_FIELD_NUMBER: _ClassVar[int]
197
+ package_name: str
198
+ user_id: str
199
+ def __init__(self, package_name: _Optional[str] = ..., user_id: _Optional[str] = ...) -> None: ...
200
+ class Grant(_message.Message):
201
+ __slots__ = ("package_name", "permissions")
202
+ PACKAGE_NAME_FIELD_NUMBER: _ClassVar[int]
203
+ PERMISSIONS_FIELD_NUMBER: _ClassVar[int]
204
+ package_name: str
205
+ permissions: _containers.RepeatedScalarFieldContainer[str]
206
+ def __init__(self, package_name: _Optional[str] = ..., permissions: _Optional[_Iterable[str]] = ...) -> None: ...
207
+ LIST_FIELD_NUMBER: _ClassVar[int]
208
+ CLEAR_FIELD_NUMBER: _ClassVar[int]
209
+ GRANT_FIELD_NUMBER: _ClassVar[int]
210
+ list: AdbRequest.PackageManagerRequest.List
211
+ clear: AdbRequest.PackageManagerRequest.Clear
212
+ grant: AdbRequest.PackageManagerRequest.Grant
213
+ def __init__(self, list: _Optional[_Union[AdbRequest.PackageManagerRequest.List, _Mapping]] = ..., clear: _Optional[_Union[AdbRequest.PackageManagerRequest.Clear, _Mapping]] = ..., grant: _Optional[_Union[AdbRequest.PackageManagerRequest.Grant, _Mapping]] = ...) -> None: ...
214
+ class DumpsysRequest(_message.Message):
215
+ __slots__ = ("service", "args", "list_only", "timeout_sec", "timeout_ms", "pid", "proto", "priority", "skip_services")
216
+ class PriorityLevel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
217
+ __slots__ = ()
218
+ UNSET: _ClassVar[AdbRequest.DumpsysRequest.PriorityLevel]
219
+ NORMAL: _ClassVar[AdbRequest.DumpsysRequest.PriorityLevel]
220
+ HIGH: _ClassVar[AdbRequest.DumpsysRequest.PriorityLevel]
221
+ CRITICAL: _ClassVar[AdbRequest.DumpsysRequest.PriorityLevel]
222
+ UNSET: AdbRequest.DumpsysRequest.PriorityLevel
223
+ NORMAL: AdbRequest.DumpsysRequest.PriorityLevel
224
+ HIGH: AdbRequest.DumpsysRequest.PriorityLevel
225
+ CRITICAL: AdbRequest.DumpsysRequest.PriorityLevel
226
+ SERVICE_FIELD_NUMBER: _ClassVar[int]
227
+ ARGS_FIELD_NUMBER: _ClassVar[int]
228
+ LIST_ONLY_FIELD_NUMBER: _ClassVar[int]
229
+ TIMEOUT_SEC_FIELD_NUMBER: _ClassVar[int]
230
+ TIMEOUT_MS_FIELD_NUMBER: _ClassVar[int]
231
+ PID_FIELD_NUMBER: _ClassVar[int]
232
+ PROTO_FIELD_NUMBER: _ClassVar[int]
233
+ PRIORITY_FIELD_NUMBER: _ClassVar[int]
234
+ SKIP_SERVICES_FIELD_NUMBER: _ClassVar[int]
235
+ service: str
236
+ args: _containers.RepeatedScalarFieldContainer[str]
237
+ list_only: bool
238
+ timeout_sec: int
239
+ timeout_ms: int
240
+ pid: bool
241
+ proto: bool
242
+ priority: AdbRequest.DumpsysRequest.PriorityLevel
243
+ skip_services: _containers.RepeatedScalarFieldContainer[str]
244
+ def __init__(self, service: _Optional[str] = ..., args: _Optional[_Iterable[str]] = ..., list_only: bool = ..., timeout_sec: _Optional[int] = ..., timeout_ms: _Optional[int] = ..., pid: bool = ..., proto: bool = ..., priority: _Optional[_Union[AdbRequest.DumpsysRequest.PriorityLevel, str]] = ..., skip_services: _Optional[_Iterable[str]] = ...) -> None: ...
245
+ INSTALL_APK_FIELD_NUMBER: _ClassVar[int]
246
+ START_ACTIVITY_FIELD_NUMBER: _ClassVar[int]
247
+ FORCE_STOP_FIELD_NUMBER: _ClassVar[int]
248
+ TAP_FIELD_NUMBER: _ClassVar[int]
249
+ PRESS_BUTTON_FIELD_NUMBER: _ClassVar[int]
250
+ START_SCREEN_PINNING_FIELD_NUMBER: _ClassVar[int]
251
+ UNINSTALL_PACKAGE_FIELD_NUMBER: _ClassVar[int]
252
+ GET_CURRENT_ACTIVITY_FIELD_NUMBER: _ClassVar[int]
253
+ GET_ORIENTATION_FIELD_NUMBER: _ClassVar[int]
254
+ PUSH_FIELD_NUMBER: _ClassVar[int]
255
+ PULL_FIELD_NUMBER: _ClassVar[int]
256
+ INPUT_TEXT_FIELD_NUMBER: _ClassVar[int]
257
+ SETTINGS_FIELD_NUMBER: _ClassVar[int]
258
+ GENERIC_FIELD_NUMBER: _ClassVar[int]
259
+ PACKAGE_MANAGER_FIELD_NUMBER: _ClassVar[int]
260
+ DUMPSYS_FIELD_NUMBER: _ClassVar[int]
261
+ SEND_BROADCAST_FIELD_NUMBER: _ClassVar[int]
262
+ TIMEOUT_SEC_FIELD_NUMBER: _ClassVar[int]
263
+ install_apk: AdbRequest.InstallApk
264
+ start_activity: AdbRequest.StartActivity
265
+ force_stop: AdbRequest.ForceStop
266
+ tap: AdbRequest.Tap
267
+ press_button: AdbRequest.PressButton
268
+ start_screen_pinning: AdbRequest.StartScreenPinning
269
+ uninstall_package: AdbRequest.UninstallPackage
270
+ get_current_activity: AdbRequest.GetCurrentActivity
271
+ get_orientation: AdbRequest.GetOrientationRequest
272
+ push: AdbRequest.Push
273
+ pull: AdbRequest.Pull
274
+ input_text: AdbRequest.InputText
275
+ settings: AdbRequest.SettingsRequest
276
+ generic: AdbRequest.GenericRequest
277
+ package_manager: AdbRequest.PackageManagerRequest
278
+ dumpsys: AdbRequest.DumpsysRequest
279
+ send_broadcast: AdbRequest.SendBroadcast
280
+ timeout_sec: float
281
+ def __init__(self, install_apk: _Optional[_Union[AdbRequest.InstallApk, _Mapping]] = ..., start_activity: _Optional[_Union[AdbRequest.StartActivity, _Mapping]] = ..., force_stop: _Optional[_Union[AdbRequest.ForceStop, _Mapping]] = ..., tap: _Optional[_Union[AdbRequest.Tap, _Mapping]] = ..., press_button: _Optional[_Union[AdbRequest.PressButton, _Mapping]] = ..., start_screen_pinning: _Optional[_Union[AdbRequest.StartScreenPinning, _Mapping]] = ..., uninstall_package: _Optional[_Union[AdbRequest.UninstallPackage, _Mapping]] = ..., get_current_activity: _Optional[_Union[AdbRequest.GetCurrentActivity, _Mapping]] = ..., get_orientation: _Optional[_Union[AdbRequest.GetOrientationRequest, _Mapping]] = ..., push: _Optional[_Union[AdbRequest.Push, _Mapping]] = ..., pull: _Optional[_Union[AdbRequest.Pull, _Mapping]] = ..., input_text: _Optional[_Union[AdbRequest.InputText, _Mapping]] = ..., settings: _Optional[_Union[AdbRequest.SettingsRequest, _Mapping]] = ..., generic: _Optional[_Union[AdbRequest.GenericRequest, _Mapping]] = ..., package_manager: _Optional[_Union[AdbRequest.PackageManagerRequest, _Mapping]] = ..., dumpsys: _Optional[_Union[AdbRequest.DumpsysRequest, _Mapping]] = ..., send_broadcast: _Optional[_Union[AdbRequest.SendBroadcast, _Mapping]] = ..., timeout_sec: _Optional[float] = ...) -> None: ...
282
+
283
+ class AdbResponse(_message.Message):
284
+ __slots__ = ("status", "error_message", "stats", "get_current_activity", "start_activity", "press_button", "push", "pull", "input_text", "settings", "generic", "package_manager", "get_orientation", "dumpsys")
285
+ class Status(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
286
+ __slots__ = ()
287
+ UNDEFINED: _ClassVar[AdbResponse.Status]
288
+ OK: _ClassVar[AdbResponse.Status]
289
+ UNKNOWN_COMMAND: _ClassVar[AdbResponse.Status]
290
+ FAILED_PRECONDITION: _ClassVar[AdbResponse.Status]
291
+ INTERNAL_ERROR: _ClassVar[AdbResponse.Status]
292
+ ADB_ERROR: _ClassVar[AdbResponse.Status]
293
+ TIMEOUT: _ClassVar[AdbResponse.Status]
294
+ UNDEFINED: AdbResponse.Status
295
+ OK: AdbResponse.Status
296
+ UNKNOWN_COMMAND: AdbResponse.Status
297
+ FAILED_PRECONDITION: AdbResponse.Status
298
+ INTERNAL_ERROR: AdbResponse.Status
299
+ ADB_ERROR: AdbResponse.Status
300
+ TIMEOUT: AdbResponse.Status
301
+ class StatsEntry(_message.Message):
302
+ __slots__ = ("key", "value")
303
+ KEY_FIELD_NUMBER: _ClassVar[int]
304
+ VALUE_FIELD_NUMBER: _ClassVar[int]
305
+ key: str
306
+ value: float
307
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[float] = ...) -> None: ...
308
+ class GetCurrentActivityResponse(_message.Message):
309
+ __slots__ = ("full_activity",)
310
+ FULL_ACTIVITY_FIELD_NUMBER: _ClassVar[int]
311
+ full_activity: str
312
+ def __init__(self, full_activity: _Optional[str] = ...) -> None: ...
313
+ class GetOrientationResponse(_message.Message):
314
+ __slots__ = ("orientation",)
315
+ ORIENTATION_FIELD_NUMBER: _ClassVar[int]
316
+ orientation: int
317
+ def __init__(self, orientation: _Optional[int] = ...) -> None: ...
318
+ class StartActivityResponse(_message.Message):
319
+ __slots__ = ("full_activity", "output")
320
+ FULL_ACTIVITY_FIELD_NUMBER: _ClassVar[int]
321
+ OUTPUT_FIELD_NUMBER: _ClassVar[int]
322
+ full_activity: str
323
+ output: bytes
324
+ def __init__(self, full_activity: _Optional[str] = ..., output: _Optional[bytes] = ...) -> None: ...
325
+ class PressButtonResponse(_message.Message):
326
+ __slots__ = ("output",)
327
+ OUTPUT_FIELD_NUMBER: _ClassVar[int]
328
+ output: bytes
329
+ def __init__(self, output: _Optional[bytes] = ...) -> None: ...
330
+ class PushResponse(_message.Message):
331
+ __slots__ = ()
332
+ def __init__(self) -> None: ...
333
+ class PullResponse(_message.Message):
334
+ __slots__ = ("content",)
335
+ CONTENT_FIELD_NUMBER: _ClassVar[int]
336
+ content: bytes
337
+ def __init__(self, content: _Optional[bytes] = ...) -> None: ...
338
+ class InputTextResponse(_message.Message):
339
+ __slots__ = ()
340
+ def __init__(self) -> None: ...
341
+ class SettingsResponse(_message.Message):
342
+ __slots__ = ("output",)
343
+ OUTPUT_FIELD_NUMBER: _ClassVar[int]
344
+ output: bytes
345
+ def __init__(self, output: _Optional[bytes] = ...) -> None: ...
346
+ class GenericResponse(_message.Message):
347
+ __slots__ = ("output",)
348
+ OUTPUT_FIELD_NUMBER: _ClassVar[int]
349
+ output: bytes
350
+ def __init__(self, output: _Optional[bytes] = ...) -> None: ...
351
+ class PackageManagerResponse(_message.Message):
352
+ __slots__ = ("output", "list")
353
+ class List(_message.Message):
354
+ __slots__ = ("items",)
355
+ ITEMS_FIELD_NUMBER: _ClassVar[int]
356
+ items: _containers.RepeatedScalarFieldContainer[str]
357
+ def __init__(self, items: _Optional[_Iterable[str]] = ...) -> None: ...
358
+ OUTPUT_FIELD_NUMBER: _ClassVar[int]
359
+ LIST_FIELD_NUMBER: _ClassVar[int]
360
+ output: bytes
361
+ list: AdbResponse.PackageManagerResponse.List
362
+ def __init__(self, output: _Optional[bytes] = ..., list: _Optional[_Union[AdbResponse.PackageManagerResponse.List, _Mapping]] = ...) -> None: ...
363
+ class DumpsysResponse(_message.Message):
364
+ __slots__ = ("output",)
365
+ OUTPUT_FIELD_NUMBER: _ClassVar[int]
366
+ output: bytes
367
+ def __init__(self, output: _Optional[bytes] = ...) -> None: ...
368
+ STATUS_FIELD_NUMBER: _ClassVar[int]
369
+ ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int]
370
+ STATS_FIELD_NUMBER: _ClassVar[int]
371
+ GET_CURRENT_ACTIVITY_FIELD_NUMBER: _ClassVar[int]
372
+ START_ACTIVITY_FIELD_NUMBER: _ClassVar[int]
373
+ PRESS_BUTTON_FIELD_NUMBER: _ClassVar[int]
374
+ PUSH_FIELD_NUMBER: _ClassVar[int]
375
+ PULL_FIELD_NUMBER: _ClassVar[int]
376
+ INPUT_TEXT_FIELD_NUMBER: _ClassVar[int]
377
+ SETTINGS_FIELD_NUMBER: _ClassVar[int]
378
+ GENERIC_FIELD_NUMBER: _ClassVar[int]
379
+ PACKAGE_MANAGER_FIELD_NUMBER: _ClassVar[int]
380
+ GET_ORIENTATION_FIELD_NUMBER: _ClassVar[int]
381
+ DUMPSYS_FIELD_NUMBER: _ClassVar[int]
382
+ status: AdbResponse.Status
383
+ error_message: str
384
+ stats: _containers.ScalarMap[str, float]
385
+ get_current_activity: AdbResponse.GetCurrentActivityResponse
386
+ start_activity: AdbResponse.StartActivityResponse
387
+ press_button: AdbResponse.PressButtonResponse
388
+ push: AdbResponse.PushResponse
389
+ pull: AdbResponse.PullResponse
390
+ input_text: AdbResponse.InputTextResponse
391
+ settings: AdbResponse.SettingsResponse
392
+ generic: AdbResponse.GenericResponse
393
+ package_manager: AdbResponse.PackageManagerResponse
394
+ get_orientation: AdbResponse.GetOrientationResponse
395
+ dumpsys: AdbResponse.DumpsysResponse
396
+ def __init__(self, status: _Optional[_Union[AdbResponse.Status, str]] = ..., error_message: _Optional[str] = ..., stats: _Optional[_Mapping[str, float]] = ..., get_current_activity: _Optional[_Union[AdbResponse.GetCurrentActivityResponse, _Mapping]] = ..., start_activity: _Optional[_Union[AdbResponse.StartActivityResponse, _Mapping]] = ..., press_button: _Optional[_Union[AdbResponse.PressButtonResponse, _Mapping]] = ..., push: _Optional[_Union[AdbResponse.PushResponse, _Mapping]] = ..., pull: _Optional[_Union[AdbResponse.PullResponse, _Mapping]] = ..., input_text: _Optional[_Union[AdbResponse.InputTextResponse, _Mapping]] = ..., settings: _Optional[_Union[AdbResponse.SettingsResponse, _Mapping]] = ..., generic: _Optional[_Union[AdbResponse.GenericResponse, _Mapping]] = ..., package_manager: _Optional[_Union[AdbResponse.PackageManagerResponse, _Mapping]] = ..., get_orientation: _Optional[_Union[AdbResponse.GetOrientationResponse, _Mapping]] = ..., dumpsys: _Optional[_Union[AdbResponse.DumpsysResponse, _Mapping]] = ...) -> None: ...
@@ -1,4 +1,24 @@
1
1
  # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
2
  """Client and server classes corresponding to protobuf-defined services."""
3
3
  import grpc
4
+ import warnings
4
5
 
6
+
7
+ GRPC_GENERATED_VERSION = '1.71.0'
8
+ GRPC_VERSION = grpc.__version__
9
+ _version_not_supported = False
10
+
11
+ try:
12
+ from grpc._utilities import first_version_is_lower
13
+ _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
14
+ except ImportError:
15
+ _version_not_supported = True
16
+
17
+ if _version_not_supported:
18
+ raise RuntimeError(
19
+ f'The grpc package installed is at version {GRPC_VERSION},'
20
+ + f' but the generated code in android_env/proto/adb_pb2_grpc.py depends on'
21
+ + f' grpcio>={GRPC_GENERATED_VERSION}.'
22
+ + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
23
+ + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
24
+ )