summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2023-11-05 16:06:20 +0100
committerGitHub <noreply@github.com>2023-11-05 16:06:20 +0100
commit0a6a3d6854d5ca3e5a1d6d5f86d8b7fd7428e401 (patch)
treeba6ee3c1932eb1ebecdc34bd93b6aefbe6c1f2a4 /app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java
parent34c7fd576f5c92898da564f69c153aa72697d4fd (diff)
downloadAntennaPod-0a6a3d6854d5ca3e5a1d6d5f86d8b7fd7428e401.zip
Add button to share exported database export (#6746)
Also hide path, is not accessible on recent Android versions anyway.
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java29
1 files changed, 12 insertions, 17 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java
index 3b4368464..686be884c 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java
@@ -147,7 +147,7 @@ public class ImportExportPreferencesFragment extends PreferenceFragmentCompat {
.subscribe(output -> {
Uri fileUri = FileProvider.getUriForFile(context.getApplicationContext(),
context.getString(R.string.provider_authority), output);
- showExportSuccessDialog(output.toString(), fileUri, exportType);
+ showExportSuccessSnackbar(fileUri, exportType.contentType);
}, this::showExportErrorDialog, progressDialog::dismiss);
} else {
DocumentFileExportWorker worker = new DocumentFileExportWorker(exportWriter, context, uri);
@@ -155,7 +155,7 @@ public class ImportExportPreferencesFragment extends PreferenceFragmentCompat {
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(output ->
- showExportSuccessDialog(output.getUri().toString(), output.getUri(), exportType),
+ showExportSuccessSnackbar(output.getUri(), exportType.contentType),
this::showExportErrorDialog, progressDialog::dismiss);
}
}
@@ -191,20 +191,15 @@ public class ImportExportPreferencesFragment extends PreferenceFragmentCompat {
builder.show();
}
- private void showExportSuccessDialog(String path, Uri streamUri, Export exportType) {
- final MaterialAlertDialogBuilder alert = new MaterialAlertDialogBuilder(getContext());
- alert.setNeutralButton(android.R.string.ok, (dialog, which) -> dialog.dismiss());
- alert.setTitle(R.string.export_success_title);
- alert.setMessage(getContext().getString(R.string.export_success_sum, path));
- alert.setPositiveButton(R.string.send_label, (dialog, which) -> {
- new ShareCompat.IntentBuilder(getContext())
- .setType(exportType.contentType)
- .setSubject(getString(exportType.labelResId))
- .addStream(streamUri)
- .setChooserTitle(R.string.send_label)
- .startChooser();
- });
- alert.create().show();
+ void showExportSuccessSnackbar(Uri uri, String mimeType) {
+ Snackbar.make(getView(), R.string.export_success_title, Snackbar.LENGTH_LONG)
+ .setAction(R.string.share_label, v ->
+ new ShareCompat.IntentBuilder(getContext())
+ .setType(mimeType)
+ .addStream(uri)
+ .setChooserTitle(R.string.share_label)
+ .startChooser())
+ .show();
}
private void showExportErrorDialog(final Throwable error) {
@@ -264,7 +259,7 @@ public class ImportExportPreferencesFragment extends PreferenceFragmentCompat {
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(() -> {
- Snackbar.make(getView(), R.string.export_success_title, Snackbar.LENGTH_LONG).show();
+ showExportSuccessSnackbar(uri, "application/x-sqlite3");
progressDialog.dismiss();
}, this::showExportErrorDialog);
}