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
@@ -1,5 +1,5 @@
1
1
  # coding=utf-8
2
- # Copyright 2022 DeepMind Technologies Limited.
2
+ # Copyright 2024 DeepMind Technologies Limited.
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -18,7 +18,7 @@
18
18
  from unittest import mock
19
19
 
20
20
  from absl.testing import absltest
21
- from android_env import environment
21
+ from android_env import env_interface
22
22
  from android_env.components import action_type
23
23
  from android_env.wrappers import tap_action_wrapper
24
24
  import dm_env
@@ -26,9 +26,6 @@ from dm_env import specs
26
26
  import numpy as np
27
27
 
28
28
 
29
- ActionType = action_type.ActionType
30
-
31
-
32
29
  def _make_array_spec(shape, dtype, name):
33
30
  return specs.BoundedArray(
34
31
  name=name,
@@ -49,15 +46,15 @@ class TapActionWrapperTest(absltest.TestCase):
49
46
  'touch_position': _make_array_spec(
50
47
  shape=(2,), dtype=np.float32, name='touch_position'),
51
48
  }
52
- self.base_env = mock.create_autospec(environment.AndroidEnv)
49
+ self.base_env = mock.create_autospec(env_interface.AndroidEnvInterface)
53
50
  self.base_env.action_spec.return_value = self._base_action_spec
54
51
 
55
52
  def test_process_action_repeat(self):
56
53
  wrapped_env = tap_action_wrapper.TapActionWrapper(
57
54
  self.base_env, num_frames=3)
58
55
  action = {
59
- 'action_type': np.array(ActionType.REPEAT, dtype=np.int32),
60
- 'touch_position': np.array([0.5, 0.5], dtype=np.float32)
56
+ 'action_type': np.array(action_type.ActionType.REPEAT, dtype=np.int32),
57
+ 'touch_position': np.array([0.5, 0.5], dtype=np.float32),
61
58
  }
62
59
  actions = wrapped_env._process_action(action)
63
60
  self.assertLen(actions, wrapped_env._num_frames + 1)
@@ -67,8 +64,8 @@ class TapActionWrapperTest(absltest.TestCase):
67
64
  wrapped_env = tap_action_wrapper.TapActionWrapper(
68
65
  self.base_env, num_frames=3)
69
66
  action = {
70
- 'action_type': np.array(ActionType.LIFT, dtype=np.int32),
71
- 'touch_position': np.array([0.5, 0.5], dtype=np.float32)
67
+ 'action_type': np.array(action_type.ActionType.LIFT, dtype=np.int32),
68
+ 'touch_position': np.array([0.5, 0.5], dtype=np.float32),
72
69
  }
73
70
  actions = wrapped_env._process_action(action)
74
71
  self.assertLen(actions, wrapped_env._num_frames + 1)
@@ -78,12 +75,14 @@ class TapActionWrapperTest(absltest.TestCase):
78
75
  wrapped_env = tap_action_wrapper.TapActionWrapper(
79
76
  self.base_env, num_frames=3)
80
77
  action = {
81
- 'action_type': np.array(ActionType.TOUCH, dtype=np.int32),
82
- 'touch_position': np.array([0.5, 0.5], dtype=np.float32)
78
+ 'action_type': np.array(action_type.ActionType.TOUCH, dtype=np.int32),
79
+ 'touch_position': np.array([0.5, 0.5], dtype=np.float32),
83
80
  }
84
81
  actions = wrapped_env._process_action(action)
85
82
  self.assertLen(actions, wrapped_env._num_frames + 1)
86
- self.assertEqual(actions[-1]['action_type'], np.array(ActionType.LIFT))
83
+ self.assertEqual(
84
+ actions[-1]['action_type'], np.array(action_type.ActionType.LIFT)
85
+ )
87
86
 
88
87
  def test_reset(self):
