mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2025-02-03 03:57:41 +01:00
Move first batch of preferences code to :ui:preferences (#7010)
This commit is contained in:
parent
376c83d200
commit
f20ce1fc69
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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() {
|
||||
|
@ -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 {
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -40,7 +40,7 @@
|
||||
android:summary="@string/pref_feed_skip_sum"
|
||||
android:title="@string/pref_feed_skip" />
|
||||
|
||||
<de.danoeh.antennapod.preferences.MaterialListPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MaterialListPreference
|
||||
android:entries="@array/spnAutoDeleteItems"
|
||||
android:entryValues="@array/spnAutoDeleteValues"
|
||||
android:icon="@drawable/ic_delete"
|
||||
@ -57,7 +57,7 @@
|
||||
android:summary="@string/feed_volume_adaptation_summary"
|
||||
android:title="@string/feed_volume_adapdation" />
|
||||
|
||||
<de.danoeh.antennapod.preferences.MaterialListPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MaterialListPreference
|
||||
android:entries="@array/feedNewEpisodesActionItems"
|
||||
android:entryValues="@array/feedNewEpisodesActionValues"
|
||||
android:icon="@drawable/ic_feed"
|
||||
|
@ -79,11 +79,7 @@
|
||||
|
||||
<Match><Class name="de.danoeh.antennapod.core.ClientConfig"/></Match>
|
||||
|
||||
<Match><Package name="de.danoeh.antennapod.databinding"/></Match>
|
||||
<Match><Package name="de.danoeh.antennapod.core.databinding"/></Match>
|
||||
<Match><Package name="de.danoeh.antennapod.ui.common.databinding"/></Match>
|
||||
<Match><Package name="de.danoeh.antennapod.ui.echo.databinding"/></Match>
|
||||
<Match><Package name="de.danoeh.antennapod.ui.statistics.databinding"/></Match>
|
||||
<Match><Package name="~.*\.databinding"/></Match>
|
||||
|
||||
<Match><Bug pattern="DMI_RANDOM_USED_ONLY_ONCE"/></Match>
|
||||
<Match><Bug pattern="EI_EXPOSE_REP"/></Match>
|
||||
|
@ -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'
|
||||
|
3
ui/preferences/README.md
Normal file
3
ui/preferences/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# :ui:preferences
|
||||
|
||||
This module provides the settings screen.
|
47
ui/preferences/build.gradle
Normal file
47
ui/preferences/build.gradle
Normal file
@ -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
|
5
ui/preferences/src/main/AndroidManifest.xml
Normal file
5
ui/preferences/src/main/AndroidManifest.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:installLocation="auto">
|
||||
</manifest>
|
@ -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 {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.preferences;
|
||||
package de.danoeh.antennapod.ui.preferences.preference;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.preferences;
|
||||
package de.danoeh.antennapod.ui.preferences.preference;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
@ -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;
|
@ -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
|
@ -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() {
|
@ -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 {
|
@ -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;
|
@ -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);
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
@ -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;
|
@ -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;
|
@ -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 {
|
||||
|
@ -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;
|
@ -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.
|
@ -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;
|
@ -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.
|
@ -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);
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
@ -3,19 +3,19 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:search="http://schemas.android.com/apk/com.bytehamster.lib.preferencesearch">
|
||||
|
||||
<de.danoeh.antennapod.preferences.MasterSwitchPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MasterSwitchPreference
|
||||
android:key="prefEnableAutoDl"
|
||||
android:title="@string/pref_automatic_download_title"
|
||||
search:summary="@string/pref_automatic_download_sum"
|
||||
android:defaultValue="false"/>
|
||||
<de.danoeh.antennapod.preferences.MaterialListPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MaterialListPreference
|
||||
android:defaultValue="25"
|
||||
android:entries="@array/episode_cache_size_entries"
|
||||
android:key="prefEpisodeCacheSize"
|
||||
android:title="@string/pref_episode_cache_title"
|
||||
android:summary="@string/pref_episode_cache_summary"
|
||||
android:entryValues="@array/episode_cache_size_values"/>
|
||||
<de.danoeh.antennapod.preferences.MaterialListPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MaterialListPreference
|
||||
android:defaultValue="-1"
|
||||
android:entries="@array/episode_cleanup_entries"
|
||||
android:key="prefEpisodeCleanup"
|
@ -8,14 +8,14 @@
|
||||
android:key="prefChooseDataDir"/>
|
||||
|
||||
<PreferenceCategory android:title="@string/automation">
|
||||
<de.danoeh.antennapod.preferences.MaterialListPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MaterialListPreference
|
||||
android:entryValues="@array/feed_refresh_interval_values"
|
||||
android:entries="@array/feed_refresh_interval_entries"
|
||||
android:key="prefAutoUpdateIntervall"
|
||||
android:title="@string/feed_refresh_title"
|
||||
android:summary="@string/feed_refresh_sum"
|
||||
android:defaultValue="12"/>
|
||||
<de.danoeh.antennapod.preferences.MaterialListPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MaterialListPreference
|
||||
android:entryValues="@array/globalNewEpisodesActionValues"
|
||||
android:entries="@array/globalNewEpisodesActionItems"
|
||||
android:key="prefNewEpisodesAction"
|
||||
@ -54,7 +54,7 @@
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory android:title="@string/download_pref_details">
|
||||
<de.danoeh.antennapod.preferences.MaterialMultiSelectListPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MaterialMultiSelectListPreference
|
||||
android:defaultValue="@array/mobile_update_default_value"
|
||||
android:entries="@array/mobile_update_entries"
|
||||
android:entryValues="@array/mobile_update_values"
|
@ -56,14 +56,14 @@
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory android:title="@string/reassign_hardware_buttons">
|
||||
<de.danoeh.antennapod.preferences.MaterialListPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MaterialListPreference
|
||||
android:defaultValue="@string/keycode_media_fast_forward"
|
||||
android:entries="@array/button_action_options"
|
||||
android:entryValues="@array/button_action_values"
|
||||
android:key="prefHardwareForwardButton"
|
||||
android:title="@string/pref_hardware_forward_button_title"
|
||||
android:summary="@string/pref_hardware_forward_button_summary"/>
|
||||
<de.danoeh.antennapod.preferences.MaterialListPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MaterialListPreference
|
||||
android:defaultValue="@string/keycode_media_rewind"
|
||||
android:entries="@array/button_action_options"
|
||||
android:entryValues="@array/button_action_values"
|
||||
@ -79,7 +79,7 @@
|
||||
android:key="prefEnqueueDownloaded"
|
||||
android:summary="@string/pref_enqueue_downloaded_summary"
|
||||
android:title="@string/pref_enqueue_downloaded_title" />
|
||||
<de.danoeh.antennapod.preferences.MaterialListPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MaterialListPreference
|
||||
android:defaultValue="BACK"
|
||||
android:entries="@array/enqueue_location_options"
|
||||
android:entryValues="@array/enqueue_location_values"
|
||||
@ -91,7 +91,7 @@
|
||||
android:key="prefFollowQueue"
|
||||
android:summary="@string/pref_followQueue_sum"
|
||||
android:title="@string/pref_followQueue_title"/>
|
||||
<de.danoeh.antennapod.preferences.MaterialListPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MaterialListPreference
|
||||
android:defaultValue="30"
|
||||
android:entries="@array/smart_mark_as_played_values"
|
||||
android:entryValues="@array/smart_mark_as_played_values"
|
@ -4,7 +4,7 @@
|
||||
xmlns:search="http://schemas.android.com/apk/com.bytehamster.lib.preferencesearch">
|
||||
|
||||
<PreferenceCategory android:title="@string/appearance">
|
||||
<de.danoeh.antennapod.preferences.ThemePreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.ThemePreference
|
||||
android:key="prefTheme" />
|
||||
<SwitchPreferenceCompat
|
||||
android:title="@string/pref_black_theme_title"
|
||||
@ -38,7 +38,7 @@
|
||||
android:title="@string/pref_nav_drawer_feed_order_title"
|
||||
android:key="prefDrawerFeedOrder"
|
||||
android:summary="@string/pref_nav_drawer_feed_order_sum"/>
|
||||
<de.danoeh.antennapod.preferences.MaterialListPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MaterialListPreference
|
||||
android:entryValues="@array/nav_drawer_feed_counter_values"
|
||||
android:entries="@array/nav_drawer_feed_counter_options"
|
||||
android:title="@string/pref_nav_drawer_feed_counter_title"
|
||||
@ -75,7 +75,7 @@
|
||||
android:title="@string/pref_full_notification_buttons_title"/>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory android:title="@string/behavior">
|
||||
<de.danoeh.antennapod.preferences.MaterialListPreference
|
||||
<de.danoeh.antennapod.ui.preferences.preference.MaterialListPreference
|
||||
android:entryValues="@array/default_page_values"
|
||||
android:entries="@array/default_page_titles"
|
||||
android:key="prefDefaultPage"
|
Loading…
x
Reference in New Issue
Block a user