diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/PreferencesFragment.java b/app/src/main/java/com/beemdevelopment/aegis/ui/PreferencesFragment.java index 6b8dd876..47532366 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/PreferencesFragment.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/PreferencesFragment.java @@ -37,6 +37,7 @@ import com.beemdevelopment.aegis.services.NotificationService; import com.beemdevelopment.aegis.ui.models.ImportEntry; import com.beemdevelopment.aegis.ui.preferences.SwitchPreference; import com.beemdevelopment.aegis.util.UUIDMap; +import com.beemdevelopment.aegis.vault.VaultBackupManager; import com.beemdevelopment.aegis.vault.VaultEntry; import com.beemdevelopment.aegis.vault.VaultFileCredentials; import com.beemdevelopment.aegis.vault.VaultFileException; @@ -633,10 +634,13 @@ public class PreferencesFragment extends PreferenceFragmentCompat { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()) .setTitle(R.string.pref_export_summary) .setPositiveButton(android.R.string.ok, (dialog, which) -> { + String filename = checked.get() ? VaultManager.FILENAME_EXPORT : VaultManager.FILENAME_EXPORT_PLAIN; + filename = new VaultBackupManager.FileInfo(filename).toString(); + Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT) .addCategory(Intent.CATEGORY_OPENABLE) .setType("application/json") - .putExtra(Intent.EXTRA_TITLE, checked.get() ? VaultManager.FILENAME_EXPORT : VaultManager.FILENAME_EXPORT_PLAIN); + .putExtra(Intent.EXTRA_TITLE, filename); startActivityForResult(intent, checked.get() ? CODE_EXPORT_ENCRYPT : CODE_EXPORT); }) diff --git a/app/src/main/java/com/beemdevelopment/aegis/vault/VaultBackupManager.java b/app/src/main/java/com/beemdevelopment/aegis/vault/VaultBackupManager.java index 9ae6c3a6..0736ec02 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/vault/VaultBackupManager.java +++ b/app/src/main/java/com/beemdevelopment/aegis/vault/VaultBackupManager.java @@ -41,7 +41,7 @@ public class VaultBackupManager { } public void create(Uri dirUri, int versionsToKeep) throws VaultManagerException { - FileInfo fileInfo = new FileInfo(FILENAME_PREFIX, Calendar.getInstance().getTime()); + FileInfo fileInfo = new FileInfo(FILENAME_PREFIX); DocumentFile dir = DocumentFile.fromTreeUri(_context, dirUri); Log.i(TAG, String.format("Creating backup at %s: %s", Uri.decode(dir.getUri().toString()), fileInfo.toString())); @@ -112,7 +112,7 @@ public class VaultBackupManager { } } - private static class FileInfo { + public static class FileInfo { private String _filename; private Date _date; @@ -121,6 +121,10 @@ public class VaultBackupManager { _date = date; } + public FileInfo(String filename) { + this(filename, Calendar.getInstance().getTime()); + } + public static FileInfo parseFilename(String filename) throws ParseException { if (filename == null) { throw new ParseException("The filename must not be null", 0);