diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/preferences/ImportExportPreferencesFragment.java | 17 | ||||
-rw-r--r-- | app/src/main/res/xml/preferences_import_export.xml | 7 |
2 files changed, 23 insertions, 1 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 5275f5f7e..c805a0abd 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 @@ -5,7 +5,6 @@ import android.app.ProgressDialog; import android.content.ActivityNotFoundException; import android.content.ComponentName; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; @@ -25,6 +24,7 @@ import de.danoeh.antennapod.activity.SplashActivity; import de.danoeh.antennapod.asynctask.DocumentFileExportWorker; import de.danoeh.antennapod.asynctask.ExportWorker; import de.danoeh.antennapod.core.export.ExportWriter; +import de.danoeh.antennapod.core.export.favorites.FavoritesWriter; import de.danoeh.antennapod.core.export.html.HtmlWriter; import de.danoeh.antennapod.core.export.opml.OpmlWriter; import de.danoeh.antennapod.core.storage.DatabaseExporter; @@ -47,15 +47,18 @@ public class ImportExportPreferencesFragment extends PreferenceFragmentCompat { private static final String PREF_HTML_EXPORT = "prefHtmlExport"; private static final String PREF_DATABASE_IMPORT = "prefDatabaseImport"; private static final String PREF_DATABASE_EXPORT = "prefDatabaseExport"; + private static final String PREF_FAVORITE_EXPORT = "prefFavoritesExport"; private static final String DEFAULT_OPML_OUTPUT_NAME = "antennapod-feeds-%s.opml"; private static final String CONTENT_TYPE_OPML = "text/x-opml"; private static final String DEFAULT_HTML_OUTPUT_NAME = "antennapod-feeds-%s.html"; private static final String CONTENT_TYPE_HTML = "text/html"; + private static final String DEFAULT_FAVORITES_OUTPUT_NAME = "antennapod-favorites-%s.html"; private static final int REQUEST_CODE_CHOOSE_OPML_EXPORT_PATH = 1; private static final int REQUEST_CODE_CHOOSE_OPML_IMPORT_PATH = 2; private static final int REQUEST_CODE_CHOOSE_HTML_EXPORT_PATH = 3; private static final int REQUEST_CODE_RESTORE_DATABASE = 4; private static final int REQUEST_CODE_BACKUP_DATABASE = 5; + private static final int REQUEST_CODE_CHOOSE_FAVORITES_EXPORT_PATH = 6; private static final String DATABASE_EXPORT_FILENAME = "AntennaPodBackup-%s.db"; private Disposable disposable; private ProgressDialog progressDialog; @@ -125,6 +128,12 @@ public class ImportExportPreferencesFragment extends PreferenceFragmentCompat { exportDatabase(); return true; }); + findPreference(PREF_FAVORITE_EXPORT).setOnPreferenceClickListener( + preference -> { + openExportPathPicker(CONTENT_TYPE_HTML, dateStampFilename(DEFAULT_FAVORITES_OUTPUT_NAME), + REQUEST_CODE_CHOOSE_FAVORITES_EXPORT_PATH, new FavoritesWriter()); + return true; + }); } private void exportWithWriter(ExportWriter exportWriter, final Uri uri) { @@ -199,6 +208,10 @@ public class ImportExportPreferencesFragment extends PreferenceFragmentCompat { builder.show(); } + private void importFavorites() { + // TODO implement + } + private void showDatabaseImportSuccessDialog() { AlertDialog.Builder d = new AlertDialog.Builder(getContext()); d.setMessage(R.string.import_ok); @@ -257,6 +270,8 @@ public class ImportExportPreferencesFragment extends PreferenceFragmentCompat { exportWithWriter(new OpmlWriter(), uri); } else if (requestCode == REQUEST_CODE_CHOOSE_HTML_EXPORT_PATH) { exportWithWriter(new HtmlWriter(), uri); + } else if (requestCode == REQUEST_CODE_CHOOSE_FAVORITES_EXPORT_PATH) { + exportWithWriter(new FavoritesWriter(), uri); } else if (requestCode == REQUEST_CODE_RESTORE_DATABASE) { progressDialog.show(); disposable = Completable.fromAction(() -> DatabaseExporter.importBackup(uri, getContext())) diff --git a/app/src/main/res/xml/preferences_import_export.xml b/app/src/main/res/xml/preferences_import_export.xml index 12e27236d..a184b48fa 100644 --- a/app/src/main/res/xml/preferences_import_export.xml +++ b/app/src/main/res/xml/preferences_import_export.xml @@ -27,6 +27,13 @@ android:summary="@string/opml_import_summary"/> </PreferenceCategory> + <PreferenceCategory android:title="@string/favorites"> + <Preference + android:key="prefFavoritesExport" + android:title="@string/favorites_export_label" + android:summary="@string/favorites_export_summary"/> + </PreferenceCategory> + <PreferenceCategory android:title="@string/html"> <Preference android:key="prefHtmlExport" |