summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2018-04-22 18:12:40 +0200
committerByteHamster <info@bytehamster.com>2018-04-22 18:12:40 +0200
commita64c996e9c4d04391d0278f69d14fb7b2aca565b (patch)
tree4c1e8c1b4b62e7131cdeb4f70d8fac2134d324f2 /app/src/main/java/de/danoeh
parent33e695b5194a2158e3c03b5a2f6a9b4ae65ed851 (diff)
downloadAntennaPod-a64c996e9c4d04391d0278f69d14fb7b2aca565b.zip
Moved autodownload to new file
Diffstat (limited to 'app/src/main/java/de/danoeh')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java8
-rw-r--r--app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java48
2 files changed, 39 insertions, 17 deletions
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 5fe5bc334..271fc667d 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/PreferenceActivity.java
@@ -5,6 +5,7 @@ import android.content.Intent;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
+import android.preference.PreferenceScreen;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
@@ -41,6 +42,11 @@ public class PreferenceActivity extends AppCompatActivity {
}
@Override
+ public PreferenceScreen getPreferenceScreen() {
+ return fragment.getPreferenceScreen();
+ }
+
+ @Override
public Activity getActivity() {
return PreferenceActivity.this;
}
@@ -135,6 +141,8 @@ public class PreferenceActivity extends AppCompatActivity {
switch (preferences) {
case R.xml.preferences_downloads:
return R.string.downloads_label;
+ case R.xml.preferences_autodownload:
+ return R.string.pref_automatic_download_title;
case R.xml.preferences_playback:
return R.string.playback_pref;
case R.xml.preferences_storage:
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 407ab0bdb..58ddc07c7 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -22,6 +22,7 @@ import android.preference.CheckBoxPreference;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
+import android.preference.PreferenceCategory;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.preference.PreferenceScreen;
@@ -166,6 +167,9 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
break;
case R.xml.preferences_downloads:
setupDownloadsScreen();
+ break;
+ case R.xml.preferences_autodownload:
+ setupAutoDownloadScreen();
buildAutodownloadSelectedNetworsPreference();
setSelectedNetworksEnabled(UserPreferences.isEnableAutodownloadWifiFilter());
buildEpisodeCleanupPreference();
@@ -398,12 +402,7 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
}
}
- private void setupDownloadsScreen() {
- ui.findPreference(UserPreferences.PREF_UPDATE_INTERVAL)
- .setOnPreferenceClickListener(preference -> {
- showUpdateIntervalTimePreferencesDialog();
- return true;
- });
+ private void setupAutoDownloadScreen() {
ui.findPreference(UserPreferences.PREF_ENABLE_AUTODL).setOnPreferenceChangeListener(
(preference, newValue) -> {
if (newValue instanceof Boolean) {
@@ -426,6 +425,26 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
}
}
);
+ ui.findPreference(UserPreferences.PREF_EPISODE_CACHE_SIZE)
+ .setOnPreferenceChangeListener(
+ (preference, o) -> {
+ if (o instanceof String) {
+ setEpisodeCacheSizeText(UserPreferences.readEpisodeCacheSize((String) o));
+ }
+ return true;
+ }
+ );
+ }
+
+ private void setupDownloadsScreen() {
+ final Activity activity = ui.getActivity();
+ ui.findPreference(AUTO_DL_PREF_SCREEN).setOnPreferenceClickListener(preference ->
+ openScreen(R.xml.preferences_autodownload, activity));
+ ui.findPreference(UserPreferences.PREF_UPDATE_INTERVAL)
+ .setOnPreferenceClickListener(preference -> {
+ showUpdateIntervalTimePreferencesDialog();
+ return true;
+ });
ui.findPreference(UserPreferences.PREF_PARALLEL_DOWNLOADS)
.setOnPreferenceChangeListener(
(preference, o) -> {
@@ -471,15 +490,6 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
}
}
});
- ui.findPreference(UserPreferences.PREF_EPISODE_CACHE_SIZE)
- .setOnPreferenceChangeListener(
- (preference, o) -> {
- if (o instanceof String) {
- setEpisodeCacheSizeText(UserPreferences.readEpisodeCacheSize((String) o));
- }
- return true;
- }
- );
ui.findPreference(PREF_PROXY).setOnPreferenceClickListener(preference -> {
ProxyDialog dialog = new ProxyDialog(ui.getActivity());
dialog.createDialog().show();
@@ -614,6 +624,8 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
case R.xml.preferences_downloads:
setUpdateIntervalText();
setParallelDownloadsText(UserPreferences.getParallelDownloads());
+ break;
+ case R.xml.preferences_autodownload:
setEpisodeCacheSizeText(UserPreferences.getEpisodeCacheSize());
checkAutodownloadItemVisibility();
break;
@@ -897,7 +909,7 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
selectedNetworks = new CheckBoxPreference[networks.size()];
List<String> prefValues = Arrays.asList(UserPreferences
.getAutodownloadSelectedNetworks());
- PreferenceScreen prefScreen = (PreferenceScreen) ui.findPreference(PreferenceController.AUTO_DL_PREF_SCREEN);
+ PreferenceScreen prefScreen = ui.getPreferenceScreen();
Preference.OnPreferenceClickListener clickListener = preference -> {
if (preference instanceof CheckBoxPreference) {
String key = preference.getKey();
@@ -944,7 +956,7 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
private void clearAutodownloadSelectedNetworsPreference() {
if (selectedNetworks != null) {
- PreferenceScreen prefScreen = (PreferenceScreen) ui.findPreference(PreferenceController.AUTO_DL_PREF_SCREEN);
+ PreferenceScreen prefScreen = ui.getPreferenceScreen();
for (CheckBoxPreference network : selectedNetworks) {
if (network != null) {
@@ -1116,6 +1128,8 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
*/
Preference findPreference(CharSequence key);
+ PreferenceScreen getPreferenceScreen();
+
Activity getActivity();
}
}