system_api: Add field to disable MediaStore maintenance tasks in ARC.

Use protobuf optional field to support this feature which will be passed
to CrOS (used in ARC) from Chrome.  The service can be scheduled to run
on any API level. See http://b/173906243#comment11 for more details.

TEST=emerge-${BOARD} system_api

Change-Id: I21d5c6a41c32936fedaa2e98ffc89a0f078fbf44
Tested-by: Alan Ding <>
Commit-Queue: Alan Ding <>
Reviewed-by: Yusuke Sato <>
GitOrigin-RevId: 81c3bc35ca6688fc07cc13583624a1cb17e9c520
1 file changed
tree: 24afd67d10684ece0d24ee145c5c7fb6772e4f74
  1. constants/
  2. dbus/
  3. src/
  4. switches/
  5. .gitignore
  8. Cargo.toml
  10. OWNERS
  12. system_api.pc

This directory (platform2/system_api) contains constants and definitions like D-Bus service names that are shared between Chromium and Chromium OS.

This directory is only for things like headers and .proto files. No implementation should be added.

When writting a .proto file make sure to use:

option optimize_for = LITE_RUNTIME;

This will force usage of a lite protobuf instead of a full/heavy weight protobuf. The browser only links against the light version, so you will get cryptic link errors about missing parts of Message if you define a protobuf here and then try to use it in Chrome. Currently CrOS links against the full protobuffer library, but that might change in the future.

When declaring a protobuf, avoid use of required unless it is exactly what you mean. “Required is Forever” and very rarely should actually be used. Consult Protocol Buffer Basics: C++ for a detailed of this issue.