From d0e076192eaa9e86453814e5a7b5f42141392ced Mon Sep 17 00:00:00 2001 From: Neil Fuller Date: Wed, 27 Feb 2019 14:58:45 +0000 Subject: [PATCH] Update the timestamp used for time zone filtering Update the timestamp used for time zone filtering and improve the comment explaining what it is for. Bug: 124756276 Test: build only Change-Id: I2e53b1f3bd36602f8d08967e1335066d93ae05ea --- .../timezone/model/FilteredCountryTimeZones.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/datetime/timezone/model/FilteredCountryTimeZones.java b/src/com/android/settings/datetime/timezone/model/FilteredCountryTimeZones.java index 6af0911b34f..d7fcb2f95c6 100644 --- a/src/com/android/settings/datetime/timezone/model/FilteredCountryTimeZones.java +++ b/src/com/android/settings/datetime/timezone/model/FilteredCountryTimeZones.java @@ -27,9 +27,19 @@ import java.util.stream.Collectors; */ public class FilteredCountryTimeZones { - // New timezone list and the meta data of time zone, notUsedAfter, is introduced in Android P - // in 2018. Only show time zone used in or after 2018. - private static final long MIN_USE_DATE_OF_TIMEZONE = 1514764800000L; // 1/1/2018 00:00 UTC + /** + * The timestamp used to determine which time zones to show to users by using the notUsedAfter + * metadata Android holds for each time zone. + * + * notUsedAfter exists because some time zones effectively "merge" with other time zones after + * a given point in time (i.e. they have identical transitions, offsets, etc.). After that + * point we only need to show one of the functionally identical ones. + * + * Rather than using System.currentTimeMillis(), UX folks asked for consistent behavior and so + * a timestamp known to be in the recent past is used. This should be updated occasionally but + * it doesn't have to be very often. + */ + private static final long MIN_USE_DATE_OF_TIMEZONE = 1546300800000L; // 1/1/2019 00:00 UTC private final CountryTimeZones mCountryTimeZones; private final List mTimeZoneIds;