Remove Time use.

Time is deprecated and should not be used.
I couldn't find tests in packages/apps/Dialer, so build only. I've checked that
ChronoUnit.DAYS.between(LocalDate, LocalDate) returns 1 when first argument is
second before midnight and second is second after.

Bug: 16550209
Test: m
Change-Id: I7bdf6a91cdc9f1615b35f1707cbdaf46015b70bf
diff --git a/java/com/android/contacts/common/util/DateUtils.java b/java/com/android/contacts/common/util/DateUtils.java
index 09d52bc..d5147eb 100644
--- a/java/com/android/contacts/common/util/DateUtils.java
+++ b/java/com/android/contacts/common/util/DateUtils.java
@@ -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 {
@@ -30,13 +34,9 @@
    * @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));
   }
 }
diff --git a/java/com/android/dialer/app/calllog/CallLogGroupBuilder.java b/java/com/android/dialer/app/calllog/CallLogGroupBuilder.java
index e525911..805ee64 100644
--- a/java/com/android/dialer/app/calllog/CallLogGroupBuilder.java
+++ b/java/com/android/dialer/app/calllog/CallLogGroupBuilder.java
@@ -23,7 +23,6 @@
 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;
@@ -31,6 +30,8 @@
 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;
 
 /**
@@ -56,7 +57,7 @@
   /** 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. */
@@ -255,7 +256,7 @@
    * @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;