89
88
  wrapped_env = tap_action_wrapper.TapActionWrapper(
@@ -95,6 +94,7 @@ class TapActionWrapperTest(absltest.TestCase):
95
94
  self.assertEqual(fake_timestep, ts)
96
95
 
97
96
  def test_step(self):
97
+ # Arrange.
98
98
  wrapped_env = tap_action_wrapper.TapActionWrapper(
99
99
  self.base_env, num_frames=5)
100
100
  fake_timestep = dm_env.TimeStep(
@@ -103,13 +103,21 @@ class TapActionWrapperTest(absltest.TestCase):
103
103
  discount=1.0,
104
104
  observation='fake_obs')
105
105
  self.base_env.step.return_value = fake_timestep
106
+ self.base_env.stats.return_value = {}
107
+
108
+ # Act.
106
109
  ts = wrapped_env.step({
107
- 'action_type': np.array(ActionType.REPEAT, dtype=np.int32),
108
- 'touch_position': np.array([0.5, 0.5], dtype=np.float32)
110
+ 'action_type': np.array(action_type.ActionType.REPEAT, dtype=np.int32),
111
+ 'touch_position': np.array([0.5, 0.5], dtype=np.float32),
109
112
  })
113
+ stats = wrapped_env.stats()
114
+
115
+ # Assert.
110
116
  self.assertEqual(wrapped_env._num_frames+1, self.base_env.step.call_count)
111
117
  self.assertIsInstance(ts, dm_env.TimeStep)
112
- self.assertEqual(wrapped_env._env_steps, 6)
118
+ self.assertIsInstance(stats, dict)
119
+ self.assertIn('env_steps', stats)
120
+ self.assertEqual(stats['env_steps'], 6)
113
121
 
114
122
  def test_observation_spec(self):
115
123
  wrapped_env = tap_action_wrapper.TapActionWrapper(
@@ -129,5 +137,32 @@ class TapActionWrapperTest(absltest.TestCase):
129
137
  self.assertEqual(self.base_env.action_spec(),
130
138
  action_spec)
131
139
 
140
+ def test_stats(self):
141
+ """Checks that returned stats have expected properties."""
142
+
143
+ # Arrange.
144
+ self.base_env.stats.return_value = {
145
+ 'some_key': 12345,
146
+ 'another_key': 5.4321,
147
+ }
148
+ wrapped_env = tap_action_wrapper.TapActionWrapper(
149
+ self.base_env, num_frames=5
150
+ )
151
+
152
+ # Act.
153
+ stats = wrapped_env.stats()
154
+
155
+ # Assert.
156
+ self.assertIsInstance(stats, dict)
157
+ # Original entries should still be present.
158
+ self.assertIn('some_key', stats)
159
+ self.assertEqual(stats['some_key'], 12345)
160
+ self.assertIn('another_key', stats)
161
+ self.assertEqual(stats['another_key'], 5.4321)
162
+ # TapActionWrapper inserts its own `env_steps`.
163
+ self.assertIn('env_steps', stats)
164
+ self.assertEqual(stats['env_steps'], 0)
165
+
166
+
132
167
  if __name__ == '__main__':
133
168
  absltest.main()
@@ -1,8 +1,7 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: android-env
3
- Version: 1.2.1
3
+ Version: 1.2.3
4
4
  Summary: AndroidEnv environment and library for training agents.
5
- Home-page: https://github.com/deepmind/android_env
6
5
  Author: DeepMind
7
6
  License:
8
7
  Apache License
@@ -213,24 +212,21 @@ Keywords: Android,OS,reinforcement-learning
213
212
  Requires-Python: >=3.10
214
213
  Description-Content-Type: text/plain
215
214
  License-File: LICENSE
216
- Requires-Dist: absl-py (>=0.1.0)
217
- Requires-Dist: dm-env
215
+ Requires-Dist: absl-py>=0.1.0
216
+ Requires-Dist: dm_env
218
217
  Requires-Dist: grpcio
219
- Requires-Dist: numpy (>=1.21)
220
- Requires-Dist: portpicker (>=1.2.0)
221
- Requires-Dist: protobuf (>=2.6)
218
+ Requires-Dist: numpy>=1.21
219
+ Requires-Dist: portpicker>=1.2.0
220
+ Requires-Dist: protobuf>=2.6
222
221
  Requires-Dist: pygame
222
+ Provides-Extra: testing
223
+ Requires-Dist: gym; extra == "testing"
224
+ Requires-Dist: pillow; extra == "testing"
225
+ Requires-Dist: pytype; extra == "testing"
223
226
  Provides-Extra: acme
224
- Requires-Dist: dm-acme ; extra == 'acme'
225
- Provides-Extra: attrs
226
- Requires-Dist: attrs (==20.3.0) ; extra == 'attrs'
227
+ Requires-Dist: dm-acme; extra == "acme"
227
228
  Provides-Extra: gym
228
- Requires-Dist: gym ; extra == 'gym'
229
- Provides-Extra: pillow
230
- Requires-Dist: pillow ; extra == 'pillow'
231
- Provides-Extra: pytest
232
- Requires-Dist: pytest-xdist ; extra == 'pytest'
233
- Provides-Extra: pytype
234
- Requires-Dist: pytype ; extra == 'pytype'
229
+ Requires-Dist: gym; extra == "gym"
230
+ Dynamic: license-file
235
231
 
236
232
  Read the README at https://github.com/deepmind/android_env for more information.
@@ -0,0 +1,141 @@
1
+ android_env/__init__.py,sha256=STSmCEY-QvdoAUc5koA0DGqLp_yEpeC6dTVP6HcivFM,610
2
+ android_env/env_interface.py,sha256=sf1QrhVp9RF2oh5_yp3d1yAqUUzUJWgpmTRzMFRgC9c,3281
3
+ android_env/environment.py,sha256=GAVlbFeRjkgnqg-f5OIocxgAFWCwCiGTX0VbP_WFxd0,6173
4
+ android_env/environment_test.py,sha256=UShR-3E2-PVvUA9SkrBGLB6HQaUlWzA_cp3Aqs196uQ,10865
5
+ android_env/loader.py,sha256=KsgWqXGjM8CHpnnkp0OY_MufYuRZoi3z2wBTEkKIHWE,3203
6
+ android_env/loader_test.py,sha256=MQ4VUJpsFdhHT78wfx14fvQcmhugHp-8S49b3cyxAik,6389
7
+ android_env/components/__init__.py,sha256=STSmCEY-QvdoAUc5koA0DGqLp_yEpeC6dTVP6HcivFM,610
8
+ android_env/components/action_fns.py,sha256=b63Me3iHTOsuzRAqDFezBQz-hxwamk65yv9UUc5H0lc,4937
9
+ android_env/components/action_fns_test.py,sha256=G3puMCFvd5MjFekuAJkVl1bJEmjyvpwJ1sLj1Q5MYW8,6383
10
+ android_env/components/action_type.py,sha256=c8xUijaFXr-2w0ySTxUKfgRGfig-Pla_FHq-gQFHIBg,1699
11
+ android_env/components/adb_call_parser.py,sha256=E51uUwivcRLrtX9tWZSUrTwq2h6YV1i9CArQa_x3cjA,31567
12
+ android_env/components/adb_call_parser_test.py,sha256=TNhV7iqMBcymWsp5VIskb0BiiZTJEoniX_BTzyeEqHc,53188
13
+ android_env/components/adb_controller.py,sha256=x-4Pllec_YfVYKCJIy89qc5-74Jss5ruEVexAh-VKYY,5448
14
+ android_env/components/adb_controller_test.py,sha256=DSDQD56dQKZyh71PiErwFsQJJZgt201z0JyqWub07M0,7619
15
+ android_env/components/adb_log_stream.py,sha256=Q3k2GvUNRo1U5ZNpZIsUw7rhuap0UTJDD0wnV5GHC4U,2071
16
+ android_env/components/adb_log_stream_test.py,sha256=r5UAxFIQtBFGN8ZnMUxcx_ggYwFmANt_SxhmfXTauxU,2028
17
+ android_env/components/app_screen_checker.py,sha256=cK1t3CIP78WReUgVmvzkhMKyucUXxn7r7uodftJlN0Q,9629
18
+ android_env/components/app_screen_checker_test.py,sha256=DTQ8zDTr4XAz5U2mkZtovXflmuomR9piK1zPAiTcSIc,7608
19
+ android_env/components/config_classes.py,sha256=KkhpcFewaXuEgRVn8yYvH6MZDQYeCeTLFUgtJ63ZmFM,7108
20
+ android_env/components/coordinator.py,sha256=2xkv_ORC4cE5s-JKuG6JVmAZpuDpIb-KZzIFN-IUwdk,9604
21
+ android_env/components/coordinator_test.py,sha256=6FFKK4QOfgjZfifcUQEbyNc4wpxKtUV0l6VPZASJJXk,11302
22
+ android_env/components/device_settings.py,sha256=ER3ujCFkDErI5hV2iuAgxbI254JlI8VDXfDZrDgC6j4,6341
23
+ android_env/components/device_settings_test.py,sha256=nYjWSvv6dAP_sb6bXXrqPFm7o9aHFrIVzhHP5z5P5tk,7452
24
+ android_env/components/dumpsys_thread.py,sha256=8YtWBKhQuiWjiEfLvRexOgaNdkGOqiY8R_zvek_0-Bc,4696
25
+ android_env/components/dumpsys_thread_test.py,sha256=JcXSzUbdB62vMXzjuyut-hd87j8Dal0gcL9k8Rwv8eM,3866
26
+ android_env/components/errors.py,sha256=KX8JMZ2Y7X6OwRjt3AoQVlKb22Lrj2VJGIIunP8YYPc,2509
27
+ android_env/components/errors_test.py,sha256=LAalczNguB9oMcwh3ygFtZUc18PpXw6kjBOWfBwSH5g,3952
28
+ android_env/components/log_stream.py,sha256=jqL8MEPK6gQbD_VWebtptBH2tQP51iCp8WuZFhynAyQ,2096
29
+ android_env/components/log_stream_test.py,sha256=WG8krCYVqZfPrvOt4ExWe_zspOBe8FR-RF0Z9HTbAgs,3494
30
+ android_env/components/logcat_thread.py,sha256=6Ai1PvGwHYGrcxcYyzBAgiu1leu5-MkDYNlab3NosKg,4610
31
+ android_env/components/logcat_thread_test.py,sha256=lvrDmYaclIy8tCcSqSbOVYLYXsuFpZpkm6ghWy-OmCc,4261
32
+ android_env/components/pixel_fns.py,sha256=-JT25nVIKA9C73DGA7Gp8Dk0J7gDANKTIN_WFCdpU1E,2417
33
+ android_env/components/pixel_fns_test.py,sha256=pBVn6BjPwIoQ604e4WnrTtBmiZ_WwnuGS9jHs0OUwI4,3924
34
+ android_env/components/setup_step_interpreter.py,sha256=caiLotXKGskOI7c1TNE4QvAHlbHYM3SDLAWmnUe-Itg,6601
35
+ android_env/components/setup_step_interpreter_test.py,sha256=V-5pvWf8GQPf1wJyEg35Zb-ptGfZr0x7zWyOxofOK0g,11746
36
+ android_env/components/specs.py,sha256=wZHl0mnbKZuvF7CbsIzXVm5U6X4shEsaZVOTZOHmWgA,4965
37
+ android_env/components/specs_test.py,sha256=rlfGnBFKd1GrtHV2sUw5AdLje7JT3kEmgOviH-DW1n8,3721
38
+ android_env/components/task_manager.py,sha256=kC6Rgvw11wEbNta-zLFBYymvhbWibP5KSaUKtwEgXiM,13034
39
+ android_env/components/task_manager_test.py,sha256=2irqfi4lWeYNr5k1gjjEBRprsLOONWc_LvVr9ELsKmA,17040
40
+ android_env/components/a11y/__init__.py,sha256=STSmCEY-QvdoAUc5koA0DGqLp_yEpeC6dTVP6HcivFM,610
41
+ android_env/components/a11y/a11y_events.py,sha256=89RzbGxxEAFzKC4dMyXtnoXJ_InO0nf4QjlXRR9Ul50,3614
42
+ android_env/components/a11y/a11y_events_test.py,sha256=2rAXWIQTSvJp-SnJHyVKm0njEj6xoStu7yUSRnrRu8U,5773
43
+ android_env/components/a11y/a11y_forests.py,sha256=13yY3UqaP_Hp3juweRZJbYpwrpnX8EDtkTISJKNeDiQ,3938
44
+ android_env/components/a11y/a11y_forests_test.py,sha256=vAN35Z0OJDhpGPZV1aoFuQLOZqHXSEBB4nv6jpaI0-4,7440
45
+ android_env/components/a11y/a11y_servicer.py,sha256=3ieN92t2H7NWpBM8IJzznlXMnaqvY6bDhM88bdZNewM,6658
46
+ android_env/components/a11y/a11y_servicer_test.py,sha256=Di7mq595G1OfBrWEzLK4NzNhX5pWaWHFWGDLlfON6Lo,7548
47
+ android_env/components/simulators/__init__.py,sha256=STSmCEY-QvdoAUc5koA0DGqLp_yEpeC6dTVP6HcivFM,610
48
+ android_env/components/simulators/base_simulator.py,sha256=PDn-MhvA8qupVT-zEMOgsUtCpTXUvwHGnkFZevzJze0,6900
49
+ android_env/components/simulators/base_simulator_test.py,sha256=Vr72YAG9HvD2LuIrfU0EAZnwOMK_QkxKvDh_4i1-OvI,5805
50
+ android_env/components/simulators/emulator/__init__.py,sha256=STSmCEY-QvdoAUc5koA0DGqLp_yEpeC6dTVP6HcivFM,610
51
+ android_env/components/simulators/emulator/emulator_launcher.py,sha256=7ifM-y11nbKS5UI1_etmHFfU8MuCvqLe2ZmV9UeBYDo,5460
52
+ android_env/components/simulators/emulator/emulator_launcher_test.py,sha256=iC3OZQGfzmsyngj2TPsYG5q1geCslyVNRvLOSkrf2nk,9595
53
+ android_env/components/simulators/emulator/emulator_simulator.py,sha256=Z4RJqzjEno3_uG_v9BysHGY3YCmXylAWTLaarOgoT7Q,17923
54
+ android_env/components/simulators/emulator/emulator_simulator_test.py,sha256=k5pLaPP6iqa5lvroNeaaxEmwLocA6v1XfIk2xJwCh6c,19908
55
+ android_env/components/simulators/fake/__init__.py,sha256=STSmCEY-QvdoAUc5koA0DGqLp_yEpeC6dTVP6HcivFM,610
56
+ android_env/components/simulators/fake/fake_simulator.py,sha256=SFw3zqg1Oz93IslPmRX9zZt2ft5UG5YT2c5orrmvl_4,4054
57
+ android_env/components/simulators/fake/fake_simulator_test.py,sha256=9MgyHY3UR2nvMHbYDq7RHhshNAwxFQOPORjJzNVWmSM,4233
58
+ android_env/proto/__init__.py,sha256=STSmCEY-QvdoAUc5koA0DGqLp_yEpeC6dTVP6HcivFM,610
59
+ android_env/proto/adb.proto,sha256=X_bolmXFijvIUg35PZ9bRFO3uQcMSYmpSRZLOcbchME,12454
60
+ android_env/proto/adb_pb2.py,sha256=V6OeeFev80FhYa5mORXUqPhP-dlRsbSGnT49BhqUCBg,16377
61
+ android_env/proto/adb_pb2.pyi,sha256=xUfwBUMqCgflI9CSMRNLNLipuVMPfY0sFxFtmnF6Z6Q,23055
62
+ android_env/proto/adb_pb2_grpc.py,sha256=vNVM-8YU-feIb30l4zK-PaX6TJxrRp3YmoXzjVbPQ6Y,902
63
+ android_env/proto/emulator_controller.proto,sha256=QoeqjpDXDzle60xJMd_fjJ7_Dcrd1Uh8GYflv1VgshY,41030
64
+ android_env/proto/emulator_controller_pb2.py,sha256=MN5I__xYyt2PkTJt0Y4SmC7WZPnWwdnHCep0fsH1rPI,24048
65
+ android_env/proto/emulator_controller_pb2.pyi,sha256=vTj4iPcHqd_mmjyP0Wq4UVC5sK-qNLmLOWaB9cE1APM,31365
66
+ android_env/proto/emulator_controller_pb2_grpc.py,sha256=N5dN7MyuPb1KrSUOD2OXW8nYR7Zj-BxppBDmSAcfZs8,73650
67
+ android_env/proto/snapshot.proto,sha256=Dp8XpxB4awCp7HKYTt3oxmDE7JQXo8dZf8Ajiev-xSw,5616
68
+ android_env/proto/snapshot_pb2.py,sha256=nnAYeB8hooQ1wCDS7gnclwpUxbBh6tvP_AuwLjrPNxo,4009
69
+ android_env/proto/snapshot_pb2.pyi,sha256=PKJfFw-T1oqlbOa9BkOyhQROJKpyQBdeI2WduqN7i1c,6107
70
+ android_env/proto/snapshot_pb2_grpc.py,sha256=77YRyiSHafu3fZOve3TTMrFOPFs9U3RkWKDuML-zq9g,907
71
+ android_env/proto/snapshot_service.proto,sha256=3rYywqKmqeRHb05GKloExKmMtRoHj6CPKuvmBKIt1xo,11893
72
+ android_env/proto/snapshot_service_pb2.py,sha256=vVAlMl_koqX3NL0nOWRTsEWzizWhDMGMCXte-iq0ICo,4850
73
+ android_env/proto/snapshot_service_pb2.pyi,sha256=bVvTjdZ23z3hgTKzWEDpRGfLrUOY1BJt9bP23GBFQq4,4136
74
+ android_env/proto/snapshot_service_pb2_grpc.py,sha256=YtSqIlH2MQjfK5GC_AVs-SLYgCPud8k8KWl9HNmWp_s,21907
75
+ android_env/proto/state.proto,sha256=Gt2005Tjjwh85CSEev4PuCk-aLkSeNs45EqU26_ocXY,1835
76
+ android_env/proto/state_pb2.py,sha256=HvD1GwE8gSqCw6VDeDMs2LOZzqvbhn2ho1thPqYHaVo,4487
77
+ android_env/proto/state_pb2.pyi,sha256=hYPYNpE4buR3rseWE-hV64uxPaQv4AUn-SmB1ZqrCRI,3927
78
+ android_env/proto/state_pb2_grpc.py,sha256=Pk53-e6OuAxN91WhKy-79wqAulyvqL2O4e6oAdfmlX4,904
79
+ android_env/proto/task.proto,sha256=I2VJHDURrzJda2BxUd6uk2RZCi91Hgmlwlud_B0uUng,6712
80
+ android_env/proto/task_pb2.py,sha256=-Iddr4eCppqNdqnXZFL8LdzaG14jc5JQkmMuwheJe_A,5376
81
+ android_env/proto/task_pb2.pyi,sha256=YZU0Lfn1xYLFqw7jB0TIvIAy055WwrJQ1gIQZm4O6k4,8345
82
+ android_env/proto/task_pb2_grpc.py,sha256=4EEVufu48sWUcYW64keFRioRzy6RUTNQmghX-mDm1fg,903
83
+ android_env/proto/a11y/__init__.py,sha256=STSmCEY-QvdoAUc5koA0DGqLp_yEpeC6dTVP6HcivFM,610
84
+ android_env/proto/a11y/a11y.proto,sha256=2uzZorYfySBnjFbV6tzFLLgPvUPHv5ooQzo6_ydrRTo,2333
85
+ android_env/proto/a11y/a11y_pb2.py,sha256=FfBb2UCdf4Ns-nyrASdsQHeFSOuntmw2cWIkYUN00tA,3611
86
+ android_env/proto/a11y/a11y_pb2.pyi,sha256=pNKW7nlq7xrbQvM1l1R449Z6OoAh7vX5DfBtsaJjdjM,2137
87
+ android_env/proto/a11y/a11y_pb2_grpc.py,sha256=Iob7YQkSFhiNR4Jil_yBKmV5XfppmiffULJN3R0OoU4,8276
88
+ android_env/proto/a11y/android_accessibility_action.proto,sha256=x9R6NPuzmFsBNsGuwEGamIZoCelz2tUq39ARo-JxvZk,1190
89
+ android_env/proto/a11y/android_accessibility_action_pb2.py,sha256=aQnLzQbTdvwjlpomtlyVqyFmYQBd9G-vzgJrIZ-dHUc,1695
90
+ android_env/proto/a11y/android_accessibility_action_pb2.pyi,sha256=eCqPILKFXbQuc5-XN4rZHn6fT96uTqqSiJGLncrJMqQ,484
91
+ android_env/proto/a11y/android_accessibility_action_pb2_grpc.py,sha256=jsm3D_Q-1tkCbzNSOmabw6dxLYhgFzBiM57ULqG5MI0,932
92
+ android_env/proto/a11y/android_accessibility_forest.proto,sha256=ndfo6LXDujTpg5_-fGfjH4Fo0FxuCkWNak9-LOFxGJ4,1066
93
+ android_env/proto/a11y/android_accessibility_forest_pb2.py,sha256=3_8bMxHV9m8myMzYFly8Uh-cjd5GZqFBYw2j5GYQ__M,1936
94
+ android_env/proto/a11y/android_accessibility_forest_pb2.pyi,sha256=INgwTrlo5K9qjZL2sPm4UhQZRxIZG58YwDYy80GqE7M,858
95
+ android_env/proto/a11y/android_accessibility_forest_pb2_grpc.py,sha256=Vo1oBvCj5tAQdyjAwvPEVB0SA4P9N09Q-3R07WDWXDE,932
96
+ android_env/proto/a11y/android_accessibility_node_info.proto,sha256=7hdrPIJBp6WvYulP319hwR00gAYVVwMvxjBEjNuXvwQ,3618
97
+ android_env/proto/a11y/android_accessibility_node_info_clickable_span.proto,sha256=ICeo96jzLDNxeHu09zY7jOqGl1BBkJjSdmsH1hBX6w0,1722
98
+ android_env/proto/a11y/android_accessibility_node_info_clickable_span_pb2.py,sha256=8DwC8Y4mVSJlqbtl8Zbx7N72TvgKsTYPvupqvLAzQi4,2302
99
+ android_env/proto/a11y/android_accessibility_node_info_clickable_span_pb2.pyi,sha256=Eol3Jq_R0G1J5eY1fyCow3hpv1ACHFN7W2CHH-XyObk,1557
100
+ android_env/proto/a11y/android_accessibility_node_info_clickable_span_pb2_grpc.py,sha256=KwVLwbIm5h7eGr3UCKcpHv7MB6E18ZXRZtwe86MTP30,950
101
+ android_env/proto/a11y/android_accessibility_node_info_pb2.py,sha256=84kBRrPAM_rAcBDO7I_miVBnQ8npKzVa5YeFDOg_kME,3961
102
+ android_env/proto/a11y/android_accessibility_node_info_pb2.pyi,sha256=jATqnzb0aTVWMZ0ceKsvUtepbeXJyTP6RsXAZhvtYz4,4930
103
+ android_env/proto/a11y/android_accessibility_node_info_pb2_grpc.py,sha256=OPo7LYv2LLp-7OQgfRlF9qWDG9DqG0Pxz891GWcftds,935
104
+ android_env/proto/a11y/android_accessibility_tree.proto,sha256=YNys9Lftm3_ZX8UBX85plkUrBX0yZF4aUG8Z4AxMsME,1071
105
+ android_env/proto/a11y/android_accessibility_tree_pb2.py,sha256=Y_vvNXzgeJVS5XYO2sDFXvuqMyhr6kvobupsonZuiEc,1915
106
+ android_env/proto/a11y/android_accessibility_tree_pb2.pyi,sha256=7ZhU0BPVuNDwA64UUqWiiPdCZna9-I-YtW5hDDpscNA,836
107
+ android_env/proto/a11y/android_accessibility_tree_pb2_grpc.py,sha256=ovpm72_3bzQElmlScPRhJbyWGxD9tZAxXCHqENxkkYA,930
108
+ android_env/proto/a11y/android_accessibility_window_info.proto,sha256=Y-_FwKQka-bqZaO0nN-4oJb36LMeekusgszTrprcFTE,2477
109
+ android_env/proto/a11y/android_accessibility_window_info_pb2.py,sha256=UPc74LsheQLpdwMaUa4aaKu9FK4S-rlsA9Pw0bbTbjc,3018
110
+ android_env/proto/a11y/android_accessibility_window_info_pb2.pyi,sha256=vMpxVDxPXR6KGfUuSkaCnd75j-7j2bQ0XjO19s8WFyM,3084
111
+ android_env/proto/a11y/android_accessibility_window_info_pb2_grpc.py,sha256=bMBhD2lRfQgmfTLBMGLeUdGgnGNdDWWRvLAzj9nGEFk,937
112
+ android_env/proto/a11y/rect.proto,sha256=0mFNLBVLRqTNMAhrOBYxkkfkjzPpjK8esSub6_tEXYo,975
113
+ android_env/proto/a11y/rect_pb2.py,sha256=k-8jdpIqIhr9ngTuH-oMMIT-Ga_r6i8I-9Xl_iAVv4o,1631
114
+ android_env/proto/a11y/rect_pb2.pyi,sha256=xWZM1AkZDX06weCFHnx518IDRdOvFPzYNKdFfXRsi7s,655
115
+ android_env/proto/a11y/rect_pb2_grpc.py,sha256=qrUg3Vf4_8SWt4jfQCBnsH-_rEc-ocm1Si9XoR_vFXI,908
116
+ android_env/wrappers/__init__.py,sha256=STSmCEY-QvdoAUc5koA0DGqLp_yEpeC6dTVP6HcivFM,610
117
+ android_env/wrappers/a11y_grpc_wrapper.py,sha256=L-xi9zSh4ZA3bFctuZVR-EnV1dQ2butO3K2DQM1e_II,18756
118
+ android_env/wrappers/a11y_grpc_wrapper_test.py,sha256=esVoEi2xF0VyJ5hHTpgE4AEHxfphieHSfiKM39vqBKE,31569
119
+ android_env/wrappers/base_wrapper.py,sha256=dk8BXr2j-zCMKzEbTH1jAp0OAbbRClmjWX2ITJCyjwk,3555
120
+ android_env/wrappers/base_wrapper_test.py,sha256=N7zlHzs_taSLcfsH3baAUyzijjtY3ISY1PbZXddkCWA,5517
121
+ android_env/wrappers/discrete_action_wrapper.py,sha256=PbkxWAAcyGhmwtfeXI4TCjvJdsuNxONYgqeKYRfP364,5832
122
+ android_env/wrappers/discrete_action_wrapper_test.py,sha256=vpMdLN1RbG28-m7u88X4KNV2suvXofmk6WpdMheGyGQ,14387
123
+ android_env/wrappers/flat_interface_wrapper.py,sha256=vovk3b58e9tefxyNCyQCoHPNeoCIonpr_fGnfEzHrNc,4296
124
+ android_env/wrappers/flat_interface_wrapper_test.py,sha256=8x1PEY7oRc2OejgbhjpnZTDC5LcR6ruVgMYZSpv__e8,6126
125
+ android_env/wrappers/float_pixels_wrapper.py,sha256=1qEZjlmwNRTmyjQlWaUv2CGKYNqyhZLA5zVKYgyEmBk,2538
126
+ android_env/wrappers/float_pixels_wrapper_test.py,sha256=svGGOJxN-eTYHcxcBQCIEr7jkFgt-8Va2bIBLRFUg6Q,5312
127
+ android_env/wrappers/gym_wrapper.py,sha256=rfA3xPcaqT4gkz4nlOlGMUR1Vp__VJksF1cQTTgS5u4,3077
128
+ android_env/wrappers/gym_wrapper_test.py,sha256=vmOeQWuRy9cRnN73c7Nfix2UOlp-Pzge4GX6NKjzqVU,3949
129
+ android_env/wrappers/image_rescale_wrapper.py,sha256=qu7mS_VQDiRme5YQrM2V9sPdOCgS-Py-SZaH_EJznpE,4118
130
+ android_env/wrappers/image_rescale_wrapper_test.py,sha256=5vMtQlWMhp-48DVR-m_H-6oSjttxN1q5bzD_hOsT7wA,3931
131
+ android_env/wrappers/last_action_wrapper.py,sha256=s2Vc3x3jZFkF4VSl6b-Q2AdDywUWNo2afBvb9oVhp2o,4528
132
+ android_env/wrappers/last_action_wrapper_test.py,sha256=Tp6ZBwFo8anASs8PsDMyRcQGa1q7x9E4ajHpdkFVL5U,6346
133
+ android_env/wrappers/rate_limit_wrapper.py,sha256=B6zt04ZGhwn8mLFDRSApUB9uyxuQ_9LzzIOCdCXMuzQ,4197
134
+ android_env/wrappers/rate_limit_wrapper_test.py,sha256=aL49NZhes18I1oFlwaFxK3aalmA7zKaAhh7vwzdWcSs,8940
135
+ android_env/wrappers/tap_action_wrapper.py,sha256=WewkSiy-vSItJiDWIA3OpPi9cBmOWL9jeUQ61eDe01Y,3539
136
+ android_env/wrappers/tap_action_wrapper_test.py,sha256=vzBlifHHqE2dc58Wf-UjZaWW5mlsqxIrstL8UPqMCy4,5721
137
+ android_env-1.2.3.dist-info/licenses/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
138
+ android_env-1.2.3.dist-info/METADATA,sha256=xxLbZp1C7OLKDKmoBPvOalgP4Q79dac5x04tx_svBFc,14014
139
+ android_env-1.2.3.dist-info/WHEEL,sha256=lTU6B6eIfYoiQJTZNc-fyaR6BpL6ehTzU3xGYxn2n8k,91
140
+ android_env-1.2.3.dist-info/top_level.txt,sha256=Sbph_-u1WEUaKYO2iaD4Rh-9OtWJUl1mSJPhcSeJJp8,12
141
+ android_env-1.2.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.40.0)
2
+ Generator: setuptools (78.1.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,39 +0,0 @@
1
- // Copyright 2022 DeepMind Technologies Limited.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- syntax = "proto3";
16
-
17
- package android_env;
18
-
19
- // A reinforcement learning (RL) observation which agents can use to build their
20
- // internal state. This comes straight from the Android Emulator.
21
- message RawObservation {
22
- // The moment this RawObservation was generated.
23
- int64 timestamp_us = 1;
24
-
25
- // A visual image represented as pixels.
26
- message Image {
27
- // The width in pixels of this image.
28
- int32 width = 1;
29
- // The height in pixels of this image.
30
- int32 height = 2;
31
- // The number of channels (e.g. 3 in RGB) per pixel.
32
- int32 num_channels = 3;
33
- // The binary data associated with this image.
34
- bytes data = 4;
35
- }
36
-
37
- // The screenshot representing this raw observation.
38
- Image screen = 2;
39
- }
@@ -1,27 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # source: android_env/proto/raw_observation.proto
4
- """Generated protocol buffer code."""
5
- from google.protobuf.internal import builder as _builder
6
- from google.protobuf import descriptor as _descriptor
7
- from google.protobuf import descriptor_pool as _descriptor_pool
8
- from google.protobuf import symbol_database as _symbol_database
9
- # @@protoc_insertion_point(imports)
10
-
11
- _sym_db = _symbol_database.Default()
12
-
13
-
14
-
15
-
16
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'android_env/proto/raw_observation.proto\x12\x0b\x61ndroid_env\"\xa5\x01\n\x0eRawObservation\x12\x14\n\x0ctimestamp_us\x18\x01 \x01(\x03\x12\x31\n\x06screen\x18\x02 \x01(\x0b\x32!.android_env.RawObservation.Image\x1aJ\n\x05Image\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\x14\n\x0cnum_channels\x18\x03 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x62\x06proto3')
17
-
18
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
19
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'android_env.proto.raw_observation_pb2', globals())
20
- if _descriptor._USE_C_DESCRIPTORS == False:
21
-
22
- DESCRIPTOR._options = None
23
- _RAWOBSERVATION._serialized_start=57
24
- _RAWOBSERVATION._serialized_end=222
25
- _RAWOBSERVATION_IMAGE._serialized_start=148
26
- _RAWOBSERVATION_IMAGE._serialized_end=222
27
- # @@protoc_insertion_point(module_scope)
@@ -1,4 +0,0 @@
1
- # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
- """Client and server classes corresponding to protobuf-defined services."""
3
- import grpc
4
-
@@ -1,81 +0,0 @@
1
- android_env/__init__.py,sha256=sHhKqO0SVyPNM0FQNXTajuPOLOXvkbe5tcERMUfk74g,610
2
- android_env/env_interface.py,sha256=6ZE20NQzSafTLZHdIPOGyC71EJJcPDknm1okoaotqqA,2879
3
- android_env/environment.py,sha256=cIq3daIi2Y0VkGVowClYY25VKD2fl0Qa1Zc0nWqD1Is,5296
4
- android_env/environment_test.py,sha256=9yEocHhMGQgeyJq4bjb7iabpAgTv43Lt-80GgnA3Sn0,8949
5
- android_env/loader.py,sha256=ktjeVPNbrLwpgQVEZPy3SzJ35pSg8GIFvRdzgn5zoeM,2682
6
- android_env/loader_test.py,sha256=N5GMxx4SCdUjdtxONI19gQtwik5r8f9EWzDe-dmR1DE,3565
7
- android_env/components/__init__.py,sha256=sHhKqO0SVyPNM0FQNXTajuPOLOXvkbe5tcERMUfk74g,610
8
- android_env/components/action_type.py,sha256=kdW7PvkI_paAjYtofgcg2jN1Poj6oJm40rX4bknpPQ4,882
9
- android_env/components/adb_call_parser.py,sha256=5x5F6y0_6AcH7fQ0AdXLSzE-ElSBlaFnMUQ8MXPDwvQ,31189
10
- android_env/components/adb_call_parser_test.py,sha256=JlDv4kg6MhvnY7otjXb79BL3Ji3v99vfPox7luxHOvY,55184
11
- android_env/components/adb_controller.py,sha256=FesLe3IPLSw_9Leyf42cmbHJU52RRJUdH2SDlHV1dtM,4116
12
- android_env/components/adb_controller_test.py,sha256=SGkEtaavMlZy-GIVJhK71BF1omfxJJyBcfzB4P_oFlY,2160
13
- android_env/components/adb_log_stream.py,sha256=vydV1ilklHdnmhFvXinVIJ_pBRa8cK482AsmqfZgPW0,1462
14
- android_env/components/adb_log_stream_test.py,sha256=58ySTJRAGOlmDle-Nsaa00PN44c39rjaZIj9EGrvhrU,1574
15
- android_env/components/app_screen_checker.py,sha256=wfxnclT7OsCOfumOODCdkIlKiaxCqlXjXzLgV9oH3Pw,9714
16
- android_env/components/app_screen_checker_test.py,sha256=cToiOr-qbO7V5qMIT3hLfPInROpJxixHTAJqEUngjdg,7664
17
- android_env/components/coordinator.py,sha256=1wCLe8sJrxsRmmEzpy_TypJE4jmvw6tCGbBVKy2Vtg8,20069
18
- android_env/components/coordinator_test.py,sha256=eGxSqwu-XwIB-8PZIhH3fiRjiHXu0wdJLqXfh3vSqqg,16569
19
- android_env/components/dumpsys_thread.py,sha256=0hKCTdUbL4zFlUTDnHfshN1gH2l2lhUjVrkOwseAhyE,4730
20
- android_env/components/dumpsys_thread_test.py,sha256=BHPQKpyap6hJJWEtr1YiyFSHgA2Nmx9zp9QIgf88TkE,3866
21
- android_env/components/errors.py,sha256=aak694IxmGaq2cksrw5jv4H2QvuXNFpvxv5uZlncQRE,1696
22
- android_env/components/log_stream.py,sha256=NEzd9_FGhJ4QMIDXE07KBls5hu6TBaauOPtZdXC7jDo,2037
23
- android_env/components/log_stream_test.py,sha256=-rqqjW_w1KQ6tdIj6r-a0qhAdy0dMqRaob7YEqapWcQ,3494
24
- android_env/components/logcat_thread.py,sha256=L5fHAnV1wAPja0SmQ3v6Ec5JzCuhDkes--RMc8Hpb30,4728
25
- android_env/components/logcat_thread_test.py,sha256=Ox4YiFUfWOJmzaK9kpfUeLup7XgYoxrhjy0mQyua9wA,4291
26
- android_env/components/setup_step_interpreter.py,sha256=DQTDwixwIZ9kjHERVwA4qm_KjiVX0z3U0DsxzV1Vqdw,6536
27
- android_env/components/setup_step_interpreter_test.py,sha256=-EiwgY0RnYbRRflvwxsY9RNU5ydmkhBl0Lf_unNjueQ,11752
28
- android_env/components/specs.py,sha256=QvWqrVSjk9ZXnmxb-x2L6kQl63nxaxhVma9uDOJC4X4,5192
29
- android_env/components/specs_test.py,sha256=bYCVYmn9xBQtMvfc7WqCKsc9ef_U2B_eDSgE-rT3_oc,5600
30
- android_env/components/task_manager.py,sha256=jSDMWyt53I7iesUzCot5kXMOF93T7NPqy1mPDtVt-i8,13311
31
- android_env/components/task_manager_test.py,sha256=JyfzGkf6m06Zjd-FqwCinUpsM8xyqKFyApyCl799wvc,17100
32
- android_env/components/utils.py,sha256=x20Zd6ZMWbBHz7ex9xvwc1O6OBJFUVPPY13RLl6AHR4,2619
33
- android_env/components/utils_test.py,sha256=hvIz-I68JR1c4xUAMNRceB9YsH-es-RC4Z-4BN21VK8,3889
34
- android_env/components/simulators/__init__.py,sha256=sHhKqO0SVyPNM0FQNXTajuPOLOXvkbe5tcERMUfk74g,610
35
- android_env/components/simulators/base_simulator.py,sha256=QxegcWFSg5OdPI-wVf79X3Vy42OaJdKKxkBYXsAkBZ0,4565
36
- android_env/components/simulators/base_simulator_test.py,sha256=ZokWtF-czXpmQz7Oz5LGgwdBCI3TbyRM9-3Fgx6e3JM,2122
37
- android_env/components/simulators/emulator/__init__.py,sha256=sHhKqO0SVyPNM0FQNXTajuPOLOXvkbe5tcERMUfk74g,610
38
- android_env/components/simulators/emulator/emulator_launcher.py,sha256=LvN57G1REKi_Mp5uaRrDicfMi8mlG2O7ErXsfj1Ybxo,6561
39
- android_env/components/simulators/emulator/emulator_launcher_test.py,sha256=b1QcwVIUk36no-5OU5TtXDQlTPSBdlLlFJuLBAr7da4,6604
40
- android_env/components/simulators/emulator/emulator_simulator.py,sha256=Uu-wa4-BF_omNQVzRV31XXvby-dk82F9ulk8jAi_RoQ,11928
41
- android_env/components/simulators/emulator/emulator_simulator_test.py,sha256=W39lUd_cv2TjSZmOIXPAbFhXAtenVc-eXokh-4h8abI,11220
42
- android_env/components/simulators/fake/__init__.py,sha256=sHhKqO0SVyPNM0FQNXTajuPOLOXvkbe5tcERMUfk74g,610
43
- android_env/components/simulators/fake/fake_simulator.py,sha256=jd0ok31Kk78mKM-juGh_mjh5txkDSYOQw4nNgZoTauU,4282
44
- android_env/components/simulators/fake/fake_simulator_test.py,sha256=NF7QbKc4Ro5_WTAJ_7ZY6KRGZhRkBDixQ26MlvImuGo,3747
45
- android_env/proto/__init__.py,sha256=sHhKqO0SVyPNM0FQNXTajuPOLOXvkbe5tcERMUfk74g,610
46
- android_env/proto/adb.proto,sha256=i5lIg-sAOry322iy7_O57rGzK5ECsg7TcXeJFslTyq0,12046
47
- android_env/proto/adb_pb2.py,sha256=bHHvuLjZ1UYTDNrHnn_LZg8PluFyp2iAkS3LivI4cTY,14618
48
- android_env/proto/adb_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
49
- android_env/proto/emulator_controller.proto,sha256=BACTYHeOQAzpjFoLHETXt7dUwwYCEEg2yyOuaCwwXpI,41044
50
- android_env/proto/emulator_controller_pb2.py,sha256=ngjr8-UI5dbLhOyIhTGM2e0I8YUko0GSNHtmLountyA,22197
51
- android_env/proto/emulator_controller_pb2_grpc.py,sha256=4O2lD1BJeS6l3wOwknyBvq_xZhhbf_nvsskXwuukqy4,67018
52
- android_env/proto/raw_observation.proto,sha256=W9EsB4fZs_-Oyq8sgiBgxncwqyVJrhkLC4LfCJc1wR0,1327
53
- android_env/proto/raw_observation_pb2.py,sha256=e2VTn65lxo4HucHVJc1wY6Ff-_wcOoGF87qBLImCbGU,1405
54
- android_env/proto/raw_observation_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
55
- android_env/proto/task.proto,sha256=f1ugUDJ7r0JKy_5A5y6AqyPlGqAVeBBAfOTINBwMocA,6597
56
- android_env/proto/task_pb2.py,sha256=chtT3sPhKt5NZ7CeNHXJbAtqj2xHESlVffI16S7VaOo,4759
57
- android_env/proto/task_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
58
- android_env/wrappers/__init__.py,sha256=sHhKqO0SVyPNM0FQNXTajuPOLOXvkbe5tcERMUfk74g,610
59
- android_env/wrappers/base_wrapper.py,sha256=se7T4829EDyTz2I75U6o9tejJjaUsMKj1wNTBClZDQg,2988
60
- android_env/wrappers/base_wrapper_test.py,sha256=q9OCJr7wXbYC471iHflr6mYNkhG1Exiq3MBxebVRHxw,5180
61
- android_env/wrappers/discrete_action_wrapper.py,sha256=gv0lZWpt0cXpEFjMkaVILOGdMxcNygJe_HFcwlKYbPo,5901
62
- android_env/wrappers/discrete_action_wrapper_test.py,sha256=amKDxJo_ywxFotMYPkmqV2eyD7G-uOyk1Y6WgTi1-jE,14363
63
- android_env/wrappers/flat_interface_wrapper.py,sha256=zm88AcBW7eU2cW4BRxXRTUib7Lg2tJxMOhppJthp-2U,4177
64
- android_env/wrappers/flat_interface_wrapper_test.py,sha256=DkPMRymMEppg1RxjoIoMb1GA72CPNFVVOg-f70RadqA,6173
65
- android_env/wrappers/float_pixels_wrapper.py,sha256=8fP2nh7K1zKmuh3nqZAnv0ay5TLgAcOGtoNHT8-OeQU,2597
66
- android_env/wrappers/float_pixels_wrapper_test.py,sha256=z85JayIjELT-cXSvtLqL-PEfi1XlAKgpoSGRsAYbEbQ,5266
67
- android_env/wrappers/gym_wrapper.py,sha256=l8-lHPwsratbEBpAfm9Gy5sQ1HIsVisaPt42NyBLDhQ,2968
68
- android_env/wrappers/gym_wrapper_test.py,sha256=ZziW4lpWgJ48LYWMrFCnUMzIQ9T4xpXbiswhKDEaMUs,4026
69
- android_env/wrappers/image_rescale_wrapper.py,sha256=pRfwQIHtrllXC4RjeaGxkBgUP7ZeTEGj3dM30Q2dUTQ,4214
70
- android_env/wrappers/image_rescale_wrapper_test.py,sha256=Tdld3tR6_jnY4ugA7XxJdAHqfj_h3g_xyLuI2fF3V7c,4024
71
- android_env/wrappers/last_action_wrapper.py,sha256=V4W_yafu2MVbdF0S5v3UT2aH8eewjvkvETI335oWHxw,4312
72
- android_env/wrappers/last_action_wrapper_test.py,sha256=zX9Izs1tdC8xIUl6xgeAtPagDEJFqRt6ch801K5esuE,6117
73
- android_env/wrappers/rate_limit_wrapper.py,sha256=fLkvCt2UmR1TgXfoM2vP-AjjwVlVbggzpC123i5jGJc,4092
74
- android_env/wrappers/rate_limit_wrapper_test.py,sha256=cvIM3e-UMiyeiE0ABYjtHhqTm0KNgQyLGYUb6aJ5a4o,8387
75
- android_env/wrappers/tap_action_wrapper.py,sha256=G4juYR7a25YMpsVEAJ-8l7mYSrFN8AQc5xTxwU0elAA,3504
76
- android_env/wrappers/tap_action_wrapper_test.py,sha256=txieS90qHWBSmZpcdH9HSG8ZjBG3SFnsxdNwH2OZdzw,4717
77
- android_env-1.2.1.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
78
- android_env-1.2.1.dist-info/METADATA,sha256=XVLgwYKFIreMNAvKk1o8TfQkhXmgLQyA5yHbK45b3Lg,14184
79
- android_env-1.2.1.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
80
- android_env-1.2.1.dist-info/top_level.txt,sha256=Sbph_-u1WEUaKYO2iaD4Rh-9OtWJUl1mSJPhcSeJJp8,12
81
- android_env-1.2.1.dist-info/RECORD,,