/*
- * 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
package net.ktnx.mobileledger;
+import android.content.Context;
+import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.MenuItem;
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;
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);
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) {