|
@@ -1,10 +1,13 @@
|
|
|
+// ignore_for_file: public_member_api_docs, sort_constructors_first
|
|
|
+import 'dart:convert';
|
|
|
+
|
|
|
import 'package:cancellation_token_http/http.dart';
|
|
|
import 'package:collection/collection.dart';
|
|
|
-import 'package:immich_mobile/shared/models/server_info/server_disk_info.model.dart';
|
|
|
import 'package:photo_manager/photo_manager.dart';
|
|
|
|
|
|
import 'package:immich_mobile/modules/backup/models/available_album.model.dart';
|
|
|
import 'package:immich_mobile/modules/backup/models/current_upload_asset.model.dart';
|
|
|
+import 'package:immich_mobile/shared/models/server_info/server_disk_info.model.dart';
|
|
|
|
|
|
enum BackUpProgressEnum {
|
|
|
idle,
|
|
@@ -19,6 +22,7 @@ class BackUpState {
|
|
|
final BackUpProgressEnum backupProgress;
|
|
|
final List<String> allAssetsInDatabase;
|
|
|
final double progressInPercentage;
|
|
|
+ final double iCloudDownloadProgress;
|
|
|
final CancellationToken cancelToken;
|
|
|
final ServerDiskInfo serverInfo;
|
|
|
final bool autoBackup;
|
|
@@ -45,6 +49,7 @@ class BackUpState {
|
|
|
required this.backupProgress,
|
|
|
required this.allAssetsInDatabase,
|
|
|
required this.progressInPercentage,
|
|
|
+ required this.iCloudDownloadProgress,
|
|
|
required this.cancelToken,
|
|
|
required this.serverInfo,
|
|
|
required this.autoBackup,
|
|
@@ -64,6 +69,7 @@ class BackUpState {
|
|
|
BackUpProgressEnum? backupProgress,
|
|
|
List<String>? allAssetsInDatabase,
|
|
|
double? progressInPercentage,
|
|
|
+ double? iCloudDownloadProgress,
|
|
|
CancellationToken? cancelToken,
|
|
|
ServerDiskInfo? serverInfo,
|
|
|
bool? autoBackup,
|
|
@@ -82,6 +88,8 @@ class BackUpState {
|
|
|
backupProgress: backupProgress ?? this.backupProgress,
|
|
|
allAssetsInDatabase: allAssetsInDatabase ?? this.allAssetsInDatabase,
|
|
|
progressInPercentage: progressInPercentage ?? this.progressInPercentage,
|
|
|
+ iCloudDownloadProgress:
|
|
|
+ iCloudDownloadProgress ?? this.iCloudDownloadProgress,
|
|
|
cancelToken: cancelToken ?? this.cancelToken,
|
|
|
serverInfo: serverInfo ?? this.serverInfo,
|
|
|
autoBackup: autoBackup ?? this.autoBackup,
|
|
@@ -102,18 +110,18 @@ class BackUpState {
|
|
|
|
|
|
@override
|
|
|
String toString() {
|
|
|
- return 'BackUpState(backupProgress: $backupProgress, allAssetsInDatabase: $allAssetsInDatabase, progressInPercentage: $progressInPercentage, cancelToken: $cancelToken, serverInfo: $serverInfo, autoBackup: $autoBackup, backgroundBackup: $backgroundBackup, backupRequireWifi: $backupRequireWifi, backupRequireCharging: $backupRequireCharging, backupTriggerDelay: $backupTriggerDelay, availableAlbums: $availableAlbums, selectedBackupAlbums: $selectedBackupAlbums, excludedBackupAlbums: $excludedBackupAlbums, allUniqueAssets: $allUniqueAssets, selectedAlbumsBackupAssetsIds: $selectedAlbumsBackupAssetsIds, currentUploadAsset: $currentUploadAsset)';
|
|
|
+ return 'BackUpState(backupProgress: $backupProgress, allAssetsInDatabase: $allAssetsInDatabase, progressInPercentage: $progressInPercentage, iCloudDownloadProgress: $iCloudDownloadProgress, cancelToken: $cancelToken, serverInfo: $serverInfo, autoBackup: $autoBackup, backgroundBackup: $backgroundBackup, backupRequireWifi: $backupRequireWifi, backupRequireCharging: $backupRequireCharging, backupTriggerDelay: $backupTriggerDelay, availableAlbums: $availableAlbums, selectedBackupAlbums: $selectedBackupAlbums, excludedBackupAlbums: $excludedBackupAlbums, allUniqueAssets: $allUniqueAssets, selectedAlbumsBackupAssetsIds: $selectedAlbumsBackupAssetsIds, currentUploadAsset: $currentUploadAsset)';
|
|
|
}
|
|
|
|
|
|
@override
|
|
|
- bool operator ==(Object other) {
|
|
|
+ bool operator ==(covariant BackUpState other) {
|
|
|
if (identical(this, other)) return true;
|
|
|
final collectionEquals = const DeepCollectionEquality().equals;
|
|
|
|
|
|
- return other is BackUpState &&
|
|
|
- other.backupProgress == backupProgress &&
|
|
|
+ return other.backupProgress == backupProgress &&
|
|
|
collectionEquals(other.allAssetsInDatabase, allAssetsInDatabase) &&
|
|
|
other.progressInPercentage == progressInPercentage &&
|
|
|
+ other.iCloudDownloadProgress == iCloudDownloadProgress &&
|
|
|
other.cancelToken == cancelToken &&
|
|
|
other.serverInfo == serverInfo &&
|
|
|
other.autoBackup == autoBackup &&
|
|
@@ -125,10 +133,8 @@ class BackUpState {
|
|
|
collectionEquals(other.selectedBackupAlbums, selectedBackupAlbums) &&
|
|
|
collectionEquals(other.excludedBackupAlbums, excludedBackupAlbums) &&
|
|
|
collectionEquals(other.allUniqueAssets, allUniqueAssets) &&
|
|
|
- collectionEquals(
|
|
|
- other.selectedAlbumsBackupAssetsIds,
|
|
|
- selectedAlbumsBackupAssetsIds,
|
|
|
- ) &&
|
|
|
+ collectionEquals(other.selectedAlbumsBackupAssetsIds,
|
|
|
+ selectedAlbumsBackupAssetsIds) &&
|
|
|
other.currentUploadAsset == currentUploadAsset;
|
|
|
}
|
|
|
|
|
@@ -137,6 +143,7 @@ class BackUpState {
|
|
|
return backupProgress.hashCode ^
|
|
|
allAssetsInDatabase.hashCode ^
|
|
|
progressInPercentage.hashCode ^
|
|
|
+ iCloudDownloadProgress.hashCode ^
|
|
|
cancelToken.hashCode ^
|
|
|
serverInfo.hashCode ^
|
|
|
autoBackup.hashCode ^
|