execute method

  1. @override
Future<({String? reason, double score})> execute()
override

Executes the method and returns a score between 0 and 100

Implementation

@override
Future<({double score, String? reason})> execute() async {
  final deviceInfo = await DeviceInfoPlugin().deviceInfo;

  if (deviceInfo is AndroidDeviceInfo) {
    // Check for MEmu-specific files first
    final memuFiles = await _getDetectedMEmuFiles();
    if (memuFiles.isNotEmpty) {
      return (score: score, reason: "$reason: ${memuFiles.join(', ')}");
    }

    // Check device info for MEmu indicators
    if (_isMEmu(deviceInfo)) {
      return (score: score, reason: reason);
    }
  }

  return (score: 0.0, reason: null);
}