initialize method
Initialize Upgrader by getting saved preferences, getting platform package info, and getting released version info.
Implementation
Future<bool> initialize() async {
if (debugLogging) {
print('upgrader: initialize called');
}
if (_futureInit != null) return _futureInit!;
_futureInit = Future(() async {
if (debugLogging) {
print('upgrader: initializing');
}
if (_initCalled) {
assert(false, 'This should never happen.');
return true;
}
_initCalled = true;
if (messages.languageCode.isEmpty) {
print('upgrader: error -> languageCode is empty');
} else if (debugLogging) {
print('upgrader: languageCode: ${messages.languageCode}');
}
await _getSavedPrefs();
if (debugLogging) {
print('upgrader: default operatingSystem: '
'${UpgradeIO.operatingSystem} ${UpgradeIO.operatingSystemVersion}');
print('upgrader: operatingSystem: $_operatingSystem');
print('upgrader: platform: $platform');
print('upgrader: defaultTargetPlatform: $defaultTargetPlatform');
print('upgrader: '
'isAndroid: ${UpgradeIO.isAndroid}, '
'isIOS: ${UpgradeIO.isIOS}, '
'isLinux: ${UpgradeIO.isLinux}, '
'isMacOS: ${UpgradeIO.isMacOS}, '
'isWindows: ${UpgradeIO.isWindows}, '
'isFuchsia: ${UpgradeIO.isFuchsia}, '
'isWeb: ${UpgradeIO.isWeb}');
}
if (_packageInfo == null) {
_packageInfo = await PackageInfo.fromPlatform();
if (debugLogging) {
print(
'upgrader: package info packageName: ${_packageInfo!.packageName}');
print('upgrader: package info appName: ${_packageInfo!.appName}');
print('upgrader: package info version: ${_packageInfo!.version}');
}
}
_installedVersion = _packageInfo!.version;
await _updateVersionInfo();
return true;
});
return _futureInit!;
}