validateEnvironmentMismatch method

bool validateEnvironmentMismatch(
  1. FirebaseEnvConfig config
)

Implementation

bool validateEnvironmentMismatch(FirebaseEnvConfig config) {
  try {
    final content = File(config.androidConfig).readAsStringSync();
    final data = jsonDecode(content);

    // Validation 1: Android Package Name Match
    final clients = data['client'] as List?;
    if (clients != null && clients.isNotEmpty) {
      final packageNames = clients.map((c) => c['client_info']?['android_client_info']?['package_name']).toList();
      if (!packageNames.contains(config.androidApplicationId)) {
        logger.warning('IMPROTANT: The android_application_id "${config.androidApplicationId}" was not found in ${config.androidConfig}. Available: ${packageNames.join(', ')}');
      } else {
        logger.success('Verified: Android Application ID matches configuration.');
      }
    }

    return true;
  } catch (e) {
    logger.warning('Deep content validation skipped: $e');
    return true;
  }
}