BackupRestoreSettingsFragment: add UI options to import/export subscriptions

* create SubscriptionsImportExportHelper to share common code used in
  SubscriptionFragment and BackupRestoreSettingsFragment
* Add UI options for import/export in BackupRestoreSettingsFragment
This commit is contained in:
evermind 2026-02-13 01:40:11 +01:00 committed by Aayush Gupta
parent 6fa97e17f5
commit bfcc31ec89
6 changed files with 130 additions and 55 deletions

View file

@ -413,6 +413,8 @@
<string name="import_export_data_path">import_export_data_path</string>
<string name="import_data">import_data</string>
<string name="export_data">export_data</string>
<string name="import_subscriptions_key">import_subscriptions_key</string>
<string name="export_subscriptions_key">export_subscriptions_key</string>
<string name="clear_cookie_key">clear_cookie</string>

View file

@ -520,6 +520,11 @@
<string name="export_ongoing">Exporting…</string>
<string name="import_file_title">Import file</string>
<string name="previous_export">Previous export</string>
<string name="import_subscriptions_title">Import subscriptions"</string>
<string name="export_subscriptions_title">Export subscriptions</string>
<string name="import_subscriptions_summary">Import subscriptions from a previous .json export"</string>
<string name="export_subscriptions_summary">Export your subscriptions to a .json file</string>
<string name="import_from_previous_export">Import from previous export</string>
<string name="subscriptions_import_unsuccessful">Could not import subscriptions</string>
<string name="subscriptions_export_unsuccessful">Could not export subscriptions</string>
<string name="import_youtube_instructions">Import YouTube subscriptions from Google takeout:

View file

@ -22,4 +22,18 @@
android:summary="@string/reset_settings_summary"
app:singleLineTitle="false"
app:iconSpaceReserved="false" />
<Preference
android:key="@string/export_subscriptions_key"
android:title="@string/export_subscriptions_title"
android:summary="@string/export_subscriptions_summary"
app:singleLineTitle="false"
app:iconSpaceReserved="false" />
<Preference
android:key="@string/import_subscriptions_key"
android:title="@string/import_subscriptions_title"
android:summary="@string/import_subscriptions_summary"
app:singleLineTitle="false"
app:iconSpaceReserved="false" />
</PreferenceScreen>