Minor refactoring of DateUtilities

returning null from getRelativeDay if date is not within six days is misleading.
getReltativeDay should always return a relative date and never null. Checking if date is within six
days should happen before calling getRelativeDay.
pull/1188/head
T0M0F 5 years ago committed by Alex Baker
parent 17c744f5be
commit aca3c98914

@ -95,8 +95,8 @@ public class DateUtilities {
public static String getRelativeDateTime( public static String getRelativeDateTime(
Context context, long date, java.util.Locale locale, FormatStyle style, boolean lowercase) { Context context, long date, java.util.Locale locale, FormatStyle style, boolean lowercase) {
String day = getRelativeDay(context, date, locale, isAbbreviated(style), lowercase); if (isWithinSixDays(date)) {
if (!isNullOrEmpty(day)) { String day = getRelativeDay(context, date, locale, isAbbreviated(style), lowercase);
if (Task.hasDueTime(date)) { if (Task.hasDueTime(date)) {
String time = getTimeString(context, newDateTime(date)); String time = getTimeString(context, newDateTime(date));
return newDateTime().startOfDay().equals(newDateTime(date).startOfDay()) ? time : String.format("%s %s", day, time); return newDateTime().startOfDay().equals(newDateTime(date).startOfDay()) ? time : String.format("%s %s", day, time);
@ -127,10 +127,9 @@ public class DateUtilities {
java.util.Locale locale, java.util.Locale locale,
FormatStyle style, FormatStyle style,
boolean lowercase) { boolean lowercase) {
String relativeDay = getRelativeDay(context, date, locale, isAbbreviated(style), lowercase); return isWithinSixDays(date)
return isNullOrEmpty(relativeDay) ? getRelativeDay(context, date, locale, isAbbreviated(style), lowercase)
? getFullDate(newDateTime(date), locale, style) : getFullDate(newDateTime(date), locale, style);
: relativeDay;
} }
private static String getFullDate(DateTime date, java.util.Locale locale, FormatStyle style) { private static String getFullDate(DateTime date, java.util.Locale locale, FormatStyle style) {
@ -153,7 +152,7 @@ public class DateUtilities {
return date.replaceAll("(?: de |, |/| )?" + year + "(?:年|년 | г\\.)?", ""); return date.replaceAll("(?: de |, |/| )?" + year + "(?:年|년 | г\\.)?", "");
} }
private static @Nullable String getRelativeDay(Context context, long date, java.util.Locale locale, boolean abbreviated, boolean lowercase) { private static @Nullable String getRelativeDay(Context context, long date, java.util.Locale locale, boolean abbreviated, boolean lowercase) {
DateTime startOfToday = newDateTime().startOfDay(); DateTime startOfToday = newDateTime().startOfDay();
DateTime startOfDate = newDateTime(date).startOfDay(); DateTime startOfDate = newDateTime(date).startOfDay();
@ -175,13 +174,16 @@ public class DateUtilities {
: lowercase ? R.string.yesterday_lowercase : R.string.yesterday); : lowercase ? R.string.yesterday_lowercase : R.string.yesterday);
} }
if (Math.abs(startOfToday.getMillis() - startOfDate.getMillis()) <= DateUtilities.ONE_DAY * 6) { DateTime dateTime = newDateTime(date);
DateTime dateTime = newDateTime(date); return abbreviated
return abbreviated ? DateUtilities.getWeekdayShort(dateTime, locale)
? DateUtilities.getWeekdayShort(dateTime, locale) : DateUtilities.getWeekday(dateTime, locale);
: DateUtilities.getWeekday(dateTime, locale); }
} private static boolean isWithinSixDays(long date){
return null; DateTime startOfToday = newDateTime().startOfDay();
DateTime startOfDate = newDateTime(date).startOfDay();
return Math.abs(startOfToday.getMillis() - startOfDate.getMillis()) <= DateUtilities.ONE_DAY * 6;
} }
} }

Loading…
Cancel
Save