diff --git a/app/build.gradle b/app/build.gradle
index 559e36a3f..a2dc2d13b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -93,6 +93,7 @@ dependencies {
implementation project(':ui:echo')
implementation project(':ui:glide')
implementation project(':ui:i18n')
+ implementation project(':ui:preferences')
implementation project(':ui:statistics')
annotationProcessor "androidx.annotation:annotation:$annotationVersion"
@@ -142,13 +143,3 @@ if (project.hasProperty("antennaPodPlayPublisherCredentials")) {
serviceAccountCredentials.set(file(antennaPodPlayPublisherCredentials))
}
}
-
-tasks.register('copyLicense', Copy) {
- from "../LICENSE"
- into "src/main/assets/"
- rename { String fileName ->
- fileName + ".txt"
- }
-}
-
-preBuild.dependsOn copyLicense
diff --git a/app/src/main/java/de/danoeh/antennapod/PodcastApp.java b/app/src/main/java/de/danoeh/antennapod/PodcastApp.java
index ab52bc98a..d39015834 100644
--- a/app/src/main/java/de/danoeh/antennapod/PodcastApp.java
+++ b/app/src/main/java/de/danoeh/antennapod/PodcastApp.java
@@ -1,13 +1,10 @@
package de.danoeh.antennapod;
import android.app.Application;
-import android.content.ComponentName;
-import android.content.Intent;
import android.os.StrictMode;
import com.google.android.material.color.DynamicColors;
-import de.danoeh.antennapod.activity.SplashActivity;
import de.danoeh.antennapod.config.ApplicationCallbacksImpl;
import de.danoeh.antennapod.core.ApCoreEventBusIndex;
import de.danoeh.antennapod.core.ClientConfig;
@@ -61,13 +58,4 @@ public class PodcastApp extends Application {
DynamicColors.applyToActivitiesIfAvailable(this);
}
-
- public static void forceRestart() {
- Intent intent = new Intent(getInstance(), SplashActivity.class);
- ComponentName cn = intent.getComponent();
- Intent mainIntent = Intent.makeRestartActivityTask(cn);
- getInstance().startActivity(mainIntent);
- Runtime.getRuntime().exit(0);
- }
-
}
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
index 7afb98fd1..afbeb76ea 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OnlineFeedViewActivity.java
@@ -61,13 +61,13 @@ import de.danoeh.antennapod.net.common.UrlChecker;
import de.danoeh.antennapod.core.util.syndication.FeedDiscoverer;
import de.danoeh.antennapod.core.util.syndication.HtmlToPlainText;
import de.danoeh.antennapod.databinding.OnlinefeedviewActivityBinding;
-import de.danoeh.antennapod.dialog.AuthenticationDialog;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.feed.FeedPreferences;
import de.danoeh.antennapod.model.playback.RemoteMedia;
import de.danoeh.antennapod.parser.feed.UnsupportedFeedtypeException;
import de.danoeh.antennapod.ui.common.ThemeUtils;
import de.danoeh.antennapod.ui.glide.FastBlurTransformation;
+import de.danoeh.antennapod.ui.preferences.screen.synchronization.AuthenticationDialog;
import io.reactivex.Maybe;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
index 67669af78..8d6ac965f 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
@@ -23,15 +23,15 @@ import de.danoeh.antennapod.R;
import de.danoeh.antennapod.ui.common.ThemeSwitcher;
import de.danoeh.antennapod.databinding.SettingsActivityBinding;
import de.danoeh.antennapod.event.MessageEvent;
-import de.danoeh.antennapod.fragment.preferences.AutoDownloadPreferencesFragment;
import de.danoeh.antennapod.fragment.preferences.ImportExportPreferencesFragment;
import de.danoeh.antennapod.fragment.preferences.MainPreferencesFragment;
import de.danoeh.antennapod.fragment.preferences.DownloadsPreferencesFragment;
-import de.danoeh.antennapod.fragment.preferences.NotificationPreferencesFragment;
import de.danoeh.antennapod.fragment.preferences.PlaybackPreferencesFragment;
-import de.danoeh.antennapod.fragment.preferences.synchronization.SynchronizationPreferencesFragment;
import de.danoeh.antennapod.fragment.preferences.SwipePreferencesFragment;
import de.danoeh.antennapod.fragment.preferences.UserInterfacePreferencesFragment;
+import de.danoeh.antennapod.ui.preferences.screen.AutoDownloadPreferencesFragment;
+import de.danoeh.antennapod.ui.preferences.screen.NotificationPreferencesFragment;
+import de.danoeh.antennapod.ui.preferences.screen.synchronization.SynchronizationPreferencesFragment;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java
index 4626c061f..c40a56dce 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedSettingsFragment.java
@@ -38,10 +38,10 @@ import de.danoeh.antennapod.model.feed.VolumeAdaptionSetting;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBWriter;
-import de.danoeh.antennapod.dialog.AuthenticationDialog;
import de.danoeh.antennapod.dialog.EpisodeFilterDialog;
import de.danoeh.antennapod.dialog.FeedPreferenceSkipDialog;
import de.danoeh.antennapod.dialog.TagSettingsDialog;
+import de.danoeh.antennapod.ui.preferences.screen.synchronization.AuthenticationDialog;
import io.reactivex.Maybe;
import io.reactivex.MaybeOnSubscribe;
import io.reactivex.android.schedulers.AndroidSchedulers;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/actions/FeedMultiSelectActionHandler.java b/app/src/main/java/de/danoeh/antennapod/fragment/actions/FeedMultiSelectActionHandler.java
index 78ddccf0b..b5a9215e6 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/actions/FeedMultiSelectActionHandler.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/actions/FeedMultiSelectActionHandler.java
@@ -18,10 +18,10 @@ import de.danoeh.antennapod.core.storage.DBWriter;
import de.danoeh.antennapod.databinding.PlaybackSpeedFeedSettingDialogBinding;
import de.danoeh.antennapod.dialog.RemoveFeedDialog;
import de.danoeh.antennapod.dialog.TagSettingsDialog;
-import de.danoeh.antennapod.fragment.preferences.dialog.PreferenceListDialog;
-import de.danoeh.antennapod.fragment.preferences.dialog.PreferenceSwitchDialog;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.feed.FeedPreferences;
+import de.danoeh.antennapod.fragment.preferences.dialog.PreferenceListDialog;
+import de.danoeh.antennapod.fragment.preferences.dialog.PreferenceSwitchDialog;
public class FeedMultiSelectActionHandler {
private static final String TAG = "FeedSelectHandler";
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/DownloadsPreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/DownloadsPreferencesFragment.java
index 91ffa1c4f..27028eaa2 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/DownloadsPreferencesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/DownloadsPreferencesFragment.java
@@ -11,7 +11,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.core.util.download.FeedUpdateManager;
-import de.danoeh.antennapod.dialog.ChooseDataFolderDialog;
+import de.danoeh.antennapod.ui.preferences.screen.downloads.ChooseDataFolderDialog;
import de.danoeh.antennapod.dialog.ProxyDialog;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
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 6c0e0d456..1cf19aa68 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
@@ -24,7 +24,6 @@ import androidx.core.app.ShareCompat;
import androidx.core.content.FileProvider;
import androidx.preference.PreferenceFragmentCompat;
import com.google.android.material.snackbar.Snackbar;
-import de.danoeh.antennapod.PodcastApp;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.OpmlImportActivity;
import de.danoeh.antennapod.activity.PreferenceActivity;
@@ -38,6 +37,7 @@ import de.danoeh.antennapod.storage.importexport.FavoritesWriter;
import de.danoeh.antennapod.storage.importexport.HtmlWriter;
import de.danoeh.antennapod.storage.importexport.OpmlWriter;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
+import de.danoeh.antennapod.ui.appstartintent.MainActivityStarter;
import io.reactivex.Completable;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -205,7 +205,7 @@ public class ImportExportPreferencesFragment extends PreferenceFragmentCompat {
builder.setTitle(R.string.successful_import_label);
builder.setMessage(R.string.import_ok);
builder.setCancelable(false);
- builder.setPositiveButton(android.R.string.ok, (dialogInterface, i) -> PodcastApp.forceRestart());
+ builder.setPositiveButton(android.R.string.ok, (dialogInterface, i) -> forceRestart());
builder.show();
}
@@ -362,6 +362,12 @@ public class ImportExportPreferencesFragment extends PreferenceFragmentCompat {
((SwitchPreferenceCompat) findPreference(PREF_AUTOMATIC_DATABASE_EXPORT)).setChecked(true);
}
+ private void forceRestart() {
+ Intent intent = new MainActivityStarter(getContext()).getIntent();
+ getContext().getApplicationContext().startActivity(intent);
+ Runtime.getRuntime().exit(0);
+ }
+
private static class BackupDatabase extends ActivityResultContracts.CreateDocument {
BackupDatabase() {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/AboutFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/AboutFragment.java
index 01dd5911c..0b17da3e6 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/AboutFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/AboutFragment.java
@@ -11,6 +11,8 @@ import de.danoeh.antennapod.BuildConfig;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.core.util.IntentUtils;
+import de.danoeh.antennapod.ui.preferences.screen.about.ContributorsPagerFragment;
+import de.danoeh.antennapod.ui.preferences.screen.about.LicensesFragment;
public class AboutFragment extends PreferenceFragmentCompat {
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/VolumeAdaptationPreference.java b/app/src/main/java/de/danoeh/antennapod/preferences/VolumeAdaptationPreference.java
index 584b7d90e..a4ed402ed 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/VolumeAdaptationPreference.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/VolumeAdaptationPreference.java
@@ -6,6 +6,7 @@ import android.util.AttributeSet;
import java.util.Arrays;
import de.danoeh.antennapod.model.feed.VolumeAdaptionSetting;
+import de.danoeh.antennapod.ui.preferences.preference.MaterialListPreference;
public class VolumeAdaptationPreference extends MaterialListPreference {
public VolumeAdaptationPreference(Context context) {
diff --git a/app/src/main/res/xml/feed_settings.xml b/app/src/main/res/xml/feed_settings.xml
index b322217ad..2662b1906 100644
--- a/app/src/main/res/xml/feed_settings.xml
+++ b/app/src/main/res/xml/feed_settings.xml
@@ -40,7 +40,7 @@
android:summary="@string/pref_feed_skip_sum"
android:title="@string/pref_feed_skip" />
-
-
-
-
-
-
-
+
diff --git a/settings.gradle b/settings.gradle
index 9c74a57c5..3844ebf62 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -43,5 +43,6 @@ include ':ui:echo'
include ':ui:glide'
include ':ui:i18n'
include ':ui:notifications'
+include ':ui:preferences'
include ':ui:statistics'
include ':ui:widget'
diff --git a/app/src/main/res/anim/fade_in.xml b/ui/common/src/main/res/anim/fade_in.xml
similarity index 100%
rename from app/src/main/res/anim/fade_in.xml
rename to ui/common/src/main/res/anim/fade_in.xml
diff --git a/app/src/main/res/anim/fade_out.xml b/ui/common/src/main/res/anim/fade_out.xml
similarity index 100%
rename from app/src/main/res/anim/fade_out.xml
rename to ui/common/src/main/res/anim/fade_out.xml
diff --git a/app/src/main/res/anim/slide_left_in.xml b/ui/common/src/main/res/anim/slide_left_in.xml
similarity index 100%
rename from app/src/main/res/anim/slide_left_in.xml
rename to ui/common/src/main/res/anim/slide_left_in.xml
diff --git a/app/src/main/res/anim/slide_left_out.xml b/ui/common/src/main/res/anim/slide_left_out.xml
similarity index 100%
rename from app/src/main/res/anim/slide_left_out.xml
rename to ui/common/src/main/res/anim/slide_left_out.xml
diff --git a/app/src/main/res/anim/slide_right_in.xml b/ui/common/src/main/res/anim/slide_right_in.xml
similarity index 100%
rename from app/src/main/res/anim/slide_right_in.xml
rename to ui/common/src/main/res/anim/slide_right_in.xml
diff --git a/app/src/main/res/anim/slide_right_out.xml b/ui/common/src/main/res/anim/slide_right_out.xml
similarity index 100%
rename from app/src/main/res/anim/slide_right_out.xml
rename to ui/common/src/main/res/anim/slide_right_out.xml
diff --git a/core/src/main/res/values/integers.xml b/ui/common/src/main/res/values/integers.xml
similarity index 100%
rename from core/src/main/res/values/integers.xml
rename to ui/common/src/main/res/values/integers.xml
diff --git a/ui/preferences/README.md b/ui/preferences/README.md
new file mode 100644
index 000000000..341e8e52e
--- /dev/null
+++ b/ui/preferences/README.md
@@ -0,0 +1,3 @@
+# :ui:preferences
+
+This module provides the settings screen.
diff --git a/ui/preferences/build.gradle b/ui/preferences/build.gradle
new file mode 100644
index 000000000..b91158fb9
--- /dev/null
+++ b/ui/preferences/build.gradle
@@ -0,0 +1,47 @@
+plugins {
+ id("com.android.library")
+}
+apply from: "../../common.gradle"
+apply from: "../../playFlavor.gradle"
+
+android {
+ namespace "de.danoeh.antennapod.ui.preferences"
+}
+
+dependencies {
+ implementation project(":core")
+ implementation project(":event")
+ implementation project(":model")
+ implementation project(":net:common")
+ implementation project(":net:sync:model")
+ implementation project(":net:sync:gpoddernet")
+ implementation project(":storage:preferences")
+ implementation project(":storage:importexport")
+ implementation project(":ui:common")
+ implementation project(":ui:glide")
+ implementation project(":ui:i18n")
+
+ annotationProcessor "androidx.annotation:annotation:$annotationVersion"
+ implementation "androidx.appcompat:appcompat:$appcompatVersion"
+ implementation "com.google.android.material:material:$googleMaterialVersion"
+ implementation "androidx.preference:preference:$preferenceVersion"
+ implementation "androidx.work:work-runtime:$workManagerVersion"
+
+ implementation "io.reactivex.rxjava2:rxandroid:$rxAndroidVersion"
+ implementation "io.reactivex.rxjava2:rxjava:$rxJavaVersion"
+ implementation "com.github.bumptech.glide:glide:$glideVersion"
+ implementation "com.squareup.okhttp3:okhttp:$okhttpVersion"
+ implementation "com.squareup.okhttp3:okhttp-urlconnection:$okhttpVersion"
+ implementation "org.greenrobot:eventbus:$eventbusVersion"
+ implementation 'com.github.ByteHamster:SearchPreference:v2.5.0'
+}
+
+tasks.register('copyLicense', Copy) {
+ from "../../LICENSE"
+ into "src/main/assets/"
+ rename { String fileName ->
+ fileName + ".txt"
+ }
+}
+
+preBuild.dependsOn copyLicense
diff --git a/ui/preferences/src/main/AndroidManifest.xml b/ui/preferences/src/main/AndroidManifest.xml
new file mode 100644
index 000000000..7af8da301
--- /dev/null
+++ b/ui/preferences/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/assets/.gitignore b/ui/preferences/src/main/assets/.gitignore
similarity index 100%
rename from app/src/main/assets/.gitignore
rename to ui/preferences/src/main/assets/.gitignore
diff --git a/app/src/main/assets/LICENSE_APACHE-2.0.txt b/ui/preferences/src/main/assets/LICENSE_APACHE-2.0.txt
similarity index 100%
rename from app/src/main/assets/LICENSE_APACHE-2.0.txt
rename to ui/preferences/src/main/assets/LICENSE_APACHE-2.0.txt
diff --git a/app/src/main/assets/LICENSE_GLIDE.txt b/ui/preferences/src/main/assets/LICENSE_GLIDE.txt
similarity index 100%
rename from app/src/main/assets/LICENSE_GLIDE.txt
rename to ui/preferences/src/main/assets/LICENSE_GLIDE.txt
diff --git a/app/src/main/assets/LICENSE_JSOUP.txt b/ui/preferences/src/main/assets/LICENSE_JSOUP.txt
similarity index 100%
rename from app/src/main/assets/LICENSE_JSOUP.txt
rename to ui/preferences/src/main/assets/LICENSE_JSOUP.txt
diff --git a/app/src/main/assets/LICENSE_OKHTTP.txt b/ui/preferences/src/main/assets/LICENSE_OKHTTP.txt
similarity index 100%
rename from app/src/main/assets/LICENSE_OKHTTP.txt
rename to ui/preferences/src/main/assets/LICENSE_OKHTTP.txt
diff --git a/app/src/main/assets/LICENSE_PICTOGRAMMERS.txt b/ui/preferences/src/main/assets/LICENSE_PICTOGRAMMERS.txt
similarity index 100%
rename from app/src/main/assets/LICENSE_PICTOGRAMMERS.txt
rename to ui/preferences/src/main/assets/LICENSE_PICTOGRAMMERS.txt
diff --git a/app/src/main/assets/LICENSE_SEARCHPREFERENCE.txt b/ui/preferences/src/main/assets/LICENSE_SEARCHPREFERENCE.txt
similarity index 100%
rename from app/src/main/assets/LICENSE_SEARCHPREFERENCE.txt
rename to ui/preferences/src/main/assets/LICENSE_SEARCHPREFERENCE.txt
diff --git a/app/src/main/assets/developers.csv b/ui/preferences/src/main/assets/developers.csv
similarity index 100%
rename from app/src/main/assets/developers.csv
rename to ui/preferences/src/main/assets/developers.csv
diff --git a/app/src/main/assets/licenses.xml b/ui/preferences/src/main/assets/licenses.xml
similarity index 100%
rename from app/src/main/assets/licenses.xml
rename to ui/preferences/src/main/assets/licenses.xml
diff --git a/app/src/main/assets/special_thanks.csv b/ui/preferences/src/main/assets/special_thanks.csv
similarity index 100%
rename from app/src/main/assets/special_thanks.csv
rename to ui/preferences/src/main/assets/special_thanks.csv
diff --git a/app/src/main/assets/translators.csv b/ui/preferences/src/main/assets/translators.csv
similarity index 100%
rename from app/src/main/assets/translators.csv
rename to ui/preferences/src/main/assets/translators.csv
diff --git a/app/src/main/assets/website-languages.txt b/ui/preferences/src/main/assets/website-languages.txt
similarity index 100%
rename from app/src/main/assets/website-languages.txt
rename to ui/preferences/src/main/assets/website-languages.txt
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/MasterSwitchPreference.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/preference/MasterSwitchPreference.java
similarity index 92%
rename from app/src/main/java/de/danoeh/antennapod/preferences/MasterSwitchPreference.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/preference/MasterSwitchPreference.java
index ef527967a..cab3d3fc3 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/MasterSwitchPreference.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/preference/MasterSwitchPreference.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.preferences;
+package de.danoeh.antennapod.ui.preferences.preference;
import android.content.Context;
import android.graphics.Typeface;
@@ -7,8 +7,8 @@ import androidx.preference.PreferenceViewHolder;
import android.util.AttributeSet;
import android.widget.TextView;
-import de.danoeh.antennapod.R;
import de.danoeh.antennapod.ui.common.ThemeUtils;
+import de.danoeh.antennapod.ui.preferences.R;
public class MasterSwitchPreference extends SwitchPreferenceCompat {
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/MaterialListPreference.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/preference/MaterialListPreference.java
similarity index 96%
rename from app/src/main/java/de/danoeh/antennapod/preferences/MaterialListPreference.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/preference/MaterialListPreference.java
index 3ee08f369..a1264c569 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/MaterialListPreference.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/preference/MaterialListPreference.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.preferences;
+package de.danoeh.antennapod.ui.preferences.preference;
import android.content.Context;
import android.util.AttributeSet;
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/MaterialMultiSelectListPreference.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/preference/MaterialMultiSelectListPreference.java
similarity index 96%
rename from app/src/main/java/de/danoeh/antennapod/preferences/MaterialMultiSelectListPreference.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/preference/MaterialMultiSelectListPreference.java
index 9bc148bc6..1cf1ee170 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/MaterialMultiSelectListPreference.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/preference/MaterialMultiSelectListPreference.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.preferences;
+package de.danoeh.antennapod.ui.preferences.preference;
import android.content.Context;
import android.content.DialogInterface;
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/ThemePreference.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/preference/ThemePreference.java
similarity index 91%
rename from app/src/main/java/de/danoeh/antennapod/preferences/ThemePreference.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/preference/ThemePreference.java
index 30cbeb523..9fdf591c5 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/ThemePreference.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/preference/ThemePreference.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.preferences;
+package de.danoeh.antennapod.ui.preferences.preference;
import android.content.Context;
import android.util.AttributeSet;
@@ -6,9 +6,9 @@ import androidx.cardview.widget.CardView;
import androidx.preference.Preference;
import androidx.preference.PreferenceViewHolder;
import com.google.android.material.elevation.SurfaceColors;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.databinding.ThemePreferenceBinding;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
+import de.danoeh.antennapod.ui.preferences.R;
+import de.danoeh.antennapod.ui.preferences.databinding.ThemePreferenceBinding;
public class ThemePreference extends Preference {
ThemePreferenceBinding viewBinding;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/AutoDownloadPreferencesFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/AutoDownloadPreferencesFragment.java
similarity index 96%
rename from app/src/main/java/de/danoeh/antennapod/fragment/preferences/AutoDownloadPreferencesFragment.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/AutoDownloadPreferencesFragment.java
index 50e74bee4..7c0c3ed4c 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/AutoDownloadPreferencesFragment.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/AutoDownloadPreferencesFragment.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.fragment.preferences;
+package de.danoeh.antennapod.ui.preferences.screen;
import android.annotation.SuppressLint;
import android.app.Activity;
@@ -9,14 +9,14 @@ import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
+import androidx.appcompat.app.AppCompatActivity;
import androidx.preference.CheckBoxPreference;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceScreen;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
+import de.danoeh.antennapod.ui.preferences.R;
import java.util.ArrayList;
import java.util.Arrays;
@@ -41,7 +41,7 @@ public class AutoDownloadPreferencesFragment extends PreferenceFragmentCompat {
@Override
public void onStart() {
super.onStart();
- ((PreferenceActivity) getActivity()).getSupportActionBar().setTitle(R.string.pref_automatic_download_title);
+ ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle(R.string.pref_automatic_download_title);
}
@Override
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/NotificationPreferencesFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/NotificationPreferencesFragment.java
similarity index 73%
rename from app/src/main/java/de/danoeh/antennapod/fragment/preferences/NotificationPreferencesFragment.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/NotificationPreferencesFragment.java
index ba17cedb2..221ea5da1 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/NotificationPreferencesFragment.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/NotificationPreferencesFragment.java
@@ -1,10 +1,10 @@
-package de.danoeh.antennapod.fragment.preferences;
+package de.danoeh.antennapod.ui.preferences.screen;
import android.os.Bundle;
+import androidx.appcompat.app.AppCompatActivity;
import androidx.preference.PreferenceFragmentCompat;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.core.sync.SynchronizationSettings;
+import de.danoeh.antennapod.ui.preferences.R;
public class NotificationPreferencesFragment extends PreferenceFragmentCompat {
@@ -19,7 +19,7 @@ public class NotificationPreferencesFragment extends PreferenceFragmentCompat {
@Override
public void onStart() {
super.onStart();
- ((PreferenceActivity) getActivity()).getSupportActionBar().setTitle(R.string.notification_pref_fragment);
+ ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle(R.string.notification_pref_fragment);
}
private void setUpScreen() {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/ContributorsPagerFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/ContributorsPagerFragment.java
similarity index 91%
rename from app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/ContributorsPagerFragment.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/ContributorsPagerFragment.java
index 139413157..912d09880 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/ContributorsPagerFragment.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/ContributorsPagerFragment.java
@@ -1,17 +1,17 @@
-package de.danoeh.antennapod.fragment.preferences.about;
+package de.danoeh.antennapod.ui.preferences.screen.about;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
+import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.activity.PreferenceActivity;
+import de.danoeh.antennapod.ui.preferences.R;
/**
* Displays the 'about->Contributors' pager screen.
@@ -56,7 +56,7 @@ public class ContributorsPagerFragment extends Fragment {
@Override
public void onStart() {
super.onStart();
- ((PreferenceActivity) getActivity()).getSupportActionBar().setTitle(R.string.contributors);
+ ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle(R.string.contributors);
}
public static class StatisticsPagerAdapter extends FragmentStateAdapter {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/DevelopersFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/DevelopersFragment.java
similarity index 94%
rename from app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/DevelopersFragment.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/DevelopersFragment.java
index dcd720dc2..de5a21bc0 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/DevelopersFragment.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/DevelopersFragment.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.fragment.preferences.about;
+package de.danoeh.antennapod.ui.preferences.screen.about;
import android.os.Bundle;
import android.view.View;
@@ -6,7 +6,6 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.ListFragment;
-import de.danoeh.antennapod.adapter.SimpleIconListAdapter;
import io.reactivex.Single;
import io.reactivex.SingleOnSubscribe;
import io.reactivex.android.schedulers.AndroidSchedulers;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/LicensesFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/LicensesFragment.java
similarity index 93%
rename from app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/LicensesFragment.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/LicensesFragment.java
index 8b86d106e..85badcefc 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/LicensesFragment.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/LicensesFragment.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.fragment.preferences.about;
+package de.danoeh.antennapod.ui.preferences.screen.about;
import android.os.Bundle;
import android.view.View;
@@ -6,12 +6,11 @@ import android.widget.ListView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import androidx.fragment.app.ListFragment;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.activity.PreferenceActivity;
-import de.danoeh.antennapod.adapter.SimpleIconListAdapter;
import de.danoeh.antennapod.core.util.IntentUtils;
+import de.danoeh.antennapod.ui.preferences.R;
import io.reactivex.Single;
import io.reactivex.SingleOnSubscribe;
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -121,6 +120,6 @@ public class LicensesFragment extends ListFragment {
@Override
public void onStart() {
super.onStart();
- ((PreferenceActivity) getActivity()).getSupportActionBar().setTitle(R.string.licenses);
+ ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle(R.string.licenses);
}
}
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/SimpleIconListAdapter.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/SimpleIconListAdapter.java
similarity index 94%
rename from app/src/main/java/de/danoeh/antennapod/adapter/SimpleIconListAdapter.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/SimpleIconListAdapter.java
index 10bda4efa..a63b54e5a 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/SimpleIconListAdapter.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/SimpleIconListAdapter.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.adapter;
+package de.danoeh.antennapod.ui.preferences.screen.about;
import android.content.Context;
import android.view.View;
@@ -9,7 +9,7 @@ import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
-import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.ui.preferences.R;
import java.util.List;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/SpecialThanksFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/SpecialThanksFragment.java
similarity index 94%
rename from app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/SpecialThanksFragment.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/SpecialThanksFragment.java
index 1b4beeea0..7e9860036 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/SpecialThanksFragment.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/SpecialThanksFragment.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.fragment.preferences.about;
+package de.danoeh.antennapod.ui.preferences.screen.about;
import android.os.Bundle;
import android.view.View;
@@ -6,7 +6,6 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.ListFragment;
-import de.danoeh.antennapod.adapter.SimpleIconListAdapter;
import io.reactivex.Single;
import io.reactivex.SingleOnSubscribe;
import io.reactivex.android.schedulers.AndroidSchedulers;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/TranslatorsFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/TranslatorsFragment.java
similarity index 94%
rename from app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/TranslatorsFragment.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/TranslatorsFragment.java
index ed0d53145..3d2079fce 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/about/TranslatorsFragment.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/TranslatorsFragment.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.fragment.preferences.about;
+package de.danoeh.antennapod.ui.preferences.screen.about;
import android.os.Bundle;
import android.view.View;
@@ -6,7 +6,6 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.ListFragment;
-import de.danoeh.antennapod.adapter.SimpleIconListAdapter;
import io.reactivex.Single;
import io.reactivex.SingleOnSubscribe;
import io.reactivex.android.schedulers.AndroidSchedulers;
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/ChooseDataFolderDialog.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/downloads/ChooseDataFolderDialog.java
similarity index 91%
rename from app/src/main/java/de/danoeh/antennapod/dialog/ChooseDataFolderDialog.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/downloads/ChooseDataFolderDialog.java
index 47cc60205..b43866cc0 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/ChooseDataFolderDialog.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/downloads/ChooseDataFolderDialog.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.dialog;
+package de.danoeh.antennapod.ui.preferences.screen.downloads;
import android.content.Context;
@@ -8,8 +8,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import androidx.core.util.Consumer;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.adapter.DataFolderAdapter;
+import de.danoeh.antennapod.ui.preferences.R;
public class ChooseDataFolderDialog {
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/downloads/DataFolderAdapter.java
similarity index 97%
rename from app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/downloads/DataFolderAdapter.java
index 3760c97ba..bd6a75503 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/downloads/DataFolderAdapter.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.adapter;
+package de.danoeh.antennapod.ui.preferences.screen.downloads;
import android.content.Context;
import android.text.format.Formatter;
@@ -11,9 +11,9 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.core.util.Consumer;
import androidx.recyclerview.widget.RecyclerView;
-import de.danoeh.antennapod.R;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.core.util.StorageUtils;
+import de.danoeh.antennapod.ui.preferences.R;
import java.io.File;
import java.util.ArrayList;
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/AuthenticationDialog.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/AuthenticationDialog.java
similarity index 91%
rename from app/src/main/java/de/danoeh/antennapod/dialog/AuthenticationDialog.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/AuthenticationDialog.java
index 38ee82155..a91afe78d 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/AuthenticationDialog.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/AuthenticationDialog.java
@@ -1,12 +1,12 @@
-package de.danoeh.antennapod.dialog;
+package de.danoeh.antennapod.ui.preferences.screen.synchronization;
import android.content.Context;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.view.LayoutInflater;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.databinding.AuthenticationDialogBinding;
+import de.danoeh.antennapod.ui.preferences.R;
+import de.danoeh.antennapod.ui.preferences.databinding.AuthenticationDialogBinding;
/**
* Displays a dialog with a username and password text field and an optional checkbox to save username and preferences.
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/GpodderAuthenticationFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/GpodderAuthenticationFragment.java
similarity index 99%
rename from app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/GpodderAuthenticationFragment.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/GpodderAuthenticationFragment.java
index ccd450345..d28355dad 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/GpodderAuthenticationFragment.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/GpodderAuthenticationFragment.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.fragment.preferences.synchronization;
+package de.danoeh.antennapod.ui.preferences.screen.synchronization;
import android.app.Dialog;
import android.content.Context;
@@ -18,7 +18,6 @@ import androidx.annotation.Nullable;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import androidx.fragment.app.DialogFragment;
import com.google.android.material.button.MaterialButton;
-import de.danoeh.antennapod.R;
import de.danoeh.antennapod.net.common.AntennapodHttpClient;
import de.danoeh.antennapod.core.sync.SyncService;
import de.danoeh.antennapod.core.sync.SynchronizationCredentials;
@@ -27,6 +26,7 @@ import de.danoeh.antennapod.core.sync.SynchronizationSettings;
import de.danoeh.antennapod.core.util.FileNameGenerator;
import de.danoeh.antennapod.net.sync.gpoddernet.GpodnetService;
import de.danoeh.antennapod.net.sync.gpoddernet.model.GpodnetDevice;
+import de.danoeh.antennapod.ui.preferences.R;
import io.reactivex.Completable;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/NextcloudAuthenticationFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/NextcloudAuthenticationFragment.java
similarity index 95%
rename from app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/NextcloudAuthenticationFragment.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/NextcloudAuthenticationFragment.java
index 88f7ec036..b73ee2453 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/NextcloudAuthenticationFragment.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/NextcloudAuthenticationFragment.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.fragment.preferences.synchronization;
+package de.danoeh.antennapod.ui.preferences.screen.synchronization;
import android.app.Dialog;
import android.content.DialogInterface;
@@ -8,14 +8,14 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import androidx.fragment.app.DialogFragment;
-import de.danoeh.antennapod.R;
import de.danoeh.antennapod.net.common.AntennapodHttpClient;
import de.danoeh.antennapod.core.sync.SyncService;
import de.danoeh.antennapod.core.sync.SynchronizationCredentials;
import de.danoeh.antennapod.core.sync.SynchronizationProviderViewData;
import de.danoeh.antennapod.core.sync.SynchronizationSettings;
-import de.danoeh.antennapod.databinding.NextcloudAuthDialogBinding;
import de.danoeh.antennapod.net.sync.nextcloud.NextcloudLoginFlow;
+import de.danoeh.antennapod.ui.preferences.R;
+import de.danoeh.antennapod.ui.preferences.databinding.NextcloudAuthDialogBinding;
/**
* Guides the user through the authentication process.
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/SynchronizationPreferencesFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/SynchronizationPreferencesFragment.java
similarity index 93%
rename from app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/SynchronizationPreferencesFragment.java
rename to ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/SynchronizationPreferencesFragment.java
index 2ac1f78df..3c6461272 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/synchronization/SynchronizationPreferencesFragment.java
+++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/SynchronizationPreferencesFragment.java
@@ -1,4 +1,4 @@
-package de.danoeh.antennapod.fragment.preferences.synchronization;
+package de.danoeh.antennapod.ui.preferences.screen.synchronization;
import android.app.Activity;
import android.os.Bundle;
@@ -13,6 +13,7 @@ import android.widget.ListAdapter;
import android.widget.TextView;
import androidx.annotation.NonNull;
+import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import androidx.core.text.HtmlCompat;
import androidx.preference.Preference;
@@ -20,18 +21,16 @@ import androidx.preference.PreferenceFragmentCompat;
import com.google.android.material.snackbar.Snackbar;
+import de.danoeh.antennapod.ui.preferences.R;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
-import de.danoeh.antennapod.R;
-import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.event.SyncServiceEvent;
import de.danoeh.antennapod.core.sync.SynchronizationCredentials;
import de.danoeh.antennapod.core.sync.SyncService;
import de.danoeh.antennapod.core.sync.SynchronizationProviderViewData;
import de.danoeh.antennapod.core.sync.SynchronizationSettings;
-import de.danoeh.antennapod.dialog.AuthenticationDialog;
public class SynchronizationPreferencesFragment extends PreferenceFragmentCompat {
private static final String PREFERENCE_SYNCHRONIZATION_DESCRIPTION = "preference_synchronization_description";
@@ -50,7 +49,7 @@ public class SynchronizationPreferencesFragment extends PreferenceFragmentCompat
@Override
public void onStart() {
super.onStart();
- ((PreferenceActivity) getActivity()).getSupportActionBar().setTitle(R.string.synchronization_pref);
+ ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle(R.string.synchronization_pref);
updateScreen();
EventBus.getDefault().register(this);
}
@@ -59,7 +58,7 @@ public class SynchronizationPreferencesFragment extends PreferenceFragmentCompat
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
- ((PreferenceActivity) getActivity()).getSupportActionBar().setSubtitle("");
+ ((AppCompatActivity) getActivity()).getSupportActionBar().setSubtitle("");
}
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
@@ -73,7 +72,7 @@ public class SynchronizationPreferencesFragment extends PreferenceFragmentCompat
updateLastSyncReport(SynchronizationSettings.isLastSyncSuccessful(),
SynchronizationSettings.getLastSyncAttempt());
} else {
- ((PreferenceActivity) getActivity()).getSupportActionBar().setSubtitle(event.getMessageResId());
+ ((AppCompatActivity) getActivity()).getSupportActionBar().setSubtitle(event.getMessageResId());
}
}
@@ -144,7 +143,7 @@ public class SynchronizationPreferencesFragment extends PreferenceFragmentCompat
SynchronizationSettings.getLastSyncAttempt());
} else {
findPreference(PREFERENCE_LOGOUT).setSummary(null);
- ((PreferenceActivity) getActivity()).getSupportActionBar().setSubtitle(null);
+ ((AppCompatActivity) getActivity()).getSupportActionBar().setSubtitle(null);
}
}
@@ -216,6 +215,6 @@ public class SynchronizationPreferencesFragment extends PreferenceFragmentCompat
? R.string.gpodnetsync_pref_report_successful : R.string.gpodnetsync_pref_report_failed),
DateUtils.getRelativeDateTimeString(getContext(),
lastTime, DateUtils.MINUTE_IN_MILLIS, DateUtils.WEEK_IN_MILLIS, DateUtils.FORMAT_SHOW_TIME));
- ((PreferenceActivity) getActivity()).getSupportActionBar().setSubtitle(status);
+ ((AppCompatActivity) getActivity()).getSupportActionBar().setSubtitle(status);
}
}
diff --git a/app/src/main/res/drawable-nodpi/theme_preview_dark.png b/ui/preferences/src/main/res/drawable-nodpi/theme_preview_dark.png
similarity index 100%
rename from app/src/main/res/drawable-nodpi/theme_preview_dark.png
rename to ui/preferences/src/main/res/drawable-nodpi/theme_preview_dark.png
diff --git a/app/src/main/res/drawable-nodpi/theme_preview_light.png b/ui/preferences/src/main/res/drawable-nodpi/theme_preview_light.png
similarity index 100%
rename from app/src/main/res/drawable-nodpi/theme_preview_light.png
rename to ui/preferences/src/main/res/drawable-nodpi/theme_preview_light.png
diff --git a/app/src/main/res/drawable-nodpi/theme_preview_system.png b/ui/preferences/src/main/res/drawable-nodpi/theme_preview_system.png
similarity index 100%
rename from app/src/main/res/drawable-nodpi/theme_preview_system.png
rename to ui/preferences/src/main/res/drawable-nodpi/theme_preview_system.png
diff --git a/app/src/main/res/layout/about_teaser.xml b/ui/preferences/src/main/res/layout/about_teaser.xml
similarity index 100%
rename from app/src/main/res/layout/about_teaser.xml
rename to ui/preferences/src/main/res/layout/about_teaser.xml
diff --git a/app/src/main/res/layout/alertdialog_sync_provider_chooser.xml b/ui/preferences/src/main/res/layout/alertdialog_sync_provider_chooser.xml
similarity index 100%
rename from app/src/main/res/layout/alertdialog_sync_provider_chooser.xml
rename to ui/preferences/src/main/res/layout/alertdialog_sync_provider_chooser.xml
diff --git a/app/src/main/res/layout/authentication_dialog.xml b/ui/preferences/src/main/res/layout/authentication_dialog.xml
similarity index 100%
rename from app/src/main/res/layout/authentication_dialog.xml
rename to ui/preferences/src/main/res/layout/authentication_dialog.xml
diff --git a/app/src/main/res/layout/choose_data_folder_dialog.xml b/ui/preferences/src/main/res/layout/choose_data_folder_dialog.xml
similarity index 100%
rename from app/src/main/res/layout/choose_data_folder_dialog.xml
rename to ui/preferences/src/main/res/layout/choose_data_folder_dialog.xml
diff --git a/app/src/main/res/layout/choose_data_folder_dialog_entry.xml b/ui/preferences/src/main/res/layout/choose_data_folder_dialog_entry.xml
similarity index 100%
rename from app/src/main/res/layout/choose_data_folder_dialog_entry.xml
rename to ui/preferences/src/main/res/layout/choose_data_folder_dialog_entry.xml
diff --git a/app/src/main/res/layout/dialog_switch_preference.xml b/ui/preferences/src/main/res/layout/dialog_switch_preference.xml
similarity index 100%
rename from app/src/main/res/layout/dialog_switch_preference.xml
rename to ui/preferences/src/main/res/layout/dialog_switch_preference.xml
diff --git a/app/src/main/res/layout/gpodnetauth_credentials.xml b/ui/preferences/src/main/res/layout/gpodnetauth_credentials.xml
similarity index 100%
rename from app/src/main/res/layout/gpodnetauth_credentials.xml
rename to ui/preferences/src/main/res/layout/gpodnetauth_credentials.xml
diff --git a/app/src/main/res/layout/gpodnetauth_device.xml b/ui/preferences/src/main/res/layout/gpodnetauth_device.xml
similarity index 100%
rename from app/src/main/res/layout/gpodnetauth_device.xml
rename to ui/preferences/src/main/res/layout/gpodnetauth_device.xml
diff --git a/app/src/main/res/layout/gpodnetauth_device_row.xml b/ui/preferences/src/main/res/layout/gpodnetauth_device_row.xml
similarity index 100%
rename from app/src/main/res/layout/gpodnetauth_device_row.xml
rename to ui/preferences/src/main/res/layout/gpodnetauth_device_row.xml
diff --git a/app/src/main/res/layout/gpodnetauth_dialog.xml b/ui/preferences/src/main/res/layout/gpodnetauth_dialog.xml
similarity index 100%
rename from app/src/main/res/layout/gpodnetauth_dialog.xml
rename to ui/preferences/src/main/res/layout/gpodnetauth_dialog.xml
diff --git a/app/src/main/res/layout/gpodnetauth_finish.xml b/ui/preferences/src/main/res/layout/gpodnetauth_finish.xml
similarity index 100%
rename from app/src/main/res/layout/gpodnetauth_finish.xml
rename to ui/preferences/src/main/res/layout/gpodnetauth_finish.xml
diff --git a/app/src/main/res/layout/gpodnetauth_host.xml b/ui/preferences/src/main/res/layout/gpodnetauth_host.xml
similarity index 100%
rename from app/src/main/res/layout/gpodnetauth_host.xml
rename to ui/preferences/src/main/res/layout/gpodnetauth_host.xml
diff --git a/app/src/main/res/layout/nextcloud_auth_dialog.xml b/ui/preferences/src/main/res/layout/nextcloud_auth_dialog.xml
similarity index 100%
rename from app/src/main/res/layout/nextcloud_auth_dialog.xml
rename to ui/preferences/src/main/res/layout/nextcloud_auth_dialog.xml
diff --git a/app/src/main/res/layout/proxy_settings.xml b/ui/preferences/src/main/res/layout/proxy_settings.xml
similarity index 100%
rename from app/src/main/res/layout/proxy_settings.xml
rename to ui/preferences/src/main/res/layout/proxy_settings.xml
diff --git a/app/src/main/res/layout/simple_icon_list_item.xml b/ui/preferences/src/main/res/layout/simple_icon_list_item.xml
similarity index 100%
rename from app/src/main/res/layout/simple_icon_list_item.xml
rename to ui/preferences/src/main/res/layout/simple_icon_list_item.xml
diff --git a/app/src/main/res/layout/theme_preference.xml b/ui/preferences/src/main/res/layout/theme_preference.xml
similarity index 100%
rename from app/src/main/res/layout/theme_preference.xml
rename to ui/preferences/src/main/res/layout/theme_preference.xml
diff --git a/app/src/main/res/menu/bug_report_options.xml b/ui/preferences/src/main/res/menu/bug_report_options.xml
similarity index 100%
rename from app/src/main/res/menu/bug_report_options.xml
rename to ui/preferences/src/main/res/menu/bug_report_options.xml
diff --git a/app/src/main/res/xml/preferences.xml b/ui/preferences/src/main/res/xml/preferences.xml
similarity index 100%
rename from app/src/main/res/xml/preferences.xml
rename to ui/preferences/src/main/res/xml/preferences.xml
diff --git a/app/src/main/res/xml/preferences_about.xml b/ui/preferences/src/main/res/xml/preferences_about.xml
similarity index 100%
rename from app/src/main/res/xml/preferences_about.xml
rename to ui/preferences/src/main/res/xml/preferences_about.xml
diff --git a/app/src/main/res/xml/preferences_autodownload.xml b/ui/preferences/src/main/res/xml/preferences_autodownload.xml
similarity index 87%
rename from app/src/main/res/xml/preferences_autodownload.xml
rename to ui/preferences/src/main/res/xml/preferences_autodownload.xml
index 79e830b7f..339ddc9af 100644
--- a/app/src/main/res/xml/preferences_autodownload.xml
+++ b/ui/preferences/src/main/res/xml/preferences_autodownload.xml
@@ -3,19 +3,19 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:search="http://schemas.android.com/apk/com.bytehamster.lib.preferencesearch">
-
-
-
-
-
-
-
-
-
-
-
-
-