X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2FBackupsActivity.java;h=a2b5cf6caae5306fe88a0e6294b88b05e28da385;hb=7be576998b7449151aabd6b2810990436beaf623;hp=9a1f706a718264f90cc2df3e39cc39802719df35;hpb=39eca7a036963be2e6dc4e6403961177f2c5267d;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/BackupsActivity.java b/app/src/main/java/net/ktnx/mobileledger/BackupsActivity.java index 9a1f706a..a2b5cf6c 100644 --- a/app/src/main/java/net/ktnx/mobileledger/BackupsActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/BackupsActivity.java @@ -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 backupChooserLauncher; private ActivityResultLauncher 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) {