1This directory contains code, tools and data for the AOSP reference location 2time zone provider. Location time zone providers are used for location-based 3time zone detection on Android. See Android's 4android.service.timezone.TimeZoneProviderService class for more details. 5 6Directory structure 7=================== 8 9`apex` 10 - Files associated with a proposed mainline module APEX to hold the AOSP 11 reference location time zone provider. 12 13`common` 14 - Utility code shared between several subdirectories. 15 16`data_pipeline` 17 - Code for a host sample / reference data generation pipeline. See 18 `run-data-pipeline.sh` below. 19 20`geotz_lookup` 21 - A high-level API for performing time zone ID lookups for a location using 22 the `tzs2.dat` file. Supports host and device usage. 23 24`locationtzprovider` 25 - A reference location time zone provider that uses AOSP APIs to obtain 26 location and the `geotz_lookup` APIs to obtain the time zone IDs to pass to 27 the platform. 28 29`output_data` 30 - Holds the `tzs2.dat` file generated by `run-data-pipeline.sh` along with 31 the associated license files. 32 33`s2storage` 34 - File reading / writing code and tools to support `tzs2.dat` generation on 35 host, and the file's use on host and device. See `s2storage/README.md` for 36 format details. 37 38`tzbb_data` 39 - Data / licenses from the external 40 [timezone-boundary-builder](https://github.com/evansiroky/timezone-boundary-builder) 41 project. Used as input for the reference data generation pipeline. 42 43`validation` 44 - Tooling to help validate the `tzs2.dat` file against other data sources. 45 46 47Data file update tools 48====================== 49 50`download-tzbb-files.sh` 51 - Used to refresh the data in `tzbb_data/` from the 52 [timezone-boundary-builder](https://github.com/evansiroky/timezone-boundary-builder) 53 project. 54 55`run-data-pipeline.sh` 56 - Runs the `data_pipeline` data generation pipeline. It takes data from 57 `tzbb_data/`, processes it, and puts the resulting `tzs2.dat` file in 58 `output_data/`. 59 60