diff options
author | Neil Fuller <nfuller@google.com> | 2021-03-11 14:34:33 +0000 |
---|---|---|
committer | Neil Fuller <nfuller@google.com> | 2021-03-11 14:34:33 +0000 |
commit | b2973f8213b8edcff673fb795fe1da0151290408 (patch) | |
tree | 167738a7c4d23680f4aa31d859bdf620aae8ad9c /core/proto | |
parent | c3c171cbe5e1747a3d28ee2b60f72c59cb12b414 (diff) |
Add MetricsTimeZoneSuggestion for metrics use
This tracks an internal change.
Bug: 172934905
Test: build / boot / treehugger
Change-Id: I94ab695250cc7d0db294628f9578f3ffa77b998d
Diffstat (limited to 'core/proto')
-rw-r--r-- | core/proto/android/app/time_zone_detector.proto | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/core/proto/android/app/time_zone_detector.proto b/core/proto/android/app/time_zone_detector.proto index c7919b39956d..b33ca1d4f476 100644 --- a/core/proto/android/app/time_zone_detector.proto +++ b/core/proto/android/app/time_zone_detector.proto @@ -30,3 +30,30 @@ message GeolocationTimeZoneSuggestionProto { repeated string zone_ids = 1; repeated string debug_info = 2; } + +/* + * An obfuscated and simplified time zone suggestion for metrics use. + * + * The suggestion's time zone IDs (which relate to location) are obfuscated by + * mapping them to an ordinal. When the ordinal is assigned consistently across + * several objects (i.e. so the same time zone ID is always mapped to the same + * ordinal), this allows comparisons between those objects. For example, we can + * answer "did these two suggestions agree?", "does the suggestion match the + * device's current time zone?", without leaking knowledge of location. Ordinals + * are also significantly more compact than full IANA TZDB IDs, albeit highly + * unstable and of limited use. + */ +message MetricsTimeZoneSuggestion { + option (android.msg_privacy).dest = DEST_AUTOMATIC; + + enum Type { + CERTAIN = 1; + UNCERTAIN = 2; + } + optional Type type = 1; + + // The ordinals for time zone(s) in the suggestion. Always empty for + // UNCERTAIN, and can be empty for CERTAIN, for example when the device is in + // a disputed area / on an ocean. + repeated uint32 time_zone_ordinals = 2; +} |