Browse Source

fix(mobile): backup indicator wrong when only background backup is enabled (#4842)

Co-authored-by: Fynn Petersen-Frey <zoodyy@users.noreply.github.com>
Fynn Petersen-Frey 1 năm trước cách đây
mục cha
commit
68000c21a8

+ 5 - 1
mobile/lib/modules/backup/providers/backup.provider.dart

@@ -40,7 +40,7 @@ class BackupNotifier extends StateNotifier<BackUpState> {
             progressInPercentage: 0,
             cancelToken: CancellationToken(),
             autoBackup: Store.get(StoreKey.autoBackup, false),
-            backgroundBackup: false,
+            backgroundBackup: Store.get(StoreKey.backgroundBackup, false),
             backupRequireWifi: Store.get(StoreKey.backupRequireWifi, true),
             backupRequireCharging:
                 Store.get(StoreKey.backupRequireCharging, false),
@@ -171,6 +171,7 @@ class BackupNotifier extends StateNotifier<BackUpState> {
           state.backupRequireCharging,
         );
         await Store.put(StoreKey.backupTriggerDelay, state.backupTriggerDelay);
+        await Store.put(StoreKey.backgroundBackup, state.backgroundBackup);
       } else {
         state = state.copyWith(
           backgroundBackup: wasEnabled,
@@ -383,6 +384,9 @@ class BackupNotifier extends StateNotifier<BackUpState> {
     final isEnabled = await _backgroundService.isBackgroundBackupEnabled();
 
     state = state.copyWith(backgroundBackup: isEnabled);
+    if (isEnabled != Store.get(StoreKey.backgroundBackup, !isEnabled)) {
+      Store.put(StoreKey.backgroundBackup, isEnabled);
+    }
 
     if (state.backupProgress != BackUpProgressEnum.inBackground) {
       await _getBackupAlbumsInfo();

+ 1 - 0
mobile/lib/shared/models/store.dart

@@ -156,6 +156,7 @@ enum StoreKey<T> {
   accessToken<String>(11, type: String),
   serverEndpoint<String>(12, type: String),
   autoBackup<bool>(13, type: bool),
+  backgroundBackup<bool>(14, type: bool),
   // user settings from [AppSettingsEnum] below:
   loadPreview<bool>(100, type: bool),
   loadOriginal<bool>(101, type: bool),