]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/BackupsActivity.java
provide cloud backup functionality
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / BackupsActivity.java
index 9a1f706a718264f90cc2df3e39cc39802719df35..242fbb567be8802a2096ae33921d29ab432c45ef 100644 (file)
@@ -17,6 +17,8 @@
 
 package net.ktnx.mobileledger;
 
+import android.content.Context;
+import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
 import android.view.MenuItem;
@@ -30,9 +32,10 @@ import androidx.appcompat.app.AppCompatActivity;
 import com.google.android.material.snackbar.BaseTransientBottomBar;
 import com.google.android.material.snackbar.Snackbar;
 
-import net.ktnx.mobileledger.async.ConfigReader;
-import net.ktnx.mobileledger.async.ConfigWriter;
+import net.ktnx.mobileledger.backup.ConfigReader;
+import net.ktnx.mobileledger.backup.ConfigWriter;
 import net.ktnx.mobileledger.databinding.FragmentBackupsBinding;
+import net.ktnx.mobileledger.model.Data;
 
 import java.io.IOException;
 import java.text.DateFormat;
@@ -44,6 +47,10 @@ public class BackupsActivity extends AppCompatActivity {
     private FragmentBackupsBinding b;
     private ActivityResultLauncher<String> backupChooserLauncher;
     private ActivityResultLauncher<String[]> restoreChooserLauncher;
+    public static void start(Context context) {
+        Intent starter = new Intent(context, BackupsActivity.class);
+        context.startActivity(starter);
+    }
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -67,6 +74,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) {