Loading java/com/android/contacts/common/util/DateUtils.java +9 −9 Original line number Diff line number Diff line Loading @@ -16,7 +16,11 @@ package com.android.contacts.common.util; import android.text.format.Time; import java.time.Instant; import java.time.LocalDate; import java.time.ZoneId; import java.time.temporal.ChronoUnit; /** Utility methods for processing dates. */ public class DateUtils { Loading @@ -30,13 +34,9 @@ public class DateUtils { * @param date2 Second date to check. * @return The absolute difference in days between the two dates. */ public static int getDayDifference(Time time, long date1, long date2) { time.set(date1); int startDay = Time.getJulianDay(date1, time.gmtoff); time.set(date2); int currentDay = Time.getJulianDay(date2, time.gmtoff); return Math.abs(currentDay - startDay); public static int getDayDifference(ZoneId timeZone, long date1, long date2) { LocalDate localDate1 = Instant.ofEpochMilli(date1).atZone(timeZone).toLocalDate(); LocalDate localDate2 = Instant.ofEpochMilli(date2).atZone(timeZone).toLocalDate(); return Math.abs((int) ChronoUnit.DAYS.between(localDate2, localDate1)); } } java/com/android/dialer/app/calllog/CallLogGroupBuilder.java +4 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import android.support.annotation.Nullable; import android.support.annotation.VisibleForTesting; import android.telephony.PhoneNumberUtils; import android.text.TextUtils; import android.text.format.Time; import com.android.contacts.common.util.DateUtils; import com.android.dialer.calllogutils.CallbackActionHelper; import com.android.dialer.calllogutils.CallbackActionHelper.CallbackAction; Loading @@ -31,6 +30,8 @@ import com.android.dialer.compat.telephony.TelephonyManagerCompat; import com.android.dialer.inject.ApplicationContext; import com.android.dialer.phonenumbercache.CallLogQuery; import com.android.dialer.phonenumberutil.PhoneNumberHelper; import java.time.ZoneId; import java.util.Objects; /** Loading @@ -56,7 +57,7 @@ public class CallLogGroupBuilder { /** Day grouping for calls which occurred before last week. */ public static final int DAY_GROUP_OTHER = 2; /** Instance of the time object used for time calculations. */ private static final Time TIME = new Time(); private static final ZoneId TIME_ZONE = ZoneId.systemDefault(); private final Context appContext; /** The object on which the groups are created. */ Loading Loading @@ -255,7 +256,7 @@ public class CallLogGroupBuilder { * @return The date group the call belongs in. */ private int getDayGroup(long date, long now) { int days = DateUtils.getDayDifference(TIME, date, now); int days = DateUtils.getDayDifference(TIME_ZONE, date, now); if (days == 0) { return DAY_GROUP_TODAY; Loading Loading
java/com/android/contacts/common/util/DateUtils.java +9 −9 Original line number Diff line number Diff line Loading @@ -16,7 +16,11 @@ package com.android.contacts.common.util; import android.text.format.Time; import java.time.Instant; import java.time.LocalDate; import java.time.ZoneId; import java.time.temporal.ChronoUnit; /** Utility methods for processing dates. */ public class DateUtils { Loading @@ -30,13 +34,9 @@ public class DateUtils { * @param date2 Second date to check. * @return The absolute difference in days between the two dates. */ public static int getDayDifference(Time time, long date1, long date2) { time.set(date1); int startDay = Time.getJulianDay(date1, time.gmtoff); time.set(date2); int currentDay = Time.getJulianDay(date2, time.gmtoff); return Math.abs(currentDay - startDay); public static int getDayDifference(ZoneId timeZone, long date1, long date2) { LocalDate localDate1 = Instant.ofEpochMilli(date1).atZone(timeZone).toLocalDate(); LocalDate localDate2 = Instant.ofEpochMilli(date2).atZone(timeZone).toLocalDate(); return Math.abs((int) ChronoUnit.DAYS.between(localDate2, localDate1)); } }
java/com/android/dialer/app/calllog/CallLogGroupBuilder.java +4 −3 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import android.support.annotation.Nullable; import android.support.annotation.VisibleForTesting; import android.telephony.PhoneNumberUtils; import android.text.TextUtils; import android.text.format.Time; import com.android.contacts.common.util.DateUtils; import com.android.dialer.calllogutils.CallbackActionHelper; import com.android.dialer.calllogutils.CallbackActionHelper.CallbackAction; Loading @@ -31,6 +30,8 @@ import com.android.dialer.compat.telephony.TelephonyManagerCompat; import com.android.dialer.inject.ApplicationContext; import com.android.dialer.phonenumbercache.CallLogQuery; import com.android.dialer.phonenumberutil.PhoneNumberHelper; import java.time.ZoneId; import java.util.Objects; /** Loading @@ -56,7 +57,7 @@ public class CallLogGroupBuilder { /** Day grouping for calls which occurred before last week. */ public static final int DAY_GROUP_OTHER = 2; /** Instance of the time object used for time calculations. */ private static final Time TIME = new Time(); private static final ZoneId TIME_ZONE = ZoneId.systemDefault(); private final Context appContext; /** The object on which the groups are created. */ Loading Loading @@ -255,7 +256,7 @@ public class CallLogGroupBuilder { * @return The date group the call belongs in. */ private int getDayGroup(long date, long now) { int days = DateUtils.getDayDifference(TIME, date, now); int days = DateUtils.getDayDifference(TIME_ZONE, date, now); if (days == 0) { return DAY_GROUP_TODAY; Loading