diff --git a/lib/providers/auth.dart b/lib/providers/auth.dart index 10886042..5ff7f4f7 100644 --- a/lib/providers/auth.dart +++ b/lib/providers/auth.dart @@ -26,7 +26,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; import 'package:http/http.dart' as http; -import 'package:package_info/package_info.dart'; +import 'package:package_info_plus/package_info_plus.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:version/version.dart'; import 'package:wger/exceptions/http_exception.dart'; @@ -59,7 +59,14 @@ class AuthProvider with ChangeNotifier { // TODO: this is a workaround since AndroidMetadata doesn't work while running tests if (checkMetadata ?? true) { try { - AndroidMetadata.metaDataAsMap.then((value) => metadata = value!); + if (Platform.isAndroid) { + AndroidMetadata.metaDataAsMap.then((value) => metadata = value!); + } else if (Platform.isLinux || Platform.isMacOS) { + metadata = { + MANIFEST_KEY_CHECK_UPDATE: Platform.environment[MANIFEST_KEY_CHECK_UPDATE] ?? '', + MANIFEST_KEY_API: Platform.environment[MANIFEST_KEY_API] ?? '' + }; + } } on PlatformException { throw Exception('An error occurred reading the metadata from AndroidManifest'); } catch (error) {} @@ -94,8 +101,8 @@ class AuthProvider with ChangeNotifier { /// Checking if there is a new version of the application. Future applicationUpdateRequired([String? version, Map? metadata]) async { metadata ??= this.metadata; - if (!metadata.containsKey('wger.check_min_app_version') || - metadata['wger.check_min_app_version'] == 'false') { + if (!metadata.containsKey(MANIFEST_KEY_CHECK_UPDATE) || + metadata[MANIFEST_KEY_CHECK_UPDATE] == 'false') { return false; } diff --git a/pubspec.lock b/pubspec.lock index 3af096fd..003610fa 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -796,14 +796,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" - package_info: + package_info_plus: dependency: "direct main" description: - name: package_info - sha256: "6c07d9d82c69e16afeeeeb6866fe43985a20b3b50df243091bfc4a4ad2b03b75" + name: package_info_plus + sha256: "8df5ab0a481d7dc20c0e63809e90a588e496d276ba53358afc4c4443d0a00697" url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "3.0.3" + package_info_plus_platform_interface: + dependency: transitive + description: + name: package_info_plus_platform_interface + sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" + url: "https://pub.dev" + source: hosted + version: "2.0.1" path: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index a50ba690..17216123 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -47,7 +47,7 @@ dependencies: intl: ^0.17.0 json_annotation: ^4.7.0 version: ^3.0.2 - package_info: ^2.0.2 + package_info_plus: ^3.0.3 provider: ^6.0.5 rive: ^0.10.2 shared_preferences: ^2.0.18 diff --git a/test/nutrition/nutritional_plan_screen_test.mocks.dart b/test/nutrition/nutritional_plan_screen_test.mocks.dart index 6e146a21..06c566c9 100644 --- a/test/nutrition/nutritional_plan_screen_test.mocks.dart +++ b/test/nutrition/nutritional_plan_screen_test.mocks.dart @@ -10,7 +10,7 @@ import 'dart:ui' as _i7; import 'package:http/http.dart' as _i3; import 'package:mockito/mockito.dart' as _i1; -import 'package:package_info/package_info.dart' as _i6; +import 'package:package_info_plus/package_info_plus.dart' as _i6; import 'package:wger/providers/auth.dart' as _i2; import 'package:wger/providers/base_provider.dart' as _i4; diff --git a/test/nutrition/nutritional_plans_screen_test.mocks.dart b/test/nutrition/nutritional_plans_screen_test.mocks.dart index d3814470..e81c4a49 100644 --- a/test/nutrition/nutritional_plans_screen_test.mocks.dart +++ b/test/nutrition/nutritional_plans_screen_test.mocks.dart @@ -10,7 +10,7 @@ import 'dart:ui' as _i6; import 'package:http/http.dart' as _i2; import 'package:mockito/mockito.dart' as _i1; -import 'package:package_info/package_info.dart' as _i4; +import 'package:package_info_plus/package_info_plus.dart' as _i4; import 'package:wger/providers/auth.dart' as _i3; // ignore_for_file: type=lint