run method

  1. @override
Future<AuditResult> run(
  1. ProjectContext context
)
override

Executes the audit.

Implementation

@override
Future<AuditResult> run(ProjectContext context) async {
  final document = await AndroidManifestHelper.load(context);

  if (document == null) {
    return const AuditResult(issues: []);
  }

  final issues = <SecurityIssue>[];

  _checkComponents(
    document: document,
    tagName: 'activity',
    componentType: 'Activity',
    manifestPath: context.androidManifest.path,
    issues: issues,
  );

  _checkComponents(
    document: document,
    tagName: 'service',
    componentType: 'Service',
    manifestPath: context.androidManifest.path,
    issues: issues,
  );

  _checkComponents(
    document: document,
    tagName: 'receiver',
    componentType: 'Receiver',
    manifestPath: context.androidManifest.path,
    issues: issues,
  );

  _checkComponents(
    document: document,
    tagName: 'provider',
    componentType: 'Provider',
    manifestPath: context.androidManifest.path,
    issues: issues,
  );

  return AuditResult(issues: issues);
}