Merge "Add a high-level README.md" into sc-dev am: 30f0f9725c

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/GeoTZ/+/14716254

Change-Id: I07e5b35c23b64924f74f1d49c946532bd9e752de
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ed195ce
--- /dev/null
+++ b/README.md
@@ -0,0 +1,59 @@
+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/`.
+