| 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](https://github.com/evansiroky/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` |
| - Used to refresh the data in `tzbb_data/` from the |
| [timezone-boundary-builder](https://github.com/evansiroky/timezone-boundary-builder) |
| project. |
| |
| `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/`. |
| |