From: Damyan Ivanov <dam+mobileledger@ktnx.net>
Date: Sat, 21 Aug 2021 16:15:50 +0000 (+0300)
Subject: gray out the backup controls if there is nothing to backup
X-Git-Tag: v0.20.0~11
X-Git-Url: https://git.ktnx.net/?a=commitdiff_plain;h=c23ad9955ae6fd92f6fac4fb176678ee3eb8fe7c;p=mobile-ledger.git

gray out the backup controls if there is nothing to backup
---

diff --git a/app/src/main/java/net/ktnx/mobileledger/BackupsActivity.java b/app/src/main/java/net/ktnx/mobileledger/BackupsActivity.java
index 9a1f706a..65ab5446 100644
--- a/app/src/main/java/net/ktnx/mobileledger/BackupsActivity.java
+++ b/app/src/main/java/net/ktnx/mobileledger/BackupsActivity.java
@@ -33,6 +33,7 @@ import com.google.android.material.snackbar.Snackbar;
 import net.ktnx.mobileledger.async.ConfigReader;
 import net.ktnx.mobileledger.async.ConfigWriter;
 import net.ktnx.mobileledger.databinding.FragmentBackupsBinding;
+import net.ktnx.mobileledger.model.Data;
 
 import java.io.IOException;
 import java.text.DateFormat;
@@ -67,6 +68,17 @@ public class BackupsActivity extends AppCompatActivity {
         restoreChooserLauncher =
                 registerForActivityResult(new ActivityResultContracts.OpenDocument(),
                         this::readConfig);
+
+        Data.observeProfile(this, p -> {
+            if (p == null) {
+                b.backupButton.setEnabled(false);
+                b.backupExplanationText.setEnabled(false);
+            }
+            else {
+                b.backupButton.setEnabled(true);
+                b.backupExplanationText.setEnabled(true);
+            }
+        });
     }
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java
index c3331ce6..de91ca77 100644
--- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java
+++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java
@@ -220,6 +220,7 @@ public class MainActivity extends ProfileThemedActivity implements FabManager.Fa
         }
 
         b.btnNoProfilesAdd.setOnClickListener(v -> ProfileDetailActivity.start(this, null));
+        b.btnRestore.setOnClickListener(v -> BackupsActivity.start(this));
 
         b.btnAddTransaction.setOnClickListener(this::fabNewTransactionClicked);