diff options
author | ByteHamster <ByteHamster@users.noreply.github.com> | 2023-11-05 16:06:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-05 16:06:20 +0100 |
commit | 0a6a3d6854d5ca3e5a1d6d5f86d8b7fd7428e401 (patch) | |
tree | ba6ee3c1932eb1ebecdc34bd93b6aefbe6c1f2a4 /app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java | |
parent | 34c7fd576f5c92898da564f69c153aa72697d4fd (diff) | |
download | AntennaPod-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.java | 29 |
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); } |