Skip to content

Commit

Permalink
refactor(package_info_plus): decouple install time from version json
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrew-Bekhiet committed Jan 19, 2025
1 parent 564b599 commit 0d01813
Showing 1 changed file with 8 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,30 +16,28 @@ class PackageInfoPlusLinuxPlugin extends PackageInfoPlatform {
/// appName, packageName, version, buildNumber
@override
Future<PackageInfoData> getAll({String? baseUrl}) async {
final versionJson = await _getVersionJson();
final exePath = await File('/proc/self/exe').resolveSymbolicLinks();

final versionJson = await _getVersionJson(exePath);
final installTime = await _getInstallTime(exePath);

return PackageInfoData(
appName: versionJson['app_name'] ?? '',
version: versionJson['version'] ?? '',
buildNumber: versionJson['build_number'] ?? '',
packageName: versionJson['package_name'] ?? '',
buildSignature: '',
installTime: versionJson['install_time'],
installTime: installTime,
);
}

Future<Map<String, dynamic>> _getVersionJson() async {
Future<Map<String, dynamic>> _getVersionJson(String exePath) async {
try {
final exePath = await File('/proc/self/exe').resolveSymbolicLinks();
final appPath = path.dirname(exePath);
final assetPath = path.join(appPath, 'data', 'flutter_assets');
final versionPath = path.join(assetPath, 'version.json');

final installTime = await _getInstallTime(exePath);

return {
...jsonDecode(await File(versionPath).readAsString()),
'install_time': installTime,
};
return jsonDecode(await File(versionPath).readAsString());
} catch (_) {
return <String, dynamic>{};
}
Expand Down

0 comments on commit 0d01813

Please sign in to comment.