summaryrefslogtreecommitdiff
path: root/core/src/main/java/de
diff options
context:
space:
mode:
authororionlee <orionlee@yahoo.com>2018-11-14 12:20:20 -0800
committerorionlee <orionlee@yahoo.com>2019-01-04 10:33:25 -0800
commit566a682122a8438a656b72ec603e6ddaae90727c (patch)
tree777dd0a957ab5173a100b21c93aa16dc70f79f09 /core/src/main/java/de
parent4ff5690341d6969f73010003d28b7a9e0d31f0c8 (diff)
downloadAntennaPod-566a682122a8438a656b72ec603e6ddaae90727c.zip
episode cleanup 12 hour option - use hours internally part 1 (actual algorithm, no persistence)
Diffstat (limited to 'core/src/main/java/de')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/APCleanupAlgorithm.java23
1 files changed, 11 insertions, 12 deletions
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 3bec93d29..1b446dd6f 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
@@ -14,7 +14,6 @@ import java.util.concurrent.ExecutionException;
import de.danoeh.antennapod.core.feed.FeedItem;
import de.danoeh.antennapod.core.feed.FeedMedia;
-import de.danoeh.antennapod.core.util.Converter;
/**
* Implementation of the EpisodeCleanupAlgorithm interface used by AntennaPod.
@@ -24,10 +23,14 @@ public class APCleanupAlgorithm extends EpisodeCleanupAlgorithm {
private static final String TAG = "APCleanupAlgorithm";
/** the number of days after playback to wait before an item is eligible to be cleaned up.
Fractional for number of hours, e.g., 0.5 = 12 hours, 0.0416 = 1 hour. */
- private final float numberOfDaysAfterPlayback;
+ private final int numberOfHoursAfterPlayback;
- public APCleanupAlgorithm(float numberOfDaysAfterPlayback) {
- this.numberOfDaysAfterPlayback = numberOfDaysAfterPlayback;
+ public APCleanupAlgorithm(int numberOfHoursAfterPlayback) {
+ this.numberOfHoursAfterPlayback = numberOfHoursAfterPlayback;
+ }
+
+ public APCleanupAlgorithm(float numberOfDaysAfterPlayback) { // TODO: temporary, until callers are migrated
+ this.numberOfHoursAfterPlayback = (int)(24 * numberOfDaysAfterPlayback);
}
/**
@@ -82,7 +85,7 @@ public class APCleanupAlgorithm extends EpisodeCleanupAlgorithm {
@VisibleForTesting
Date calcMostRecentDateForDeletion(@NonNull Date currentDate) {
- return minusDays(currentDate, numberOfDaysAfterPlayback);
+ return minusHours(currentDate, numberOfHoursAfterPlayback);
}
@NonNull
@@ -116,17 +119,13 @@ public class APCleanupAlgorithm extends EpisodeCleanupAlgorithm {
}
@VisibleForTesting
- public float getNumberOfDaysAfterPlayback() { return numberOfDaysAfterPlayback; }
+ public int getNumberOfHoursAfterPlayback() { return numberOfHoursAfterPlayback; }
- private static Date minusDays(Date baseDate, float numberOfDays) {
+ private static Date minusHours(Date baseDate, int numberOfHours) {
Calendar cal = Calendar.getInstance();
cal.setTime(baseDate);
- int integral = (int)numberOfDays;
- float fraction = numberOfDays - integral;
-
- cal.add(Calendar.DAY_OF_MONTH, -1 * integral);
- cal.add(Calendar.HOUR_OF_DAY, -1 * Converter.numberOfDaysFloatToNumberOfHours(fraction));
+ cal.add(Calendar.HOUR_OF_DAY, -1 * numberOfHours);
return cal.getTime();
}