Adding CarAudioContexts for System Usages

- Added CarAudioContexts to match each new system usage
- Expanded FocusInteractions to include new contexts
- Updated calls for getUsage to use getSystemUsage
- For VolumeGroup association and Routing:
    - Updated legacy helper to automatially associated these contexts with
the media bus
    - Updated helper to associated these contexts with the media bus if V1
of car_audio_configuration.xml, and to parse them if V2+
(Cherry-picked from 287c5bcf5bd00e319df28b809350d4ee9470dbc7)

Bug: 144872669
Test: atest com.android.car.audio
Change-Id: I14670f3cff1b225da567b183926ffc7f2aa9e2f6
Merged-In: I14670f3cff1b225da567b183926ffc7f2aa9e2f6
32 files changed
tree: 694a98e2dead6f9c86f33e9e28f978a2cc463411
  1. car-bugreportd/
  2. car-default-input-service/
  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. EncryptionRunner/
  11. evs/
  12. experimental/
  13. FrameworkPackageStubs/
  14. obd2-lib/
  15. procfs-inspector/
  16. service/
  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
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.