Handle resource overusing apps based on the current UX state.

- When UX restriction requires distraction optimization, no user
notification is sent or resource overusing apps are killed/disabled.
- When UX restriction doesn't require distraction optimization but
display is turned on, user notifications are sent but resource
overusing apps are not killed/disabled.
- When display is turned off, user notifications can be sent to
notification center and resource overusing apps are disabled/killed.
- Fixed minor nits in the *Subject.java test classes.

Test: atest CarWatchdogServiceUnitTest
Bug: 197770456
Fix: 200597990
Bug: 195425666

Change-Id: If7def6fd3a062ee648f753140103119da6b70b3f
Merged-In: If7def6fd3a062ee648f753140103119da6b70b3f
(cherry picked from commit 48173b02c50fb702b2dcdb4944b787d537e0de16)
10 files changed
tree: 817fe93bbd362405f60dcf1b9702e1d7d4ec4b9e
  1. car-admin-ui-lib/
  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. cpp/
  10. data/
  11. experimental/
  12. FrameworkPackageStubs/
  13. obd2-lib/
  14. packages/
  15. procfs-inspector/
  16. service/
  17. tests/
  18. tools/
  19. user/
  20. vehicle-hal-support-lib/
  21. .clang-format
  22. .gitignore
  23. Android.mk
  24. CleanSpec.mk
  25. CPPLINT.cfg
  26. OWNERS
  27. PREUPLOAD.cfg
  28. README.md
  29. 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.