Skip to content

Commit 037a536

Browse files
update android and ios services list separately
1 parent 17a7df7 commit 037a536

2 files changed

Lines changed: 50 additions & 38 deletions

File tree

Framework/install_handler/long_poll_handler.py

Lines changed: 49 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -36,24 +36,6 @@ def __init__(self):
3636
self.running = False
3737
self.client = None
3838

39-
async def generate_full_services_list(self):
40-
services_list = generate_services_list(services)
41-
42-
# Add Android AVD list
43-
avd_list = await get_filtered_avd_services()
44-
if avd_list:
45-
for idx, service in enumerate(services_list):
46-
if service["category"] == "AndroidEmulator":
47-
services_list[idx] = avd_list
48-
49-
# Add iOS Simulator list (insert after AVD list if present, or at index 1)
50-
simulator_list = await get_filtered_simulator_services()
51-
if simulator_list:
52-
for idx, service in enumerate(services_list):
53-
if service["category"] == "iOSSimulator":
54-
services_list[idx] = simulator_list
55-
return services_list
56-
5739
async def on_message(self, message: Response) -> None:
5840
try:
5941
if debug:
@@ -64,15 +46,40 @@ async def on_message(self, message: Response) -> None:
6446
return
6547
action = message.value.action
6648
if action == "services_list":
49+
services_list = generate_services_list(services)
6750
await send_response(
6851
{
6952
"action": "services_list",
7053
"data": {
7154
"system_info": None,
72-
"services": await self.generate_full_services_list(),
55+
"services": services_list,
7356
},
7457
}
7558
)
59+
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+
)
7683
elif action == "system_info":
7784
if debug:
7885
print(f"[installer] Received system_info request")
@@ -127,15 +134,18 @@ async def on_message(self, message: Response) -> None:
127134
if action == "install":
128135
res = await create_avd_from_system_image(service_name)
129136
if res:
130-
await send_response(
131-
{
132-
"action": "services_list",
133-
"data": {
134-
"system_info": None,
135-
"services": await self.generate_full_services_list(),
136-
},
137-
}
138-
)
137+
avd_list = await get_filtered_avd_services()
138+
if avd_list:
139+
await send_response(
140+
{
141+
"action": "services_update",
142+
"data": {
143+
'category': 'AndroidEmulator',
144+
"services": avd_list['services'],
145+
},
146+
}
147+
)
148+
139149
func = category["install_function"]
140150
await func()
141151
return
@@ -181,15 +191,17 @@ async def on_message(self, message: Response) -> None:
181191
if action == "install":
182192
res = await create_simulator_from_device_type(service_name)
183193
if res:
184-
await send_response(
185-
{
186-
"action": "services_list",
187-
"data": {
188-
"system_info": None,
189-
"services": await self.generate_full_services_list(),
190-
},
191-
}
192-
)
194+
simulator_list = await get_filtered_simulator_services()
195+
if simulator_list:
196+
await send_response(
197+
{
198+
"action": "services_update",
199+
"data": {
200+
'category': 'iOSSimulator',
201+
"services": simulator_list['services'],
202+
},
203+
}
204+
)
193205
func = category["install_function"]
194206
await func()
195207
return

Framework/install_handler/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ async def send_response(data=None) -> None:
5252

5353
services_list = generate_services_list(services)
5454

55-
if data['action'] in ["status", "group_status"]:
55+
if data['action'] in ["status", "group_status", "services_update"]:
5656
data['all_data'] = {
5757
"system_info": None,
5858
"services": services_list

0 commit comments

Comments
 (0)