diff --git a/.gitignore b/.gitignore
index 3db9e5e..4ccd098 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,9 @@
*.iml
-/.idea/
-/target/
-/out/
\ No newline at end of file
+.idea
+target/
+out/
+
+*.config
+dependency-reduced-pom.xml
+
+*.json
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
deleted file mode 100644
index 78bf31c..0000000
--- a/.idea/encodings.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index a84aa0b..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/java/net/ddns/andrewnetwork/MainPresenter.java b/src/main/java/net/ddns/andrewnetwork/MainPresenter.java
index 0f45fcb..0fc5fa1 100644
--- a/src/main/java/net/ddns/andrewnetwork/MainPresenter.java
+++ b/src/main/java/net/ddns/andrewnetwork/MainPresenter.java
@@ -2,6 +2,7 @@
import net.ddns.andrewnetwork.helpers.async.AsyncCall;
import net.ddns.andrewnetwork.helpers.util.Wrapper2;
+import net.ddns.andrewnetwork.helpers.util.time.DateUtil;
import net.ddns.andrewnetwork.model.CovidItaData;
import net.ddns.andrewnetwork.model.CovidRegionData;
import rx.Observable;
@@ -21,7 +22,7 @@ private static void handleAllData(Wrapper2>
Set datesRegions = covidRegionDataList.stream().map(CovidItaData::getDate).collect(Collectors.toSet());
- if (!datesRegions.stream().allMatch(dateRegion -> dateRegion.equals(covidItaData.getDate()))) {
+ if (!datesRegions.stream().allMatch(dateRegion -> DateUtil.isSameDay(dateRegion, covidItaData.getDate()))) {
throw new IllegalArgumentException("Dates are not equals. You can't put together CovidItaData and CovidRegionData with different days.");
}
diff --git a/src/main/java/net/ddns/andrewnetwork/helpers/async/AsyncCall.java b/src/main/java/net/ddns/andrewnetwork/helpers/async/AsyncCall.java
index 530d01f..248a19f 100644
--- a/src/main/java/net/ddns/andrewnetwork/helpers/async/AsyncCall.java
+++ b/src/main/java/net/ddns/andrewnetwork/helpers/async/AsyncCall.java
@@ -56,6 +56,8 @@ public static Observable getAllItalyDataFrom(Date date) {
for (CovidItaData covidItaData : newData) {
covidItaData = computeVariationsItalyData(covidItaData);
+
+ DateUtil.setMidnight(covidItaData.getDate());
emitter.onNext(covidItaData);
}
@@ -98,6 +100,9 @@ private static void handleAllRegions(String[] regions, Subscriber super List covidRegionDataList = regionsByDate.get(keyDate);
covidRegionDataList = computeVariationsRegionsData(regions, covidRegionDataList);
+
+ covidRegionDataList.forEach(covidRegionData -> covidRegionData.setDate(DateUtil.setMidnight(covidRegionData.getDate())));
+
emitter.onNext(covidRegionDataList);
}
diff --git a/src/main/java/net/ddns/andrewnetwork/helpers/util/time/DateUtil.java b/src/main/java/net/ddns/andrewnetwork/helpers/util/time/DateUtil.java
index 46d31c5..a173576 100644
--- a/src/main/java/net/ddns/andrewnetwork/helpers/util/time/DateUtil.java
+++ b/src/main/java/net/ddns/andrewnetwork/helpers/util/time/DateUtil.java
@@ -3,12 +3,14 @@
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
+import java.util.Locale;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class DateUtil {
public static final String DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss";
private static final long DATE_TIME_24 = 24*60*60*1000;
+ private static final long DATE_TIME_24_CET_TO_CEST = 24*60*60*1000 + 60 * 60 * 1000;
public static Date twoHourAfter(Date date) {
return minutesAfter(date, 120);
@@ -67,7 +69,8 @@ public static boolean isTomorrowDay(Date date1, Date date2) {
dateCloned1 = DateUtil.setMidnight(dateCloned1);
dateCloned2 = DateUtil.setMidnight(dateCloned2);
- return Math.abs(dateCloned1.getTime() - dateCloned2.getTime()) == DATE_TIME_24;
+ long timeDifference = Math.abs(dateCloned1.getTime() - dateCloned2.getTime());
+ return timeDifference == DATE_TIME_24 || timeDifference == DATE_TIME_24_CET_TO_CEST;
}
public static boolean isTomorrowDay(Calendar date1, Calendar date2) {