@@ -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
0 commit comments