60 lines
2.0 KiB
Markdown
60 lines
2.0 KiB
Markdown
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/`.
|
|
|