Update the tzs2.dat file with latest 2021a tzdb

Update the tzs2.dat file with latest 2021a tzdb and run run_compare.sh
with the latest geonames data.

Although the boundaries haven't changed in timezone-boundary-builder
since 2020d, 2021a and an ICU update has changed the name for some IDs,
so there is an impact on the tzs2.dat file.

This commit also updates the known differences between geonames and the
latest tzs2.dat file after the 2021-06-10 geonames pull.

The known_diffs files were obtained by running run_compare.sh and fixing
the known_diffs files so there are no unknown diffs. No effort has been
made to investigate the correctness.

Bug: 163741462
Test: None
Merged-In: Ie8beda0239bbe4c5fca4a53776e93016c0ce2302
Change-Id: Ie8beda0239bbe4c5fca4a53776e93016c0ce2302
6 files changed
tree: 5f7ec93cc5d26a46d9fd549cc4e178a7f2776e2d
  1. apex/
  2. common/
  3. data_pipeline/
  4. geotz_lookup/
  5. locationtzprovider/
  6. output_data/
  7. s2storage/
  8. tzbb_data/
  9. validation/
  10. Android.bp
  11. download-tzbb-files.sh
  12. OWNERS
  13. README.md
  14. run-data-pipeline.sh
README.md

This directory contains code, tools and data for the AOSP reference location time zone provider. Location time zone providers are used for location-based time zone detection on Android. See Android's android.service.timezone.TimeZoneProviderService class for more details.

Directory structure

apex

  • Files associated with a proposed mainline module APEX to hold the AOSP reference location time zone provider.

common

  • Utility code shared between several subdirectories.

data_pipeline

  • Code for a host sample / reference data generation pipeline. See run-data-pipeline.sh below.

geotz_lookup

  • A high-level API for performing time zone ID lookups for a location using the tzs2.dat file. Supports host and device usage.

locationtzprovider

  • A reference location time zone provider that uses AOSP APIs to obtain location and the geotz_lookup APIs to obtain the time zone IDs to pass to the platform.

output_data

  • Holds the tzs2.dat file generated by run-data-pipeline.sh along with the associated license files.

s2storage

  • File reading / writing code and tools to support tzs2.dat generation on host, and the file's use on host and device. See s2storage/README.md for format details.

tzbb_data

  • Data / licenses from the external timezone-boundary-builder project. Used as input for the reference data generation pipeline.

validation

  • Tooling to help validate the tzs2.dat file against other data sources.

Data file update tools

download-tzbb-files.sh

run-data-pipeline.sh

  • Runs the data_pipeline data generation pipeline. It takes data from tzbb_data/, processes it, and puts the resulting tzs2.dat file in output_data/.