From 7898d3f78ab9fcf629227469b90069da29811053 Mon Sep 17 00:00:00 2001
From: Kamal Bramwell <kamal@elixxir.io>
Date: Fri, 2 Dec 2022 11:01:54 -0500
Subject: [PATCH] Implement enabled/disabled state for Crust backup

---
 .../data/backup/BackupPreferencesDelegate.kt       | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/app/src/main/java/io/xxlabs/messenger/backup/data/backup/BackupPreferencesDelegate.kt b/app/src/main/java/io/xxlabs/messenger/backup/data/backup/BackupPreferencesDelegate.kt
index 381a13f6..d02f3295 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/data/backup/BackupPreferencesDelegate.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/data/backup/BackupPreferencesDelegate.kt
@@ -4,6 +4,7 @@ import android.content.Context
 import android.net.ConnectivityManager
 import androidx.lifecycle.LiveData
 import androidx.lifecycle.MutableLiveData
+import io.xxlabs.messenger.backup.cloud.crust.Crust
 import io.xxlabs.messenger.backup.cloud.drive.GoogleDrive
 import io.xxlabs.messenger.backup.cloud.dropbox.Dropbox
 import io.xxlabs.messenger.backup.cloud.sftp.transfer.Sftp
@@ -59,6 +60,7 @@ class BackupPreferencesDelegate(
             is GoogleDrive -> googleDriveEnabled(enabled)
             is Dropbox -> dropboxEnabled(enabled)
             is Sftp -> sftpEnabled(enabled)
+            is Crust -> crustEnabled(enabled)
         }
         reflectChanges()
         if (enabled) tryBackup()
@@ -69,6 +71,7 @@ class BackupPreferencesDelegate(
         if (enabled) {
             preferences.isDropboxEnabled = false
             preferences.isSftpEnabled = false
+            preferences.isCrustEnabled = false
         }
     }
 
@@ -77,6 +80,7 @@ class BackupPreferencesDelegate(
         if (enabled) {
             preferences.isGoogleDriveEnabled = false
             preferences.isSftpEnabled = false
+            preferences.isCrustEnabled = false
         }
     }
 
@@ -85,6 +89,16 @@ class BackupPreferencesDelegate(
         if (enabled) {
             preferences.isGoogleDriveEnabled = false
             preferences.isDropboxEnabled = false
+            preferences.isCrustEnabled = false
+        }
+    }
+
+    private fun crustEnabled(enabled: Boolean) {
+        preferences.isCrustEnabled = enabled
+        if (enabled) {
+            preferences.isGoogleDriveEnabled = false
+            preferences.isDropboxEnabled = false
+            preferences.isSftpEnabled = false
         }
     }
 
-- 
GitLab