Distribute registry as an asset
The registry is checked in as both a text proto and a binary proto,
however the binary proto is the only file shipped in the APK. The text
proto is used to validate the binary proto registry contents and build
time, i.e. the build will fail if they're out of sync with a message
about how to regenerate the binary proto.
*** Mean showmap private dirty bytes ***
* Control (no Cobalt): 11,735,204
* Registry asset : 12,054,200
* Registry resource : 14,473,298
* Collected with
```
adb shell am instrument -w -e class \
android.platform.test.scenario.adservices.GetTopicsApiCallMicrobenchmark \
-e process-names com.google.android.adservices.api \
-e listener android.device.collectors.ShowmapSnapshotListener \
-e iterations 25 \
android.platform.test.scenario/androidx.test.runner.AndroidJUnitRunner
```
*** Mean topics API cold start latency ***
* Control (no Cobalt): 524
* Registry asset : 543
* Registry resource : 589
* Collected with
```
adb shell am instrument -w -e class \
android.platform.test.scenario.adservices.GetTopicsApiCallMicrobenchmark \
-e process-names com.google.android.adservices.api \
-e listener android.device.collectors.TopicsLatencyCollector \
-e iterations 25 \
android.platform.test.scenario/androidx.test.runner.AndroidJUnitRunner
```
Bug: 298651580
Test: atest CobaltRegistryLoaderTest
Test: Deleted bytes from binary proto asset, build failed and saw
message with instructions to update
Change-Id: Ic1c67f53908455c1014afb427cdca5f2277ede62
8 files changed