feat: check update after opening app
This commit is contained in:
parent
b488b90f97
commit
36930eb8aa
|
@ -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_notification.dart';
|
||||||
import 'package:git_touch/screens/gh_user.dart';
|
import 'package:git_touch/screens/gh_user.dart';
|
||||||
import 'package:git_touch/utils/utils.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:provider/provider.dart';
|
||||||
import 'package:git_touch/screens/gh_news.dart';
|
import 'package:git_touch/screens/gh_news.dart';
|
||||||
import 'package:git_touch/screens/gh_search.dart';
|
import 'package:git_touch/screens/gh_search.dart';
|
||||||
import 'package:git_touch/screens/gh_trending.dart';
|
import 'package:git_touch/screens/gh_trending.dart';
|
||||||
import 'package:git_touch/screens/ge_search.dart';
|
import 'package:git_touch/screens/ge_search.dart';
|
||||||
|
import 'package:github/github.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.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 {
|
class Home extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
|
@ -39,6 +44,32 @@ class _HomeState extends State<Home> {
|
||||||
final GlobalKey<NavigatorState> tab4 = GlobalKey<NavigatorState>();
|
final GlobalKey<NavigatorState> tab4 = GlobalKey<NavigatorState>();
|
||||||
final GlobalKey<NavigatorState> tab5 = 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) {
|
_buildScreen(int index) {
|
||||||
// print(Localizations.localeOf(context).toString());
|
// print(Localizations.localeOf(context).toString());
|
||||||
// return GlProjectScreen(32221);
|
// return GlProjectScreen(32221);
|
||||||
|
|
|
@ -27,14 +27,6 @@ class _LoginScreenState extends State<LoginScreen> {
|
||||||
final _usernameController = TextEditingController();
|
final _usernameController = TextEditingController();
|
||||||
final _passwordController = TextEditingController();
|
final _passwordController = TextEditingController();
|
||||||
|
|
||||||
// @override
|
|
||||||
// initState() {
|
|
||||||
// super.initState();
|
|
||||||
// _tokenController.addListener(() {
|
|
||||||
// print(_tokenController.text);
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
Widget _buildAccountItem(int index) {
|
Widget _buildAccountItem(int index) {
|
||||||
final theme = Provider.of<ThemeModel>(context);
|
final theme = Provider.of<ThemeModel>(context);
|
||||||
final auth = Provider.of<AuthModel>(context);
|
final auth = Provider.of<AuthModel>(context);
|
||||||
|
|
|
@ -687,7 +687,7 @@ packages:
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.0.0"
|
version: "5.0.0"
|
||||||
pub_semver:
|
pub_semver:
|
||||||
dependency: transitive
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: pub_semver
|
name: pub_semver
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
|
|
|
@ -51,6 +51,7 @@ dependencies:
|
||||||
url_launcher: ^6.0.3
|
url_launcher: ^6.0.3
|
||||||
webview_flutter: ^2.0.4
|
webview_flutter: ^2.0.4
|
||||||
sentry_flutter: ^5.1.0
|
sentry_flutter: ^5.1.0
|
||||||
|
pub_semver: ^2.0.0
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|
Loading…
Reference in New Issue