You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
2.0 KiB

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/`.