aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 843353df17f4fe9aa03e3f3e3cce0bcd2f862976 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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`
  - Generic 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 details.

`tzs2storage`
  - TZ-specific file reading / writing code and tools to support `tzs2.dat`
    generation on host, and the file's use on host and device. See
    `tzs2storage/README.md` for 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/`.