checkSupportPlatform method

Future<bool> checkSupportPlatform(
  1. CompressFormat format
)

Implementation

Future<bool> checkSupportPlatform(CompressFormat format) async {
  if (ignoreCheckSupportPlatform) {
    return true;
  }
  if (format == CompressFormat.heic) {
    if (Platform.isIOS) {
      final String version = await channel.invokeMethod('getSystemVersion');
      final firstVersion = version.split('.')[0];
      final result = int.parse(firstVersion) >= 11;
      const msg = 'The heic format only support iOS 11.0+';
      assert(result, msg);
      _checkThrowError(result, msg);
      return result;
    } else if (Platform.isAndroid) {
      final int version = await channel.invokeMethod('getSystemVersion');
      final result = version >= 28;
      const msg = 'The heic format only support android API 28+';
      assert(result, msg);
      _checkThrowError(result, msg);
      return result;
    } else {
      const msg = 'The heic format only support Android and iOS.';
      assert(Platform.isAndroid || Platform.isIOS, msg);
      _checkThrowError(false, msg);
      return false;
    }
  } else if (format == CompressFormat.webp) {
    if (Platform.isAndroid || Platform.isIOS) {
      return true;
    }
    const msg = 'The webp format only support android and iOS.';
    _checkThrowError(false, msg);
    return false;
  }
  return true;
}