getCurrentSpeed method

Future<String> getCurrentSpeed()

Implementation

Future<String> getCurrentSpeed() async {
  try {
    var speed = await methodChannel.invokeMethod('getSpeed');
    var newSpeed = speed / 1024;
    String speedUnit;
    double speedValue;

    if (double.parse(newSpeed.toString()) >= 1024) {
      speedUnit = 'Mbps';
      speedValue = double.parse(newSpeed.toString()) / 1024;
    } else {
      speedUnit = 'kbps';
      speedValue = double.parse(newSpeed.toString());
    }

    // Return the formatted speed with unit
    return speedValue.toStringAsFixed(2) + speedUnit;
  } on PlatformException catch (e) {
    if (kDebugMode) {
      print("Failed to get current speed: '${e.message}'.");
    }
    return '0.0'; // Return a default value if an error occurs
  }
}