fetchUpdateInfo method

Future<MoAppUpdateInfo?> fetchUpdateInfo()

Implementation

Future<MoAppUpdateInfo?> fetchUpdateInfo() async {
  if(_mode == MoAppUpdateMode.self) {
    var selfUpdateInfo = await _getSelfUpdateInfo();

    var selfInfo = _extractLatestUpdate(selfUpdateInfo);
    var info = MoAppUpdateInfo(
      currentVersion: _packageInfo.version,
      currentBuildNumber: _packageInfo.buildNumber,
      currentVersionString: '${_packageInfo.version}(${_packageInfo.buildNumber})',
      newVersion: selfInfo?.versionString,
      newBuildNumber: selfInfo?.buildNumber?.toString(),
      newVersionString: selfInfo == null ? null : '${selfInfo.versionString}(${selfInfo.buildNumber})',
      mode: MoAppUpdateMode.self,
      url: selfInfo?.downloadUrl,
      updatePriority: selfInfo?.priority,
      changelog: selfInfo?.changelog,
      hasUpdate: selfInfo != null,
    );

    _updateInfo = info;
    _lastCheckedTime = DateTime.now();

    return info;
  }
  else if(_mode == MoAppUpdateMode.store) {
    throw UnimplementedError("getUpdateInfo store not implemented");
  }
  else {
    throw NotSupportedPlatformException();
  }
}