Search in sources :

Example 1 with DocumentFileExportWorker

use of de.danoeh.antennapod.asynctask.DocumentFileExportWorker in project AntennaPod by AntennaPod.

the class ImportExportPreferencesFragment method exportWithWriter.

private void exportWithWriter(ExportWriter exportWriter, final Uri uri) {
    Context context = getActivity();
    progressDialog.show();
    if (uri == null) {
        Observable<File> observable = new ExportWorker(exportWriter, getContext()).exportObservable();
        disposable = observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(output -> {
            Uri fileUri = FileProvider.getUriForFile(context.getApplicationContext(), context.getString(R.string.provider_authority), output);
            showExportSuccessDialog(output.toString(), fileUri);
        }, this::showExportErrorDialog, progressDialog::dismiss);
    } else {
        DocumentFileExportWorker worker = new DocumentFileExportWorker(exportWriter, context, uri);
        disposable = worker.exportObservable().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(output -> showExportSuccessDialog(output.getUri().toString(), output.getUri()), this::showExportErrorDialog, progressDialog::dismiss);
    }
}
Also used : Context(android.content.Context) Context(android.content.Context) Bundle(android.os.Bundle) AlertDialog(androidx.appcompat.app.AlertDialog) PackageManager(android.content.pm.PackageManager) ExportWriter(de.danoeh.antennapod.core.export.ExportWriter) NonNull(androidx.annotation.NonNull) Date(java.util.Date) Completable(io.reactivex.Completable) Uri(android.net.Uri) SimpleDateFormat(java.text.SimpleDateFormat) Intent(android.content.Intent) StartActivityForResult(androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult) GetContent(androidx.activity.result.contract.ActivityResultContracts.GetContent) PreferenceFragmentCompat(androidx.preference.PreferenceFragmentCompat) AndroidSchedulers(io.reactivex.android.schedulers.AndroidSchedulers) UserPreferences(de.danoeh.antennapod.core.preferences.UserPreferences) PodcastApp(de.danoeh.antennapod.PodcastApp) ExportWorker(de.danoeh.antennapod.asynctask.ExportWorker) OpmlWriter(de.danoeh.antennapod.core.export.opml.OpmlWriter) PreferenceActivity(de.danoeh.antennapod.activity.PreferenceActivity) Locale(java.util.Locale) OpmlImportActivity(de.danoeh.antennapod.activity.OpmlImportActivity) DatabaseExporter(de.danoeh.antennapod.core.storage.DatabaseExporter) Observable(io.reactivex.Observable) Schedulers(io.reactivex.schedulers.Schedulers) Log(android.util.Log) ActivityResultLauncher(androidx.activity.result.ActivityResultLauncher) R(de.danoeh.antennapod.R) ProgressDialog(android.app.ProgressDialog) File(java.io.File) ResolveInfo(android.content.pm.ResolveInfo) DocumentFileExportWorker(de.danoeh.antennapod.asynctask.DocumentFileExportWorker) Disposable(io.reactivex.disposables.Disposable) List(java.util.List) HtmlWriter(de.danoeh.antennapod.core.export.html.HtmlWriter) ActivityNotFoundException(android.content.ActivityNotFoundException) ActivityResultContracts(androidx.activity.result.contract.ActivityResultContracts) FileProvider(androidx.core.content.FileProvider) FavoritesWriter(de.danoeh.antennapod.core.export.favorites.FavoritesWriter) Activity(android.app.Activity) Snackbar(com.google.android.material.snackbar.Snackbar) ActivityResult(androidx.activity.result.ActivityResult) ExportWorker(de.danoeh.antennapod.asynctask.ExportWorker) DocumentFileExportWorker(de.danoeh.antennapod.asynctask.DocumentFileExportWorker) DocumentFileExportWorker(de.danoeh.antennapod.asynctask.DocumentFileExportWorker) File(java.io.File) Uri(android.net.Uri)

Aggregations

Activity (android.app.Activity)1 ProgressDialog (android.app.ProgressDialog)1 ActivityNotFoundException (android.content.ActivityNotFoundException)1 Context (android.content.Context)1 Intent (android.content.Intent)1 PackageManager (android.content.pm.PackageManager)1 ResolveInfo (android.content.pm.ResolveInfo)1 Uri (android.net.Uri)1 Bundle (android.os.Bundle)1 Log (android.util.Log)1 ActivityResult (androidx.activity.result.ActivityResult)1 ActivityResultLauncher (androidx.activity.result.ActivityResultLauncher)1 ActivityResultContracts (androidx.activity.result.contract.ActivityResultContracts)1 GetContent (androidx.activity.result.contract.ActivityResultContracts.GetContent)1 StartActivityForResult (androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult)1 NonNull (androidx.annotation.NonNull)1 AlertDialog (androidx.appcompat.app.AlertDialog)1 FileProvider (androidx.core.content.FileProvider)1 PreferenceFragmentCompat (androidx.preference.PreferenceFragmentCompat)1 Snackbar (com.google.android.material.snackbar.Snackbar)1