@@ -19,12 +19,17 @@ import 'package:git_touch/screens/login.dart';
19
19
import 'package:git_touch/screens/gh_notification.dart' ;
20
20
import 'package:git_touch/screens/gh_user.dart' ;
21
21
import 'package:git_touch/utils/utils.dart' ;
22
+ import 'package:launch_review/launch_review.dart' ;
23
+ import 'package:package_info/package_info.dart' ;
22
24
import 'package:provider/provider.dart' ;
23
25
import 'package:git_touch/screens/gh_news.dart' ;
24
26
import 'package:git_touch/screens/gh_search.dart' ;
25
27
import 'package:git_touch/screens/gh_trending.dart' ;
26
28
import 'package:git_touch/screens/ge_search.dart' ;
29
+ import 'package:github/github.dart' ;
27
30
import 'package:flutter_gen/gen_l10n/S.dart' ;
31
+ import 'package:pub_semver/pub_semver.dart' ;
32
+ import 'package:universal_io/io.dart' ;
28
33
29
34
class Home extends StatefulWidget {
30
35
@override
@@ -39,6 +44,32 @@ class _HomeState extends State<Home> {
39
44
final GlobalKey <NavigatorState > tab4 = GlobalKey <NavigatorState >();
40
45
final GlobalKey <NavigatorState > tab5 = GlobalKey <NavigatorState >();
41
46
47
+ @override
48
+ initState () {
49
+ super .initState ();
50
+ Future .delayed (Duration (seconds: 5 ), () async {
51
+ final latest = await GitHub ()
52
+ .repositories
53
+ .getLatestRelease (RepositorySlug .full ('git-touch/git-touch' ));
54
+ final current =
55
+ await PackageInfo .fromPlatform ().then ((value) => value.version);
56
+ if (Version .parse (latest.tagName! .substring (1 ))
57
+ .compareTo (Version .parse (current)) ==
58
+ 1 ) {
59
+ final res = await context.read <ThemeModel >().showConfirm (context,
60
+ Text ('New version released. Would you like to download it?' ));
61
+ if (res == true ) {
62
+ if (Platform .isIOS) {
63
+ // go to app store
64
+ LaunchReview .launch (writeReview: false );
65
+ } else {
66
+ context.read <ThemeModel >().push (context, latest.htmlUrl! );
67
+ }
68
+ }
69
+ }
70
+ });
71
+ }
72
+
42
73
_buildScreen (int index) {
43
74
// print(Localizations.localeOf(context).toString());
44
75
// return GlProjectScreen(32221);
0 commit comments