Skip to content

Commit

Permalink
feat: check update after opening app
Browse files Browse the repository at this point in the history
  • Loading branch information
pd4d10 committed Jun 14, 2021
1 parent b488b90 commit 36930eb
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 9 deletions.
31 changes: 31 additions & 0 deletions lib/home.dart
Expand Up @@ -19,12 +19,17 @@ import 'package:git_touch/screens/login.dart';
import 'package:git_touch/screens/gh_notification.dart';
import 'package:git_touch/screens/gh_user.dart';
import 'package:git_touch/utils/utils.dart';
import 'package:launch_review/launch_review.dart';
import 'package:package_info/package_info.dart';
import 'package:provider/provider.dart';
import 'package:git_touch/screens/gh_news.dart';
import 'package:git_touch/screens/gh_search.dart';
import 'package:git_touch/screens/gh_trending.dart';
import 'package:git_touch/screens/ge_search.dart';
import 'package:github/github.dart';
import 'package:flutter_gen/gen_l10n/S.dart';
import 'package:pub_semver/pub_semver.dart';
import 'package:universal_io/io.dart';

class Home extends StatefulWidget {
@override
Expand All @@ -39,6 +44,32 @@ class _HomeState extends State<Home> {
final GlobalKey<NavigatorState> tab4 = GlobalKey<NavigatorState>();
final GlobalKey<NavigatorState> tab5 = GlobalKey<NavigatorState>();

@override
initState() {
super.initState();
Future.delayed(Duration(seconds: 5), () async {
final latest = await GitHub()
.repositories
.getLatestRelease(RepositorySlug.full('git-touch/git-touch'));
final current =
await PackageInfo.fromPlatform().then((value) => value.version);
if (Version.parse(latest.tagName!.substring(1))
.compareTo(Version.parse(current)) ==
1) {
final res = await context.read<ThemeModel>().showConfirm(context,
Text('New version released. Would you like to download it?'));
if (res == true) {
if (Platform.isIOS) {
// go to app store
LaunchReview.launch(writeReview: false);
} else {
context.read<ThemeModel>().push(context, latest.htmlUrl!);
}
}
}
});
}

_buildScreen(int index) {
// print(Localizations.localeOf(context).toString());
// return GlProjectScreen(32221);
Expand Down
8 changes: 0 additions & 8 deletions lib/screens/login.dart
Expand Up @@ -27,14 +27,6 @@ class _LoginScreenState extends State<LoginScreen> {
final _usernameController = TextEditingController();
final _passwordController = TextEditingController();

// @override
// initState() {
// super.initState();
// _tokenController.addListener(() {
// print(_tokenController.text);
// });
// }

Widget _buildAccountItem(int index) {
final theme = Provider.of<ThemeModel>(context);
final auth = Provider.of<AuthModel>(context);
Expand Down
2 changes: 1 addition & 1 deletion pubspec.lock
Expand Up @@ -687,7 +687,7 @@ packages:
source: hosted
version: "5.0.0"
pub_semver:
dependency: transitive
dependency: "direct main"
description:
name: pub_semver
url: "https://pub.dartlang.org"
Expand Down
1 change: 1 addition & 0 deletions pubspec.yaml
Expand Up @@ -51,6 +51,7 @@ dependencies:
url_launcher: ^6.0.3
webview_flutter: ^2.0.4
sentry_flutter: ^5.1.0
pub_semver: ^2.0.0

dev_dependencies:
flutter_test:
Expand Down

0 comments on commit 36930eb

Please sign in to comment.