diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1bbfbb64a..d1d5af501 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -131,6 +131,7 @@ android:name=".ui.screen.preferences.PreferenceActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="false" + android:enableOnBackInvokedCallback="true" android:label="@string/settings_label"> + android:name=".ui.screen.preferences.BugReportActivity" + android:enableOnBackInvokedCallback="true" + android:label="@string/bug_report_title"> diff --git a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/AutomaticDeletionPreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/AutomaticDeletionPreferencesFragment.java index de7283ad2..5a73eb43b 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/AutomaticDeletionPreferencesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/AutomaticDeletionPreferencesFragment.java @@ -3,14 +3,14 @@ package de.danoeh.antennapod.ui.screen.preferences; import android.content.res.Resources; import android.os.Bundle; import androidx.preference.ListPreference; -import androidx.preference.PreferenceFragmentCompat; import androidx.preference.TwoStatePreference; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import de.danoeh.antennapod.R; import de.danoeh.antennapod.storage.preferences.UserPreferences; +import de.danoeh.antennapod.ui.preferences.screen.AnimatedPreferenceFragment; -public class AutomaticDeletionPreferencesFragment extends PreferenceFragmentCompat { +public class AutomaticDeletionPreferencesFragment extends AnimatedPreferenceFragment { private static final String PREF_AUTO_DELETE_LOCAL = "prefAutoDeleteLocal"; private boolean blockAutoDeleteLocal = true; diff --git a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/DownloadsPreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/DownloadsPreferencesFragment.java index 3af3a0248..56b76c284 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/DownloadsPreferencesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/DownloadsPreferencesFragment.java @@ -2,17 +2,17 @@ package de.danoeh.antennapod.ui.screen.preferences; import android.content.SharedPreferences; import android.os.Bundle; -import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceManager; import de.danoeh.antennapod.R; import de.danoeh.antennapod.net.download.serviceinterface.FeedUpdateManager; import de.danoeh.antennapod.storage.preferences.UserPreferences; +import de.danoeh.antennapod.ui.preferences.screen.AnimatedPreferenceFragment; import de.danoeh.antennapod.ui.preferences.screen.downloads.ChooseDataFolderDialog; import java.io.File; -public class DownloadsPreferencesFragment extends PreferenceFragmentCompat +public class DownloadsPreferencesFragment extends AnimatedPreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { private static final String PREF_SCREEN_AUTODL = "prefAutoDownloadSettings"; private static final String PREF_SCREEN_AUTO_DELETE = "prefAutoDeleteScreen"; @@ -66,6 +66,7 @@ public class DownloadsPreferencesFragment extends PreferenceFragmentCompat }); return true; }); + setDataFolderText(); } private void setDataFolderText() { diff --git a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/ImportExportPreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/ImportExportPreferencesFragment.java index 81da9c1ae..8166ba683 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/ImportExportPreferencesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/ImportExportPreferencesFragment.java @@ -23,7 +23,6 @@ import androidx.preference.SwitchPreferenceCompat; import com.google.android.material.dialog.MaterialAlertDialogBuilder; 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.R; import de.danoeh.antennapod.activity.OpmlImportActivity; @@ -37,6 +36,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.preferences.screen.AnimatedPreferenceFragment; import io.reactivex.Completable; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -54,7 +54,7 @@ import java.util.Date; import java.util.List; import java.util.Locale; -public class ImportExportPreferencesFragment extends PreferenceFragmentCompat { +public class ImportExportPreferencesFragment extends AnimatedPreferenceFragment { private static final String TAG = "ImportExPrefFragment"; private static final String PREF_OPML_EXPORT = "prefOpmlExport"; private static final String PREF_OPML_IMPORT = "prefOpmlImport"; diff --git a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/MainPreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/MainPreferencesFragment.java index 7c036974b..e9b177f0f 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/MainPreferencesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/MainPreferencesFragment.java @@ -7,16 +7,16 @@ import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import androidx.preference.Preference; -import androidx.preference.PreferenceFragmentCompat; import com.bytehamster.lib.preferencesearch.SearchConfiguration; import com.bytehamster.lib.preferencesearch.SearchPreference; import de.danoeh.antennapod.R; import de.danoeh.antennapod.ui.common.IntentUtils; +import de.danoeh.antennapod.ui.preferences.screen.AnimatedPreferenceFragment; import de.danoeh.antennapod.ui.preferences.screen.about.AboutFragment; -public class MainPreferencesFragment extends PreferenceFragmentCompat { +public class MainPreferencesFragment extends AnimatedPreferenceFragment { private static final String PREF_SCREEN_USER_INTERFACE = "prefScreenInterface"; private static final String PREF_SCREEN_PLAYBACK = "prefScreenPlayback"; diff --git a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/PlaybackPreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/PlaybackPreferencesFragment.java index 70d2828bb..5f67e8283 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/PlaybackPreferencesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/PlaybackPreferencesFragment.java @@ -8,17 +8,17 @@ import androidx.annotation.NonNull; import androidx.collection.ArrayMap; import androidx.preference.ListPreference; import androidx.preference.Preference; -import androidx.preference.PreferenceFragmentCompat; import de.danoeh.antennapod.R; import de.danoeh.antennapod.event.UnreadItemsUpdateEvent; import de.danoeh.antennapod.storage.preferences.UsageStatistics; import de.danoeh.antennapod.storage.preferences.UserPreferences; +import de.danoeh.antennapod.ui.preferences.screen.AnimatedPreferenceFragment; import de.danoeh.antennapod.ui.screen.feed.preferences.SkipPreferenceDialog; import de.danoeh.antennapod.ui.screen.playback.VariableSpeedDialog; import java.util.Map; import org.greenrobot.eventbus.EventBus; -public class PlaybackPreferencesFragment extends PreferenceFragmentCompat { +public class PlaybackPreferencesFragment extends AnimatedPreferenceFragment { private static final String PREF_PLAYBACK_SPEED_LAUNCHER = "prefPlaybackSpeedLauncher"; private static final String PREF_PLAYBACK_REWIND_DELTA_LAUNCHER = "prefPlaybackRewindDeltaLauncher"; private static final String PREF_PLAYBACK_FAST_FORWARD_DELTA_LAUNCHER = "prefPlaybackFastForwardDeltaLauncher"; diff --git a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/SwipePreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/SwipePreferencesFragment.java index 7522c2a1b..6e2f95f29 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/SwipePreferencesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/SwipePreferencesFragment.java @@ -1,8 +1,8 @@ package de.danoeh.antennapod.ui.screen.preferences; import android.os.Bundle; -import androidx.preference.PreferenceFragmentCompat; import de.danoeh.antennapod.R; +import de.danoeh.antennapod.ui.preferences.screen.AnimatedPreferenceFragment; import de.danoeh.antennapod.ui.swipeactions.SwipeActionsDialog; import de.danoeh.antennapod.ui.screen.AllEpisodesFragment; import de.danoeh.antennapod.ui.screen.download.CompletedDownloadsFragment; @@ -11,7 +11,7 @@ import de.danoeh.antennapod.ui.screen.InboxFragment; import de.danoeh.antennapod.ui.screen.PlaybackHistoryFragment; import de.danoeh.antennapod.ui.screen.queue.QueueFragment; -public class SwipePreferencesFragment extends PreferenceFragmentCompat { +public class SwipePreferencesFragment extends AnimatedPreferenceFragment { private static final String PREF_SWIPE_QUEUE = "prefSwipeQueue"; private static final String PREF_SWIPE_INBOX = "prefSwipeInbox"; private static final String PREF_SWIPE_EPISODES = "prefSwipeEpisodes"; diff --git a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/UserInterfacePreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/UserInterfacePreferencesFragment.java index 2cd4e4f5c..1b1bd7d87 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/UserInterfacePreferencesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/screen/preferences/UserInterfacePreferencesFragment.java @@ -10,11 +10,11 @@ import android.widget.ListView; import androidx.appcompat.app.AlertDialog; import androidx.core.app.ActivityCompat; import androidx.preference.Preference; -import androidx.preference.PreferenceFragmentCompat; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.snackbar.Snackbar; +import de.danoeh.antennapod.ui.preferences.screen.AnimatedPreferenceFragment; import de.danoeh.antennapod.ui.screen.subscriptions.FeedSortDialog; import org.greenrobot.eventbus.EventBus; @@ -27,7 +27,7 @@ import de.danoeh.antennapod.event.PlayerStatusEvent; import de.danoeh.antennapod.event.UnreadItemsUpdateEvent; import de.danoeh.antennapod.storage.preferences.UserPreferences; -public class UserInterfacePreferencesFragment extends PreferenceFragmentCompat { +public class UserInterfacePreferencesFragment extends AnimatedPreferenceFragment { private static final String PREF_SWIPE = "prefSwipe"; @Override diff --git a/build.gradle b/build.gradle index 69b9f8564..6eaf7c0fe 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ project.ext { annotationVersion = "1.4.0" appcompatVersion = "1.5.1" coreVersion = "1.9.0" - fragmentVersion = "1.5.5" + fragmentVersion = "1.8.4" mediaVersion = "1.6.0" media3Version = "1.1.1" paletteVersion = "1.0.0" diff --git a/common.gradle b/common.gradle index 512527bcf..4433fdcfa 100644 --- a/common.gradle +++ b/common.gradle @@ -56,6 +56,12 @@ android { } } +dependencies { + // align all versions of kotlin transitive dependencies, see + // https://youtrack.jetbrains.com/issue/KT-55297/kotlin-stdlib-should-declare-constraints-on-kotlin-stdlib-jdk8-and-kotlin-stdlib-jdk7 + implementation platform("org.jetbrains.kotlin:kotlin-bom:1.9.24") +} + tasks.withType(Test).configureEach { testLogging { exceptionFormat "full" diff --git a/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/AnimatedPreferenceFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/AnimatedPreferenceFragment.java new file mode 100644 index 000000000..51a81aa52 --- /dev/null +++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/AnimatedPreferenceFragment.java @@ -0,0 +1,27 @@ +package de.danoeh.antennapod.ui.preferences.screen; + +import android.os.Bundle; +import android.view.View; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.preference.PreferenceFragmentCompat; +import com.google.android.material.transition.MaterialSharedAxis; +import de.danoeh.antennapod.ui.common.ThemeUtils; +import de.danoeh.antennapod.ui.preferences.R; + +public abstract class AnimatedPreferenceFragment extends PreferenceFragmentCompat { + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setEnterTransition(new MaterialSharedAxis(MaterialSharedAxis.X, true)); + setReturnTransition(new MaterialSharedAxis(MaterialSharedAxis.X, false)); + setExitTransition(new MaterialSharedAxis(MaterialSharedAxis.X, true)); + setReenterTransition(new MaterialSharedAxis(MaterialSharedAxis.X, false)); + } + + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + view.setBackgroundColor(ThemeUtils.getColorFromAttr(getContext(), R.attr.colorSurface)); + } +} diff --git a/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/AutoDownloadPreferencesFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/AutoDownloadPreferencesFragment.java index 1660257eb..6af1c5a6e 100644 --- a/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/AutoDownloadPreferencesFragment.java +++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/AutoDownloadPreferencesFragment.java @@ -2,15 +2,15 @@ package de.danoeh.antennapod.ui.preferences.screen; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; -import androidx.preference.PreferenceFragmentCompat; import de.danoeh.antennapod.storage.preferences.UserPreferences; import de.danoeh.antennapod.ui.preferences.R; -public class AutoDownloadPreferencesFragment extends PreferenceFragmentCompat { +public class AutoDownloadPreferencesFragment extends AnimatedPreferenceFragment { @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { addPreferencesFromResource(R.xml.preferences_autodownload); + checkAutodownloadItemVisibility(UserPreferences.isEnableAutodownload()); findPreference(UserPreferences.PREF_ENABLE_AUTODL).setOnPreferenceChangeListener( (preference, newValue) -> { @@ -27,12 +27,6 @@ public class AutoDownloadPreferencesFragment extends PreferenceFragmentCompat { ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle(R.string.pref_automatic_download_title); } - @Override - public void onResume() { - super.onResume(); - checkAutodownloadItemVisibility(UserPreferences.isEnableAutodownload()); - } - private void checkAutodownloadItemVisibility(boolean autoDownload) { findPreference(UserPreferences.PREF_EPISODE_CACHE_SIZE).setEnabled(autoDownload); findPreference(UserPreferences.PREF_ENABLE_AUTODL_ON_BATTERY).setEnabled(autoDownload); diff --git a/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/NotificationPreferencesFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/NotificationPreferencesFragment.java index d33646571..0c18e97a3 100644 --- a/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/NotificationPreferencesFragment.java +++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/NotificationPreferencesFragment.java @@ -2,11 +2,10 @@ package de.danoeh.antennapod.ui.preferences.screen; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; -import androidx.preference.PreferenceFragmentCompat; import de.danoeh.antennapod.storage.preferences.SynchronizationSettings; import de.danoeh.antennapod.ui.preferences.R; -public class NotificationPreferencesFragment extends PreferenceFragmentCompat { +public class NotificationPreferencesFragment extends AnimatedPreferenceFragment { private static final String PREF_GPODNET_NOTIFICATIONS = "pref_gpodnet_notifications"; diff --git a/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/AboutFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/AboutFragment.java index 3e30b44dd..d505516bd 100644 --- a/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/AboutFragment.java +++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/AboutFragment.java @@ -8,13 +8,13 @@ import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; -import androidx.preference.PreferenceFragmentCompat; import com.google.android.material.snackbar.Snackbar; import de.danoeh.antennapod.ui.common.IntentUtils; import de.danoeh.antennapod.ui.preferences.BuildConfig; import de.danoeh.antennapod.ui.preferences.R; +import de.danoeh.antennapod.ui.preferences.screen.AnimatedPreferenceFragment; -public class AboutFragment extends PreferenceFragmentCompat { +public class AboutFragment extends AnimatedPreferenceFragment { @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { diff --git a/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/ContributorsPagerFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/ContributorsPagerFragment.java index 912d09880..e9165a3dc 100644 --- a/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/ContributorsPagerFragment.java +++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/ContributorsPagerFragment.java @@ -5,12 +5,14 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; 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 com.google.android.material.transition.MaterialSharedAxis; import de.danoeh.antennapod.ui.preferences.R; /** @@ -22,6 +24,13 @@ public class ContributorsPagerFragment extends Fragment { private static final int POS_SPECIAL_THANKS = 2; private static final int TOTAL_COUNT = 3; + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setEnterTransition(new MaterialSharedAxis(MaterialSharedAxis.X, true)); + setReturnTransition(new MaterialSharedAxis(MaterialSharedAxis.X, false)); + } + @Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { diff --git a/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/LicensesFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/LicensesFragment.java index 1a60d03ce..e4595d08d 100644 --- a/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/LicensesFragment.java +++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/about/LicensesFragment.java @@ -9,6 +9,7 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import androidx.fragment.app.ListFragment; +import com.google.android.material.transition.MaterialSharedAxis; import de.danoeh.antennapod.ui.common.IntentUtils; import de.danoeh.antennapod.ui.preferences.R; import io.reactivex.Single; @@ -31,6 +32,13 @@ public class LicensesFragment extends ListFragment { private Disposable licensesLoader; private final ArrayList licenses = new ArrayList<>(); + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setEnterTransition(new MaterialSharedAxis(MaterialSharedAxis.X, true)); + setReturnTransition(new MaterialSharedAxis(MaterialSharedAxis.X, false)); + } + @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); diff --git a/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/SynchronizationPreferencesFragment.java b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/SynchronizationPreferencesFragment.java index 709f3e43b..bcc2517fd 100644 --- a/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/SynchronizationPreferencesFragment.java +++ b/ui/preferences/src/main/java/de/danoeh/antennapod/ui/preferences/screen/synchronization/SynchronizationPreferencesFragment.java @@ -19,7 +19,6 @@ import androidx.appcompat.app.AppCompatActivity; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import androidx.core.text.HtmlCompat; import androidx.preference.Preference; -import androidx.preference.PreferenceFragmentCompat; import com.google.android.material.snackbar.Snackbar; @@ -27,6 +26,7 @@ import de.danoeh.antennapod.net.sync.service.SyncService; import de.danoeh.antennapod.net.sync.serviceinterface.SynchronizationProvider; import de.danoeh.antennapod.net.sync.serviceinterface.SynchronizationQueueSink; import de.danoeh.antennapod.ui.preferences.R; +import de.danoeh.antennapod.ui.preferences.screen.AnimatedPreferenceFragment; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -35,7 +35,7 @@ import de.danoeh.antennapod.event.SyncServiceEvent; import de.danoeh.antennapod.storage.preferences.SynchronizationCredentials; import de.danoeh.antennapod.storage.preferences.SynchronizationSettings; -public class SynchronizationPreferencesFragment extends PreferenceFragmentCompat { +public class SynchronizationPreferencesFragment extends AnimatedPreferenceFragment { private static final String PREFERENCE_SYNCHRONIZATION_DESCRIPTION = "preference_synchronization_description"; private static final String PREFERENCE_GPODNET_SETLOGIN_INFORMATION = "pref_gpodnet_setlogin_information"; private static final String PREFERENCE_SYNC = "pref_synchronization_sync";