|
7 | 7 | from Framework.install_handler.route import Response, services |
8 | 8 | from Framework.install_handler.utils import ( |
9 | 9 | debug, |
| 10 | + current_os, |
10 | 11 | send_response, |
11 | 12 | read_node_id, |
12 | 13 | generate_services_list, |
@@ -57,29 +58,6 @@ async def on_message(self, message: Response) -> None: |
57 | 58 | } |
58 | 59 | ) |
59 | 60 |
|
60 | | - avd_list = await get_filtered_avd_services() |
61 | | - if avd_list: |
62 | | - await send_response( |
63 | | - { |
64 | | - "action": "services_update", |
65 | | - "data": { |
66 | | - 'category': 'AndroidEmulator', |
67 | | - "services": avd_list['services'], |
68 | | - }, |
69 | | - } |
70 | | - ) |
71 | | - |
72 | | - simulator_list = await get_filtered_simulator_services() |
73 | | - if simulator_list: |
74 | | - await send_response( |
75 | | - { |
76 | | - "action": "services_update", |
77 | | - "data": { |
78 | | - 'category': 'iOSSimulator', |
79 | | - "services": simulator_list['services'], |
80 | | - }, |
81 | | - } |
82 | | - ) |
83 | 61 | elif action == "system_info": |
84 | 62 | if debug: |
85 | 63 | print(f"[installer] Received system_info request") |
@@ -113,6 +91,21 @@ async def on_message(self, message: Response) -> None: |
113 | 91 | if category["category"] == "AndroidEmulator": |
114 | 92 | service_name = message.value.item.name |
115 | 93 |
|
| 94 | + # Case 0: If list of emulators needed to be sent |
| 95 | + if service_name == 'emulator_list': |
| 96 | + avd_list = await get_filtered_avd_services() |
| 97 | + if avd_list: |
| 98 | + await send_response( |
| 99 | + { |
| 100 | + "action": "services_update", |
| 101 | + "data": { |
| 102 | + 'category': 'AndroidEmulator', |
| 103 | + "services": avd_list['services'], |
| 104 | + }, |
| 105 | + } |
| 106 | + ) |
| 107 | + return |
| 108 | + |
116 | 109 | # Case 1: No service name or empty - get system images list |
117 | 110 | if not service_name: |
118 | 111 | if ( |
@@ -176,6 +169,21 @@ async def on_message(self, message: Response) -> None: |
176 | 169 | ) |
177 | 170 | service_name = message.value.item.name |
178 | 171 |
|
| 172 | + # Case 0: If list of simulators needed to be sent |
| 173 | + if service_name == 'simulator_list': |
| 174 | + simulator_list = await get_filtered_simulator_services() |
| 175 | + if simulator_list: |
| 176 | + await send_response( |
| 177 | + { |
| 178 | + "action": "services_update", |
| 179 | + "data": { |
| 180 | + 'category': 'iOSSimulator', |
| 181 | + "services": simulator_list['services'], |
| 182 | + }, |
| 183 | + } |
| 184 | + ) |
| 185 | + return |
| 186 | + |
179 | 187 | # Case 1: No service name or empty - get device types list |
180 | 188 | if not service_name: |
181 | 189 | if action == "install" and "install_function" in category and category["install_function"]: |
@@ -269,7 +277,7 @@ async def on_message(self, message: Response) -> None: |
269 | 277 | i for i in services if i["category"] == message.value.item.category |
270 | 278 | ][0]["services"] |
271 | 279 | functions = [ |
272 | | - i["status_function"] for i in services_list if i["status_function"] |
| 280 | + i["status_function"] for i in services_list if i["status_function"] and current_os in i["os"] |
273 | 281 | ] |
274 | 282 | for func in functions: |
275 | 283 | await func() |
|
0 commit comments