checkAndDownloadLicense static method

Future<void> checkAndDownloadLicense()

Implementation

static Future<void> checkAndDownloadLicense() async {
  var ailia = ailia_dart.ailiaFFI(_ailiaCommonGetLibrary(_ailiaCommonGetPath()));
  final Pointer<Int8> versionPointer = ailia.ailiaGetVersion();
  String version = _pointerCharToString(versionPointer);

  if (version.contains("perpetual_license")) {
    return;
  }

  final licFolder = _getLicenseFolderPath();
  final licFile = "$licFolder/AILIA.lic";

  var userData = await _checkLicense(licFile);
  if (userData == null) {
    debugPrint("Downloading license file for ailia SDK.");
    await Directory(licFolder).create(recursive: true);
    await _downloadLicense(licFile);
    userData = await _checkLicense(licFile);
  }

  if (userData == null) {
    debugPrint("Download license file failed.");
    return;
  }

  if (userData.contains("trial version")) {
    _displayWarning();
  }
}