Bug: 178184202

Clone this repo:
  1. 0257550 Merge Android 14 QPR2 to AOSP main by Xin Li · 8 weeks ago main master
  2. 6e5b906 Merge Android 24Q1 Release (ab/11220357) by Xin Li · 4 months ago
  3. f35c39e Make s2storage_rw visible to platform by Thomas Nguyen · 5 months ago
  4. 50f7f25 [automerger skipped] Move generic classes to com.android.storage am: a6d5c9e89b am: d0ae868540 -s ours am: 2042f35707 -s ours by Neil Fuller · 5 months ago
  5. d08ee67 [automerger skipped] Move generic classes to com.android.storage am: a6d5c9e89b am: 3ab018db5f am: 2bfb3bb727 -s ours by Neil Fuller · 5 months ago

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 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

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