From b431ab02d342fc8ff561702495d919794bb24996 Mon Sep 17 00:00:00 2001 From: YoursFunny Date: Mon, 6 Jul 2026 21:01:26 +0800 Subject: [PATCH] fix: use search by emulator type first, which is more trustworthy --- module/device/platform/platform_base.py | 26 ++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/module/device/platform/platform_base.py b/module/device/platform/platform_base.py index 794905e..7d85867 100644 --- a/module/device/platform/platform_base.py +++ b/module/device/platform/platform_base.py @@ -181,6 +181,19 @@ class PlatformBase(Connection, EmulatorManagerBase): logger.info(f'Found emulator instance: {instance}') return instance + # Multiple instances in given serial, name and path, search by emulator + if emulator: + search_args['type'] = emulator + select = instances.select(**search_args) + if select.count == 0: + logger.warning(f'No emulator instances with {search_args}, type invalid') + search_args.pop('type') + elif select.count == 1: + instance = select[0] + logger.hr('Emulator instance', level=2) + logger.info(f'Found emulator instance: {instance}') + return instance + # Multiple instances in given serial, search by name if name: search_args['name'] = name @@ -207,19 +220,6 @@ class PlatformBase(Connection, EmulatorManagerBase): logger.info(f'Found emulator instance: {instance}') return instance - # Multiple instances in given serial, name and path, search by emulator - if emulator: - search_args['type'] = emulator - select = instances.select(**search_args) - if select.count == 0: - logger.warning(f'No emulator instances with {search_args}, type invalid') - search_args.pop('type') - elif select.count == 1: - instance = select[0] - logger.hr('Emulator instance', level=2) - logger.info(f'Found emulator instance: {instance}') - return instance - # Still too many instances, search from running emulators running = remove_duplicated_path(list(self.iter_running_emulator())) logger.info('Running emulators')