Fix AnalyticsSettingsTest in timezones ahead of UTC0.
Change-Id: If8d8eab41ad933e9c47f0281ec33c28add07050d
(cherry picked from commit 5536b0f4eb91edc22930b24e021e886ca267405d)
diff --git a/shared/src/main/java/com/android/tools/analytics/AnalyticsSettings.java b/shared/src/main/java/com/android/tools/analytics/AnalyticsSettings.java
index ab9a54f..152aa8c 100644
--- a/shared/src/main/java/com/android/tools/analytics/AnalyticsSettings.java
+++ b/shared/src/main/java/com/android/tools/analytics/AnalyticsSettings.java
@@ -43,7 +43,7 @@
import java.security.SecureRandom;
import java.time.Instant;
import java.time.LocalDate;
-import java.time.ZoneId;
+import java.time.ZoneOffset;
import java.time.temporal.ChronoUnit;
import java.util.UUID;
@@ -141,8 +141,7 @@
static int currentSaltSkew() {
LocalDate now =
LocalDate.from(
- Instant.ofEpochMilli(sDateProvider.now().getTime())
- .atZone(ZoneId.of("GMT")));
+ Instant.ofEpochMilli(sDateProvider.now().getTime()).atZone(ZoneOffset.UTC));
// Unix epoch was on a Thursday, but we want Monday to be the day the salt is refreshed.
long days = ChronoUnit.DAYS.between(EPOCH, now) + 3;
return (int) (days / 28);
diff --git a/shared/src/test/java/com/android/tools/analytics/StubDateProvider.java b/shared/src/test/java/com/android/tools/analytics/StubDateProvider.java
index 49ffaed..2784bcb 100644
--- a/shared/src/test/java/com/android/tools/analytics/StubDateProvider.java
+++ b/shared/src/test/java/com/android/tools/analytics/StubDateProvider.java
@@ -17,13 +17,17 @@
import com.android.utils.DateProvider;
+import java.time.ZoneOffset;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
+import java.util.TimeZone;
/**
* A {@link DateProvider} that can be set to a specific date for use in tests. NOTE: months are 0-11
* while days are 1-31 range.
+ *
+ * Uses UTC as time zone.
*/
public class StubDateProvider implements DateProvider {
private final int year;
@@ -39,6 +43,7 @@
@Override
public Date now() {
Calendar calendar = new GregorianCalendar(year, month, day);
+ calendar.setTimeZone(TimeZone.getTimeZone(ZoneOffset.UTC));
return calendar.getTime();
}
}