]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/BackupsActivity.java
adjust deprecated constructor usage
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / BackupsActivity.java
index 9a1f706a718264f90cc2df3e39cc39802719df35..a2b5cf6caae5306fe88a0e6294b88b05e28da385 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2021 Damyan Ivanov.
+ * Copyright © 2022 Damyan Ivanov.
  * This file is part of MoLe.
  * MoLe is free software: you can distribute it and/or modify it
  * under the term of the GNU General Public License as published by
@@ -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);
@@ -61,12 +68,22 @@ public class BackupsActivity extends AppCompatActivity {
         b.restoreButton.setOnClickListener(this::restoreClicked);
 
 
-        backupChooserLauncher =
-                registerForActivityResult(new ActivityResultContracts.CreateDocument(),
-                        this::storeConfig);
+        backupChooserLauncher = registerForActivityResult(
+                new ActivityResultContracts.CreateDocument("application/json"), this::storeConfig);
         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) {