summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
Diffstat (limited to 'core/src')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/UpdateManager.java8
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java12
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/APCleanupAlgorithm.java4
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/Converter.java4
-rw-r--r--core/src/main/res/values/arrays.xml10
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/storage/APCleanupAlgorithmTest.java2
6 files changed, 25 insertions, 15 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/UpdateManager.java b/core/src/main/java/de/danoeh/antennapod/core/UpdateManager.java
index 8ad70c328..9b8806d5b 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/UpdateManager.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/UpdateManager.java
@@ -63,6 +63,14 @@ class UpdateManager {
UserPreferences.enableSonic();
}
}
+
+ if(oldVersionCode < 1070196) {
+ // migrate episode cleanup value (unit changed from days to hours)
+ int oldValueInDays = UserPreferences.getEpisodeCleanupValue();
+ if (oldValueInDays > 0) {
+ UserPreferences.setEpisodeCleanupValue(oldValueInDays * 24);
+ } // else 0 or special negative values, no change needed
+ }
}
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
index a8d0b6ba1..95f206a63 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
@@ -674,7 +674,7 @@ public class UserPreferences {
}
public static EpisodeCleanupAlgorithm getEpisodeCleanupAlgorithm() {
- float cleanupValue = Float.parseFloat(prefs.getString(PREF_EPISODE_CLEANUP, "-1"));
+ int cleanupValue = getEpisodeCleanupValue();
if (cleanupValue == EPISODE_CLEANUP_QUEUE) {
return new APQueueCleanupAlgorithm();
} else if (cleanupValue == EPISODE_CLEANUP_NULL) {
@@ -684,6 +684,16 @@ public class UserPreferences {
}
}
+ public static int getEpisodeCleanupValue() {
+ return Integer.parseInt(prefs.getString(PREF_EPISODE_CLEANUP, "-1"));
+ }
+
+ public static void setEpisodeCleanupValue(int episodeCleanupValue) {
+ prefs.edit()
+ .putString(PREF_EPISODE_CLEANUP, Integer.toString(episodeCleanupValue))
+ .apply();
+ }
+
/**
* Return the folder where the app stores all of its data. This method will
* return the standard data folder if none has been set by the user.
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/APCleanupAlgorithm.java b/core/src/main/java/de/danoeh/antennapod/core/storage/APCleanupAlgorithm.java
index 1b446dd6f..c63ac4416 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/storage/APCleanupAlgorithm.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/APCleanupAlgorithm.java
@@ -29,10 +29,6 @@ public class APCleanupAlgorithm extends EpisodeCleanupAlgorithm {
this.numberOfHoursAfterPlayback = numberOfHoursAfterPlayback;
}
- public APCleanupAlgorithm(float numberOfDaysAfterPlayback) { // TODO: temporary, until callers are migrated
- this.numberOfHoursAfterPlayback = (int)(24 * numberOfDaysAfterPlayback);
- }
-
/**
* @return the number of episodes that *could* be cleaned up, if needed
*/
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/Converter.java b/core/src/main/java/de/danoeh/antennapod/core/util/Converter.java
index 5915d216c..6966667bf 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/Converter.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/Converter.java
@@ -131,10 +131,6 @@ public final class Converter {
}
- public static int numberOfDaysFloatToNumberOfHours(float numberOfDays) {
- return (int)Math.ceil(numberOfDays * 24);
- }
-
/**
* Converts the volume as read as the progress from a SeekBar scaled to 100 and as saved in
* UserPreferences to the format taken by setVolume methods.
diff --git a/core/src/main/res/values/arrays.xml b/core/src/main/res/values/arrays.xml
index 2c2ad0847..157b040e1 100644
--- a/core/src/main/res/values/arrays.xml
+++ b/core/src/main/res/values/arrays.xml
@@ -68,11 +68,11 @@
<string-array name="episode_cleanup_values">
<item>-1</item>
<item>0</item>
- <item>0.5</item> <!-- 12 hours -->
- <item>1</item>
- <item>3</item>
- <item>5</item>
- <item>7</item>
+ <item>12</item>
+ <item>24</item>
+ <item>72</item>
+ <item>120</item>
+ <item>168</item>
<item>-2</item>
</string-array>
diff --git a/core/src/test/java/de/danoeh/antennapod/core/storage/APCleanupAlgorithmTest.java b/core/src/test/java/de/danoeh/antennapod/core/storage/APCleanupAlgorithmTest.java
index dc4054af8..9f354c7c2 100644
--- a/core/src/test/java/de/danoeh/antennapod/core/storage/APCleanupAlgorithmTest.java
+++ b/core/src/test/java/de/danoeh/antennapod/core/storage/APCleanupAlgorithmTest.java
@@ -11,7 +11,7 @@ public class APCleanupAlgorithmTest {
@Test
public void testCalcMostRecentDateForDeletion() throws Exception {
- APCleanupAlgorithm algo = new APCleanupAlgorithm(1.0f);
+ APCleanupAlgorithm algo = new APCleanupAlgorithm(24);
Date curDateForTest = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").parse("2018-11-13T14:08:56-0800");
Date resExpected = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").parse("2018-11-12T14:08:56-0800");
Date resActual = algo.calcMostRecentDateForDeletion(curDateForTest);