From 0a6aadb8a4560f3a45fc78cce676aee4a60353c7 Mon Sep 17 00:00:00 2001 From: "s.t.o.k.a.t.o" Date: Sat, 12 Jul 2025 01:00:35 +0300 Subject: [PATCH 1/3] More detailed synchronization status and upload progress. --- CHANGELOG.md | 4 ++++ lib/src/sync_state_info.dart | 11 +++++++++-- pubspec.yaml | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 18d0423..6b5ef1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [1.8.0] + +* More detailed synchronization status and upload progress. + ## [1.7.0] * Added enum `SyncFilesState` with possible file synchronization statuses. diff --git a/lib/src/sync_state_info.dart b/lib/src/sync_state_info.dart index cfbef28..5a57287 100644 --- a/lib/src/sync_state_info.dart +++ b/lib/src/sync_state_info.dart @@ -4,6 +4,7 @@ abstract class SyncStateInfo { SyncFilesState get syncFilesState; SyncError? get syncError; Object? get errorData; + double? get uploadProgress; /// Fatal error. bool get isFatalError => @@ -103,8 +104,14 @@ enum SyncState { /// Synchronization is disabled. disabled, - /// Synchronization in progress. - pending, + /// Synchronization at the time sync stage. + timeSync, + + /// Synchronization at the data uploading stage. + upload, + + /// Synchronization at the data download stage. + download, /// Waiting for first synchronization. waiting, diff --git a/pubspec.yaml b/pubspec.yaml index d7eb7b4..166c123 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: in_sync_interface description: An interface for synchronization functional. Used by in_sync. -version: 1.7.0 +version: 1.8.0 homepage: https://github.com/innim/ repository: https://github.com/Innim/in_sync_interface issue_tracker: https://github.com/Innim/in_sync_interface/issues From 4bf897d8791a9539b58f3994a0a568c2fdbc4acb Mon Sep 17 00:00:00 2001 From: "s.t.o.k.a.t.o" Date: Wed, 16 Jul 2025 19:57:53 +0300 Subject: [PATCH 2/3] More detailed synchronization status and upload progress. --- CHANGELOG.md | 4 +++- lib/in_sync_interface.dart | 1 + lib/src/sync_data_info.dart | 14 ++++++++++++++ lib/src/sync_state_info.dart | 11 +++++------ 4 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 lib/src/sync_data_info.dart diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b5ef1c..57189a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ ## [1.8.0] -* More detailed synchronization status and upload progress. +* More detailed synchronization status and send changes progress. + * Added enum `SyncDataState` with detailed data synchronization status. + * Added `SyncStateInfo.dataInfo` getter. ## [1.7.0] diff --git a/lib/in_sync_interface.dart b/lib/in_sync_interface.dart index e4a6617..252a5e5 100644 --- a/lib/in_sync_interface.dart +++ b/lib/in_sync_interface.dart @@ -1,2 +1,3 @@ +export 'src/sync_data_info.dart'; export 'src/sync_repository.dart'; export 'src/sync_state_info.dart'; diff --git a/lib/src/sync_data_info.dart b/lib/src/sync_data_info.dart new file mode 100644 index 0000000..f40e283 --- /dev/null +++ b/lib/src/sync_data_info.dart @@ -0,0 +1,14 @@ +/// Data synchronization information. +abstract class SyncDataInfo { + SyncDataState? get state; + double? get sendChangesProgress; +} + +/// Sync data status. +enum SyncDataState { + /// Synchronization at the data sending stage. + sendChanges, + + /// Synchronization at the get entities stage. + getEntities, +} diff --git a/lib/src/sync_state_info.dart b/lib/src/sync_state_info.dart index 5a57287..13e0fc8 100644 --- a/lib/src/sync_state_info.dart +++ b/lib/src/sync_state_info.dart @@ -1,10 +1,12 @@ +import 'package:in_sync_interface/in_sync_interface.dart'; + /// Synchronization status information, including errors. abstract class SyncStateInfo { SyncState get state; SyncFilesState get syncFilesState; + SyncDataInfo get dataInfo; SyncError? get syncError; Object? get errorData; - double? get uploadProgress; /// Fatal error. bool get isFatalError => @@ -107,11 +109,8 @@ enum SyncState { /// Synchronization at the time sync stage. timeSync, - /// Synchronization at the data uploading stage. - upload, - - /// Synchronization at the data download stage. - download, + /// Synchronization in progress. + pending, /// Waiting for first synchronization. waiting, From 04849dba4a6455122787d7d5ade3e2c3f136fa6d Mon Sep 17 00:00:00 2001 From: "s.t.o.k.a.t.o" Date: Thu, 17 Jul 2025 10:57:59 +0300 Subject: [PATCH 3/3] Deleted unnecessary status. --- lib/src/sync_state_info.dart | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/src/sync_state_info.dart b/lib/src/sync_state_info.dart index 13e0fc8..2394742 100644 --- a/lib/src/sync_state_info.dart +++ b/lib/src/sync_state_info.dart @@ -106,9 +106,6 @@ enum SyncState { /// Synchronization is disabled. disabled, - /// Synchronization at the time sync stage. - timeSync, - /// Synchronization in progress. pending,