MCPcopy Index your code
hub / github.com/callstack/agent-device / waitForAndroidEmulatorByAvdName

Function waitForAndroidEmulatorByAvdName

src/platforms/android/devices.ts:360–390  ·  view source on GitHub ↗
(params: {
  avdName: string;
  serial?: string;
  timeoutMs: number;
})

Source from the content-addressed store, hash-verified

358}
359
360async function waitForAndroidEmulatorByAvdName(params: {
361 avdName: string;
362 serial?: string;
363 timeoutMs: number;
364}): Promise<DeviceInfo> {
365 const startedAt = Date.now();
366 while (Date.now() - startedAt < params.timeoutMs) {
367 try {
368 const serial = await findAndroidEmulatorSerialByAvdName(params.avdName, params.serial);
369 if (serial) {
370 return {
371 platform: 'android',
372 id: serial,
373 name: params.avdName,
374 kind: 'emulator',
375 target: 'mobile',
376 booted: false,
377 };
378 }
379 } catch {
380 // Best-effort polling while adb/emulator process settles.
381 }
382 await sleep(ANDROID_EMULATOR_BOOT_POLL_MS);
383 }
384 throw new AppError('COMMAND_FAILED', 'Android emulator did not appear in time', {
385 avdName: params.avdName,
386 serial: params.serial,
387 timeoutMs: params.timeoutMs,
388 hint: 'Check emulator logs and verify the AVD can start from command line.',
389 });
390}
391
392async function findAndroidEmulatorSerialByAvdName(
393 avdName: string,

Callers 1

Calls 2

sleepFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…