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
diff --git a/src/com/android/settings/datetime/timezone/model/FilteredCountryTimeZones.java b/src/com/android/settings/datetime/timezone/model/FilteredCountryTimeZones.java
index 6af0911..d7fcb2f 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 @@
*/
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<String> mTimeZoneIds;