improve data sync

This commit is contained in:
2024-11-11 11:52:36 +08:00
parent ea3cc8cc58
commit 193ecdb765
2 changed files with 6 additions and 3 deletions

View File

@@ -20,6 +20,7 @@ import 'package:venera/foundation/history.dart';
import 'package:venera/foundation/image_provider/reader_image.dart';
import 'package:venera/foundation/local.dart';
import 'package:venera/pages/settings/settings_page.dart';
import 'package:venera/utils/data_sync.dart';
import 'package:venera/utils/file_type.dart';
import 'package:venera/utils/io.dart';
import 'package:venera/utils/translations.dart';
@@ -122,6 +123,9 @@ class _ReaderState extends State<Reader> with _ReaderLocation, _ReaderWindow {
focusNode.dispose();
SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
stopVolumeEvent();
Future.microtask(() {
DataSync().onDataChanged();
});
super.dispose();
}

View File

@@ -4,7 +4,6 @@ import 'package:venera/foundation/app.dart';
import 'package:venera/foundation/appdata.dart';
import 'package:venera/foundation/comic_source/comic_source.dart';
import 'package:venera/foundation/favorites.dart';
import 'package:venera/foundation/history.dart';
import 'package:venera/foundation/log.dart';
import 'package:venera/foundation/res.dart';
import 'package:venera/network/app_dio.dart';
@@ -19,7 +18,6 @@ class DataSync with ChangeNotifier {
if (isEnabled) {
downloadData();
}
HistoryManager().addListener(onDataChanged);
LocalFavoritesManager().addListener(onDataChanged);
ComicSource.addListener(onDataChanged);
}
@@ -57,8 +55,9 @@ class DataSync with ChangeNotifier {
}
Future<Res<bool>> uploadData() async {
if(isDownloading) return const Res(true);
if (haveWaitingTask) return const Res(true);
while (isDownloading || isUploading) {
while (isUploading) {
haveWaitingTask = true;
await Future.delayed(const Duration(milliseconds: 100));
}