move checkUpdates to main_page

This commit is contained in:
2024-11-21 21:36:08 +08:00
parent ad3f2fab45
commit 4d55e6a72f
3 changed files with 27 additions and 21 deletions

View File

@@ -232,7 +232,10 @@
"No Category Pages": "没有分类页面", "No Category Pages": "没有分类页面",
"Chapter @ep": "第 @ep 章", "Chapter @ep": "第 @ep 章",
"Page @page": "第 @page 页", "Page @page": "第 @page 页",
"Also remove files on disk": "同时删除磁盘上的文件" "Also remove files on disk": "同时删除磁盘上的文件",
"New version available": "有新版本可用",
"A new version is available. Do you want to update now?" : "有新版本可用。您要现在更新吗?",
"No new version available": "没有新版本可用"
}, },
"zh_TW": { "zh_TW": {
"Home": "首頁", "Home": "首頁",
@@ -467,6 +470,9 @@
"No Category Pages": "沒有分類頁面", "No Category Pages": "沒有分類頁面",
"Chapter @ep": "第 @ep 章", "Chapter @ep": "第 @ep 章",
"Page @page": "第 @page 頁", "Page @page": "第 @page 頁",
"Also remove files on disk": "同時刪除磁盤上的文件" "Also remove files on disk": "同時刪除磁盤上的文件",
"New version available": "有新版本可用",
"A new version is available. Do you want to update now?" : "有新版本可用。您要現在更新嗎?",
"No new version available": "沒有新版本可用"
} }
} }

View File

@@ -6,9 +6,7 @@ import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:rhttp/rhttp.dart'; import 'package:rhttp/rhttp.dart';
import 'package:venera/foundation/log.dart'; import 'package:venera/foundation/log.dart';
import 'package:venera/pages/auth_page.dart'; import 'package:venera/pages/auth_page.dart';
import 'package:venera/pages/comic_source_page.dart';
import 'package:venera/pages/main_page.dart'; import 'package:venera/pages/main_page.dart';
import 'package:venera/pages/settings/settings_page.dart';
import 'package:venera/utils/app_links.dart'; import 'package:venera/utils/app_links.dart';
import 'package:venera/utils/io.dart'; import 'package:venera/utils/io.dart';
import 'package:window_manager/window_manager.dart'; import 'package:window_manager/window_manager.dart';
@@ -69,7 +67,6 @@ class MyApp extends StatefulWidget {
class _MyAppState extends State<MyApp> with WidgetsBindingObserver { class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
@override @override
void initState() { void initState() {
checkUpdates();
App.registerForceRebuild(forceRebuild); App.registerForceRebuild(forceRebuild);
SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
WidgetsBinding.instance.addObserver(this); WidgetsBinding.instance.addObserver(this);
@@ -227,22 +224,6 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
}, },
); );
} }
void checkUpdates() async {
if (!appdata.settings['checkUpdateOnStart']) {
return;
}
var lastCheck = appdata.implicitData['lastCheckUpdate'] ?? 0;
var now = DateTime.now().millisecondsSinceEpoch;
if (now - lastCheck < 24 * 60 * 60 * 1000) {
return;
}
appdata.implicitData['lastCheckUpdate'] = now;
appdata.writeImplicitData();
await Future.delayed(const Duration(milliseconds: 300));
await checkUpdateUi(false);
await ComicSourcePage.checkComicSourceUpdate(true);
}
} }
class _SystemUiProvider extends StatelessWidget { class _SystemUiProvider extends StatelessWidget {

View File

@@ -1,4 +1,5 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:venera/foundation/appdata.dart';
import 'package:venera/pages/categories_page.dart'; import 'package:venera/pages/categories_page.dart';
import 'package:venera/pages/search_page.dart'; import 'package:venera/pages/search_page.dart';
import 'package:venera/pages/settings/settings_page.dart'; import 'package:venera/pages/settings/settings_page.dart';
@@ -6,6 +7,7 @@ import 'package:venera/utils/translations.dart';
import '../components/components.dart'; import '../components/components.dart';
import '../foundation/app.dart'; import '../foundation/app.dart';
import 'comic_source_page.dart';
import 'explore_page.dart'; import 'explore_page.dart';
import 'favorites/favorites_page.dart'; import 'favorites/favorites_page.dart';
import 'home_page.dart'; import 'home_page.dart';
@@ -34,8 +36,25 @@ class _MainPageState extends State<MainPage> {
_navigatorKey!.currentContext!.pop(); _navigatorKey!.currentContext!.pop();
} }
void checkUpdates() async {
if (!appdata.settings['checkUpdateOnStart']) {
return;
}
var lastCheck = appdata.implicitData['lastCheckUpdate'] ?? 0;
var now = DateTime.now().millisecondsSinceEpoch;
if (now - lastCheck < 24 * 60 * 60 * 1000) {
return;
}
appdata.implicitData['lastCheckUpdate'] = now;
appdata.writeImplicitData();
await Future.delayed(const Duration(milliseconds: 300));
await checkUpdateUi(false);
await ComicSourcePage.checkComicSourceUpdate(true);
}
@override @override
void initState() { void initState() {
checkUpdates();
_observer = NaviObserver(); _observer = NaviObserver();
_navigatorKey = GlobalKey(); _navigatorKey = GlobalKey();
App.mainNavigatorKey = _navigatorKey; App.mainNavigatorKey = _navigatorKey;