Add Silent Mode for Automotive

This monitors the Silent Mode indication from the kernel via
/sys/power/kernelsilentmode.

The indication is available from SilentModeController to other code via
a callback or by direct query.

This new indication is used to control turning the display on at
system start up and off at shut down.

New reboot options for test are included:
   adb reboot forcedsilent
   adb reboot forcednonsilent

Support for
   adb shell cmd car_service silent <on|off|query>
is in a dependent CL.

Bug: 134521909
Test: atest SilentModeControllerUnitTest (new)
Test: atest BluetoothDeviceConnectionPolicyTest
Test: atest CarBluetoothServiceTest
Test: atest CarCabinManagerTest
Test: atest CarPowerManagementServiceTest
Test: atest CarPowerManagerUnitTest
Test: atest CarUserNoticeServiceTest
Change-Id: I4ec16ec2a7f5504de1184f982d31d1c83ffcf469
10 files changed
tree: 1115bc16989ba76d394f3add3874e160224e0459
  1. car-bugreportd/
  2. car-internal-lib/
  3. car-lib/
  4. car-maps-placeholder/
  5. car-systemtest-lib/
  6. car-test-lib/
  7. car-usb-handler/
  8. car_product/
  9. computepipe/
  10. evs/
  11. experimental/
  12. FrameworkPackageStubs/
  13. obd2-lib/
  14. procfs-inspector/
  15. service/
  16. surround_view/
  17. tests/
  18. tools/
  19. user/
  20. vehicle-hal-support-lib/
  21. watchdog/
  22. .clang-format
  23. .gitignore
  24. Android.mk
  25. CleanSpec.mk
  26. CPPLINT.cfg
  27. OWNERS
  28. PREUPLOAD.cfg
  29. README.md
  30. TEST_MAPPING
README.md

Native (C++) code format is required to be compatible with .clang-format file. Run

git clang-format --style=file --extension='h,cpp,cc' HEAD~

Note that clang-format is not desirable for Android java files. Therefore the command line above is limited to specific extensions.