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) {
    final availableRatio =
        deviceInfo.availableRamSize / deviceInfo.physicalRamSize;
    if (availableRatio < 0.2) {
      return (
        score: score,
        reason: "$reason: ${(availableRatio * 100).toStringAsFixed(1)}%",
      );
    }
  }

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