compile time version definition

This commit is contained in:
unknown
2022-02-01 18:33:13 +01:00
parent 8673a9e42a
commit 0fca636311
14 changed files with 60 additions and 31 deletions

View File

@@ -3,14 +3,12 @@ import 'dart:io';
import 'package:filcnaplo/api/client.dart';
import 'package:filcnaplo/models/release.dart';
import 'package:flutter/material.dart';
import 'package:package_info_plus/package_info_plus.dart';
class UpdateProvider extends ChangeNotifier {
// Private
late List<Release> _releases;
bool _available = false;
bool get available => _available && _releases.isNotEmpty;
PackageInfo? _packageInfo;
// Public
List<Release> get releases => _releases;
@@ -20,10 +18,9 @@ class UpdateProvider extends ChangeNotifier {
required BuildContext context,
}) {
_releases = List.castFrom(initialReleases);
PackageInfo.fromPlatform().then((value) => _packageInfo = value);
}
String get currentVersion => _packageInfo?.version ?? "";
static const currentVersion = String.fromEnvironment("APPVER", defaultValue: "1.0");
Future<void> fetch() async {
if (!Platform.isAndroid) return;
@@ -33,7 +30,7 @@ class UpdateProvider extends ChangeNotifier {
// Check for new releases
if (_releases.isNotEmpty) {
_available = _packageInfo != null && _releases.first.version.compareTo(Version.fromString(currentVersion)) == 1;
_available = _releases.first.version.compareTo(Version.fromString(currentVersion)) == 1;
// ignore: avoid_print
if (_available) print("INFO: New update: ${releases.first.version}");
notifyListeners();