mirror of
https://github.com/venera-app/venera.git
synced 2025-09-27 07:47:24 +00:00
improve data sync
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
|
@@ -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));
|
||||
}
|
||||
|
Reference in New Issue
Block a user