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

Function openAndroidPackage

src/platforms/android/app-lifecycle.ts:449–488  ·  view source on GitHub ↗
(
  device: DeviceInfo,
  packageName: string,
  launchCategory: string,
  options: OpenAndroidAppOptions,
)

Source from the content-addressed store, hash-verified

447}
448
449async function openAndroidPackage(
450 device: DeviceInfo,
451 packageName: string,
452 launchCategory: string,
453 options: OpenAndroidAppOptions,
454): Promise<void> {
455 const primaryResult = await runAndroidAdb(
456 device,
457 [
458 'shell',
459 'am',
460 'start',
461 '-W',
462 '-a',
463 'android.intent.action.MAIN',
464 '-c',
465 ANDROID_DEFAULT_CATEGORY,
466 '-c',
467 launchCategory,
468 '-p',
469 packageName,
470 ...androidLaunchArgs(options),
471 ],
472 { allowFailure: true },
473 );
474 if (primaryResult.exitCode === 0 && !isAmStartError(primaryResult.stdout, primaryResult.stderr)) {
475 return;
476 }
477 const component = await resolveAndroidLaunchComponent(device, packageName);
478 if (!component) {
479 if (!(await isAndroidPackageInstalled(device, packageName))) {
480 throw buildAndroidPackageNotInstalledError(packageName);
481 }
482 throw new AppError('COMMAND_FAILED', `Failed to launch ${packageName}`, {
483 stdout: primaryResult.stdout,
484 stderr: primaryResult.stderr,
485 });
486 }
487 await runAndroidAdb(device, buildAndroidActivityLaunchArgs(component, launchCategory, options));
488}
489
490function buildAndroidActivityLaunchArgs(
491 component: string,

Callers 1

openAndroidAppFunction · 0.85

Calls 7

runAndroidAdbFunction · 0.90
androidLaunchArgsFunction · 0.85
isAmStartErrorFunction · 0.85

Tested by

no test coverage detected