History log of /packages/services/Car/service/src/com/android/car/ICarImpl.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4d257023389c23b8836f10cda1bfa1ea136f56c9 27-Apr-2018 Steve Paik <spaik@google.com> Create CarPropertyService and CarPropertyManager

CarPropertyService replaces Cabin, Hvac, Info, Sensor,
and VendorExtension services.

Bug: 78782959
Bug: 36649684
Bug: 68056035
Test: runtest -x packages/services/Car/tests/android_car_api_test
runtest -x packages/services/Car/tests/carservice_unit_test
Change-Id: I69756654473fe66ef95e9e2cd4f3c1045e3ac938
Merged-In: Ic0a94805f83cc0222fb2bcf9674b6031bc050986

(cherry picked from commit fc0257133967edcb217e07e9ab942690eeaae3de)
(cherry picked from commit 0265d8348716b2971f76e697f410f4cf7128371c)
/packages/services/Car/service/src/com/android/car/ICarImpl.java
d3cb98e76080151bdfb5085b8971b5070f11d28b 11-May-2018 Ying Zheng <yizheng@google.com> DO NOT MERGE - Create a car user service. Protected by flag.

Test: Unit test
Bug: 79536548
Change-Id: I8f8a42a5811e38c8c03f0f5d4e9665870a44674d
/packages/services/Car/service/src/com/android/car/ICarImpl.java
7b25e6ad5fba7f0a0daff1f6831be6ee8e6d25b3 23-May-2018 Ying Zheng <yizheng@google.com> Merge "Revert "Create a car user service that creates a secondary admin on first run."" into pi-dev
2b49967b09ca66f0a7a1cab7f1cfeed7cc586a64 23-May-2018 Ying Zheng <yizheng@google.com> Revert "Create a car user service that creates a secondary admin on first run."

Bug: 79536548
Test: Build


This reverts commit 5bdb9e5b32f8199dbded0c76ce5302d105be0f29.

Reason for revert: Do it later.

Change-Id: Ice8a9c6e94b3a1758d9108725950e8bdaea0fc0b
/packages/services/Car/service/src/com/android/car/ICarImpl.java
8ecf6fa8a89c72ba3cdb2ea6460b40de9e0c1f94 21-May-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Create a car user service that creates a secondary admin on first run." into pi-dev
5bdb9e5b32f8199dbded0c76ce5302d105be0f29 11-May-2018 Ying Zheng <yizheng@google.com> Create a car user service that creates a secondary admin on first run.

Test: Unit test
Bug: 79536548
Change-Id: Id38b32c6a9c1dd885b8e04f41f6f7e45a69131ff
/packages/services/Car/service/src/com/android/car/ICarImpl.java
d4203d84835b5deba4818f23623a4a1ef4acbbbb 17-May-2018 Anthony Chen <ajchen@google.com> Return CarConfigurationService when requested.

getCarService() incorrectly did not have a case for when the car
configuration manager is requested.

Fixes: 79883507
Test: flash build and request the CarConfigurationManager from a sample
application.

Change-Id: I74bba238a23c18d2baf4651208aeedcdcdac4499
/packages/services/Car/service/src/com/android/car/ICarImpl.java
fed3143926c1f28374cbbcebd4c35bb2d7bf0199 04-May-2018 Scott Randolph <randolphs@google.com> Simplify service initialization

No need to make a list from an array to convert to an array...

Test: Build owl
Bug: 9225962
Change-Id: If52b62204e16d3784b04d303c40d63d49c176e45
/packages/services/Car/service/src/com/android/car/ICarImpl.java
12aec30c0cee9ad19c1457e661395f27a5e9a27b 26-Apr-2018 Anthony Chen <ajchen@google.com> Add a configuration retrieval manager.

The CarConfigurationManager is currently only returning the
configuration for speed bump, which is hard-coded.

Change-Id: I1862340ff40f8c61ec64c5eff8a0899f7f672391
Fixes: 71817274
Fixes: 70338684
Fixes: 71817172
Test: Write unit test and run the test
/packages/services/Car/service/src/com/android/car/ICarImpl.java
46505531860c78bb8721cffad5c0f7a0809f696d 09-Apr-2018 Kai Wang <kwangsudo@google.com> Merge "Update Vehicle Data Permissions" into pi-dev
68ee16bde23d44fc4bafd30732bf50145a2fe9ff 22-Mar-2018 Kai <kwangsudo@google.com> Update Vehicle Data Permissions

Update Vehcile Data Permissions

Bug: 74023401
Test: Make and flash to Mojave
Change-Id: I2ec5621e6008ddf843dbac1d3e412ddb5358e6ea
/packages/services/Car/service/src/com/android/car/ICarImpl.java
e8056ca93515f01f237290bbc371bc082570fa96 03-Apr-2018 Enrico Granata <egranata@google.com> Enable dumpsys car_service

The command in use to dumpsys information from CarService was "dumpsys activity service com.android.car/.CarService", which is based
on overloading dump() in the CarService class. OTOH, the class known to the ServiceManager as "car_service" is ICarImpl, which was not
providing the correct overload of dump().

Fix this by moving the dumping logic over in ICarImpl

Test: manual
Fixes: 77498074

Change-Id: I0c18a9088e9c06201de79e8ebf247dc969ff7317
/packages/services/Car/service/src/com/android/car/ICarImpl.java
20526258de542b521b630079513059d08c08efdb 30-Mar-2018 Steve Paik <spaik@google.com> Cleanup after updating VHAL

This CL cleans up the mess created after we revised VHAL's type.hal.
I also removed CarRadio* since that is deprecated.

Bug: 77301298
Test: It compiles
Change-Id: Iad881373ab555da7e282349f5519f0882c5cd0cd
/packages/services/Car/service/src/com/android/car/ICarImpl.java
e011a40c9eb9333b7c06a8afec8446d2f3134fcd 23-Mar-2018 Ram Periathiruvadi <ramperry@google.com> Enable fast pairing based on UX restrictions.

Bug: 74435568
Test: make and boot.
Change-Id: I7b7e0397ccd9ef3f809c25852a56a801f6070469
/packages/services/Car/service/src/com/android/car/ICarImpl.java
26fa601421977b1ceb90da1544879e5cb1f90267 15-Mar-2018 Gregory Clark <gregoryclark@google.com> Cache location upon the prepare shutdown event.

Bug: b/74255015
Test: atest CarLocationServiceTest
Change-Id: I7d241c4c89e8b24e4712bbf370bdf992354c96a3
/packages/services/Car/service/src/com/android/car/ICarImpl.java
ed9e8f87cd2bdc1b2791be8cd25e016c02cb93eb 07-Mar-2018 Ram Periathiruvadi <ramperry@google.com> Make driving state to UXR mapping configurable.

1. Added a new XML resource that provides a way to map driving state to
UX restrictions. This can be modified by the OEMs.
2. Made UxRestrictionService listen to speed when the driving state is
moving so we can support different restrictions across different speed
ranges.

Bug: 69859857
Test: Tested that restriction values from XML are honored by changing
driving state and speed.

Change-Id: I2b46b3d61ed9a4ca3560323b04d11dfae1e91567
/packages/services/Car/service/src/com/android/car/ICarImpl.java
44a7c8ac8e501d1f3e0b7cd8b26207384a19d55f 03-Mar-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Parse installed pkgs for Distraction Optimization."
3838830086d818960d556841427a2e415a7999c5 23-Feb-2018 Ram Periathiruvadi <ramperry@google.com> Parse installed pkgs for Distraction Optimization.

1. Check the configurable whitelist for apps and activities that can run
during DO.
2. If not in whitelist, check if the apps have tagged their activities
to be DO and add them to the allowable list.

Bug: 68717481
Test: Whitelisted and DO tagged apps can run while restrictions are in
place.

Change-Id: Ic46b95dd9e4e4194c8753d26250f0dc123163908
/packages/services/Car/service/src/com/android/car/ICarImpl.java
25c0b8583d2328ec8e9f9d34587fb80d6bb38099 01-Mar-2018 Kai <kwangsudo@google.com> Create CAR_ENGINE_DETAILED permission

-Create CAR_ENGINE_DETAILED permission.
-Rename CAR_CABIN, CAR_HVAC, DIAGNOSTIC_READ_ALL, DIAGNOSTIC_CLARE.

Bug: 74031422
Test: Make and flash to Mojave
Change-Id: I3bf3b213e2d8811e4f77064dcdbab29bf99d37be
/packages/services/Car/service/src/com/android/car/ICarImpl.java
a32a7c1831202999940091fc51efb0a9dec980cf 28-Feb-2018 Bryan Eyler <bryaneyler@google.com> Expose command to force garage mode.

Adds the ability to force and query the state of garage mode.

Bug: 73968499
Tested: adb shell dumpsys activity service com.android.car/.CarService garage-mode on

Change-Id: Ia27868dc710a133c6dd405289bbab0f5d0ed9551
/packages/services/Car/service/src/com/android/car/ICarImpl.java
388d77770e00eadde4e45df95678f1468ce6fbc8 12-Feb-2018 Steve Paik <spaik@google.com> Add CarPowerManager

- Add Java API for apps to call into power manager
- Update EmbeddedKitchenSink to test API
- Update CarPowrManagementService to handle binder interface

Bug: 32061842
Test: EmbeddedKitchenSink
Change-Id: I15f5c25262507d4a6d6e5f381643f3e584f1843e
/packages/services/Car/service/src/com/android/car/ICarImpl.java
c4b218fc28a1942662e876c8123f5f825589475e 15-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Call forceSuspend from CarPowerManagementService"
0f9fc00ffb03bc8e88c0a55e2e21b4ffdba19edf 10-Feb-2018 Steve Paik <spaik@google.com> Call forceSuspend from CarPowerManagementService

Bug: 32061842
Test: Manual instrumentation
Change-Id: Ib3ad05bb6e3f74a95ece693f2f3098e02a1d1158
/packages/services/Car/service/src/com/android/car/ICarImpl.java
34714508dfca845c14e59dcf88af86074f448a8b 15-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Dumpsys command to inject a float VHAL event."
5cd00cb14ad8c8e6a05eb494831d028886d385a1 12-Feb-2018 Ram Periathiruvadi <ramperry@google.com> Dumpsys command to inject a float VHAL event.

Also, refactor the code to reduce code duplication. Rearranged the
inject event commands so we have
1. adb shell dumpsys activity service com.android.car
inject-vhal-event property [zone] value

Bug: 73239742
Test: adb shell dumpsys activity service com.android.car
inject-vhal-event 0x11600207 30.0 - injects 30mph speed event.

Change-Id: Idbc75b17532b95608a0540735ae3dcf632de1cb2
/packages/services/Car/service/src/com/android/car/ICarImpl.java
e70eb5bf136deb49ee0710af9f976735efec346b 08-Feb-2018 Gregory Clark <gregoryclark@google.com> Inject location upon locked boot complete.

Bug: b/72815128
Test: runtest -x tests/carservice_unit_test/src/com/android/car/CarLocationServiceTest.java
Change-Id: Ib547c8dcc2535a4c8f250e91a728d44f9f9c81e5
/packages/services/Car/service/src/com/android/car/ICarImpl.java
bf0eab7a275edfbf7df2881ebca69cde72bd5614 06-Feb-2018 Ram Periathiruvadi <ramperry@google.com> Provide an option to disable app blocking.

adb shell dumpsys activity service com.android.car enable-uxr
true|false
Running above command and setting it to false will disable UXR blocking.

Bug:72992174
Test: Running above command and setting it to false will allow any app to
run while in restricted mode. Setting it to true will enable back UX
Restriction behavior.

Change-Id: Ic66976dde6965b4a8e5395a70a142f12eb6bc9f3
/packages/services/Car/service/src/com/android/car/ICarImpl.java
bb59919c29fdda922e88570c10011a653c973056 05-Feb-2018 Aditi Nagaraj <aditin@google.com> Merge "Making Vms features in CarService SystemApi"
1d8bea24a5680b7fd452835a407e4a7438cc5d4a 03-Feb-2018 Steve Paik <spaik@google.com> Revert "Move CarServiceHelperService"

This reverts commit cc71b86f56d4b3ce69b59404abd9a1f668460989.

Reason for revert: <INSERT REASONING HERE>

Change-Id: Ia84ac02247035b34a3681cafba9bbeebd661a31d
/packages/services/Car/service/src/com/android/car/ICarImpl.java
dd60089d8b572737997cc78ea0a1e059f9a37c6f 02-Feb-2018 Aditi Nagaraj <aditin@google.com> Making Vms features in CarService SystemApi

Bug: 72870875
Test: Run on mojave
Change-Id: I7240108e21e370e671c256bb501d569bab2021e0
/packages/services/Car/service/src/com/android/car/ICarImpl.java
cc71b86f56d4b3ce69b59404abd9a1f668460989 31-Jan-2018 Steve Paik <spaik@google.com> Move CarServiceHelperService

Move CarServiceHelperService from frameworks/base to
frameworks/opt/car/services.

Bug: 72571496
Test: Compiles and runs

Change-Id: I78b81f2e7aac1b35b804888f69fc4120d9888792
/packages/services/Car/service/src/com/android/car/ICarImpl.java
2da6d0efdd5676ba5c48b00a7f3bb04a113eeafa 27-Jan-2018 Ram Periathiruvadi <ramperry@google.com> Make CarPackageManager listen to UX restrictions.

CarPackageManager used to subscribe to CarSensorManager's DRIVING_STATUS
to enforce activity blocking. Changing that to listen to the new
CarUxRestrictionsManagerService.
Add the Home App to the white list.
No change to the current restriction behavior yet, only changing the
source to the new Restriction Manager.

Bug: b/72570830
Test: Compile and boot. CarPackageManager can receive Ux Restriction
events.

Change-Id: I3b96a004cafa2813b7d1855e68cea53c9ffb5f40
/packages/services/Car/service/src/com/android/car/ICarImpl.java
4526a43140177072b5543f3cf0f06bd72fd8e38e 24-Jan-2018 Ram Periathiruvadi <ramperry@google.com> Revise CarUxRestrictions API.

UX Restriction related classes are renamed to follow convention.
UX Restriction related APIs - Manager and Event are renamed for
readability.
More granular UX Restrictions are added to the CarUxRestrictions.

Bug: b/72321163, b/72287236
Test: Compiles and boots. KitchenSync can listen to the events.
Change-Id: I0c3afdc9dd992f4247fd4a50816611a76d31ced8
/packages/services/Car/service/src/com/android/car/ICarImpl.java
132ccf84839326b37e2851409c1666453da2b922 23-Jan-2018 Ram Periathiruvadi <ramperry@google.com> Merge "Car Managers for driving state & UX restrictions"
25c16f168c685c11065836d2682dfb1dfef2b60d 18-Nov-2017 Ram Periathiruvadi <ramperry@google.com> Car Managers for driving state & UX restrictions

Adding new Car Managers and Services to expose the car's driving
state and the mapped UX Restrictions for that driving state.
CarDrivingStateManager is exposed as a SystemApi, whereas
CarUXRestrictionsManager is exposed as a public API for apps to react.

Bug: b/68716688, b/69859786, b/72052159
Test: KitchenSink app can listen to both driving state and UXR changes.

Change-Id: I962e0bdde4ceef5be203409ca26cf51a68dd84ca
/packages/services/Car/service/src/com/android/car/ICarImpl.java
d8136065ef09e3987598f339477f5371a9c4bb45 11-Dec-2017 Gregory Clark <gregoryclark@google.com> Add a car service for caching location.

Bug: b/64125396
Test: runtest -x tests/carservice_unit_test/src/com/android/car/CarLocationServiceTest.java
Change-Id: Ic11fa81d46c3ff7292aad69e2042932199480873
/packages/services/Car/service/src/com/android/car/ICarImpl.java
30557233bd224b3416dda11b57288d3ea0ee55e4 02-Jan-2018 Hongwei Wang <hwwang@google.com> Cleanup audio hal layer

- Deprecated CarVolumeController
- Deprecated CarVolumeService
- Deprecated VolumeUtils
- Deprecated AudioHalService

TODO next

- CarAudioService should maintain the min/max/current volumes
- CarAudioService should be in charge of setting gain on device ports

Bug: 65751827
Test: lunch bat_land-userdebug && m -j // vorbis codec is broken on
master, can not really test the actual audio output

Change-Id: If3bf229976839f00b8d6dfa152bfff52d5b91405
/packages/services/Car/service/src/com/android/car/ICarImpl.java
ed3d59bbe179399a8520ea137cda14f018c9068d 10-Nov-2017 Brad Stenning <stenning@google.com> Wrap dump calls in a try catch so that if one fails it does not take down
the rest.

Test: run adb shell dumpsys activity service com.android.car/.CarService
Change-Id: Id9cebfb7a2a31d8d634913379494d5964f43ed66
(cherry picked from commit 46e54ff20c3253e3ff1788f25241fb0048c0d969)
/packages/services/Car/service/src/com/android/car/ICarImpl.java
410048a8a8a542bea8b021682830072aa6614391 17-Oct-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Refactor SystemInterface."
b19bc326413285806ecca7fb7b54ec7a9074f286 12-Oct-2017 Enrico Granata <egranata@google.com> Refactor SystemInterface.

Split SystemInterface into a set of smaller chunks, each wrapping one specific functional set of system APIs.
Provide default implementations of each of those chunks.
Rework SystemInterface to be a class that wraps all the chunks and forwards to each of them.
Add a Builder API to allow one to construct a full SystemInterface from individual chunks.

This turns a fairly heavy-weight interface into smaller pieces which are easier to use individually, and it also makes
it easier for tests to only change a subset of SystemInterface functionality when they need to do so.

Test: runtest -x packages/services/Car/tests/carservice_unit_test/src/com/android/car/CarPowerManagementServiceTest.java
runtest -x packages/services/Car/tests/carservice_unit_test/src/com/android/car/UptimeTrackerTest.java
runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/CarPowerManagementTest.java
runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/CarStorageMonitoringTest.java
runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/CarDiagnosticManagerTest.java
runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/CarSensorManagerTest.java
Change-Id: I34c89b526d052126198a148d742123af78eafcbd
Fixes: 67739411
/packages/services/Car/service/src/com/android/car/ICarImpl.java
abd4723ef632cf4cb62146f1ef83af6110baae18 11-Oct-2017 Pavel Maltsev <pavelm@google.com> Always call ICarImpl::init in the main thread

Right now it can be called from CarTestService from binder thread which
results in crashes as TimingsTraceLog must be called in the same thread
it was created.

Test: runtest -x packages/services/Car/tests/carservice_test
Change-Id: I1b282637d8c3a900f354f285e26b991d113ec140
Fix: b/67499283
/packages/services/Car/service/src/com/android/car/ICarImpl.java
cf53fd7339fd2e4814230f2dae1b5baafc50298c 28-Sep-2017 Enrico Granata <egranata@google.com> Lazy initialization of CarStorageMonitoringService

- Introduce an API in SystemInterface by which one can register actions that
will be executed "after some (partially configurable)" delay after the
ACTION_BOOT_COMPLETED broadcast is received.
- Move most of the initialization of CarStorageMonitoringService as one such action.
- Introduce a way to send a fake ACTION_BOOT_COMPLETED notification for testing.

Bug: 32512551
Test: manual verification that the service properly comes up and responds to queries after a delay +
runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/CarStorageMonitoringTest.java
runtest -x packages/services/Car/tests/carservice_unit_test/src/com/android/car/CarPowerManagementServiceTest.java

Change-Id: I31eb24df2ae66fa0bc88865f469e04d57e0a127f
/packages/services/Car/service/src/com/android/car/ICarImpl.java
1172f888cd2cf1c2572308fb76a3ad101ab2bcb6 21-Sep-2017 Enrico Granata <egranata@google.com> Tweaks to CarStorageMonitoring:
- add an API to retrieve the current wear estimates
- protect API by system permission

Test: KitchenSink and runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/CarStorageMonitoringTest.java
Bug: 32512551
Change-Id: I2a937dbc525d86c10f6c546b63eb992513807e54
/packages/services/Car/service/src/com/android/car/ICarImpl.java
517a1e0666fc801dc38ee387013bb05ee965b1a6 21-Sep-2017 Enrico Granata <egranata@google.com> First pass at a test for CarStorageMonitoringManager

This commit moves the list of WearInformationProviders to SystemInterface.
This enables one to be inserted via mocking for testing purposes.

The test then injects wear information data and then reads it back via the
monitoring API.

Bug: 32512551
Test: runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/CarStorageMonitoringTest.java
Change-Id: I88394f0be92fa5278aab4430e14434af7bdd44de
/packages/services/Car/service/src/com/android/car/ICarImpl.java
632840e8eb702b7c674e8f653091b2c2da5283a1 20-Sep-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Move car service test cases to original package"
8edd2555182213bc576d0493fffe0973368e22c2 18-Sep-2017 Pavel Maltsev <pavelm@google.com> Move car service test cases to original package

Sharing package name between test and its target will require only
package-private API exposure instead of public.

Bug: 36189057

Test: runtest -x packages/services/Car/tests/carservice_test/

Change-Id: I3b0677c22d929f50b39d95dc0dc7b26d374236f1
/packages/services/Car/service/src/com/android/car/ICarImpl.java
9a916d707c04d80e9df6dcd84d976900804be717 19-Sep-2017 Enrico Granata <egranata@google.com> Sketch out CarStorageMonitoringService/CarStorageMonitoringManager

Bug: 32512551
Test: manual in KitchenSink
Change-Id: I5b36b734223195a32d2e0632f0c35b0a470fa3c3
/packages/services/Car/service/src/com/android/car/ICarImpl.java
39e4f034a93dc2abbbf28ac8a5c09f6612fdaba3 16-Sep-2017 Asaf Rosenfeld <asafro@google.com> Making VMS a @SystemAPI

This CL should go in the Pi/Master and O.Car.MR1 branches.
Test: I built an image w/o @FutureFeature enabled and verified all the tests pass. Also fixed a test flakiness.

Change-Id: I50495d6264c7932b670a4fae456d7f89ab5c1e55
/packages/services/Car/service/src/com/android/car/ICarImpl.java
76a8489d09152192f356e61029eaffc401c5e639 28-Jul-2017 Ram Periathiruvadi <ramperry@google.com> Car Bluetooth policy - option to tag a device for autoconnect

Provide an option to tag a device with a priority for auto connection.
If a device is tagged as a Primary device for example, then the auto
connect policy will always try to connect to that device first
regardless of which device connected last (which is the default policy)

Bug: b/34722344
Test: Unit test
Change-Id: Ie364a4fbf5b29bc3f6cca7433ead2ed4b4debc9e
/packages/services/Car/service/src/com/android/car/ICarImpl.java
4a79a38b5f73596f39ea41794c6bd6d9bde12ce9 11-Aug-2017 Keun-young Park <keunyoung@google.com> reflect rename of TimingsTraceLog

bug: 64569080
Test: build
Change-Id: I6f1c4547645761cd613b4fe6158fb600c7c4026c
/packages/services/Car/service/src/com/android/car/ICarImpl.java
c302c7c9f8f67664052501a8ed388f3c28156465 04-Aug-2017 Steve Paik <spaik@google.com> Add log to confirm VHAL is ready

Bug: 62354776
Test: Confirm log is generated
Change-Id: I2aa44f2c3c199e83c3a5755a7e186825e1b82c5a
/packages/services/Car/service/src/com/android/car/ICarImpl.java
905968cf95d4c8608d6d9351b5dd10fe994a1220 17-Jul-2017 Pavel Maltsev <pavelm@google.com> Allow activities in instrument cluster

- Added new CarInstrumentClusterManager to start activity in the cluster
and subscribe to cluster specific events
- Cluster vendor implementation (InstrumentClusterRenderingService) was
extended, now it can notify Car Service with ActivityOptions that holds
info how to launch activity in the cluster for specific category, also it
can send additional info such as unobscured bounds
(ClusterActivityState)
- added DirectRenderingClusterSample which is an example of vendor
implementation that utilizes new features
- added FakeClusterNavigationActivity in Kitchensink which is a dummy nav
activity that can be run in the cluster, it has appropriate permissions
and activity category in manifest

Test: kitchensink

Bug: b/37500371
Change-Id: Ic4b3709a3b7e1310dbd1c499990eea64479b3333
/packages/services/Car/service/src/com/android/car/ICarImpl.java
41c5ac61eaf4ad26c7fe16ee3fe961b843e5f1e1 12-Jul-2017 Enrico Granata <egranata@google.com> Remove a few left-over @FutureFeature markers from diagnostics API

Test: build & sync
Change-Id: I37fcfda1e4db38929ddce08e7ed1f4a5781a292d
/packages/services/Car/service/src/com/android/car/ICarImpl.java
ae25b9293df64e4ec71178fbfe999b303a63577e 07-Jul-2017 Enrico Granata <egranata@google.com> Add @SystemApi markers for the diagnostic API values in android.car.Car

Test: build
Change-Id: I5c9ea265047629dd4fdf880d3eb153cc45564529
Fixes: b/37542858
/packages/services/Car/service/src/com/android/car/ICarImpl.java
aab47cd81c75e4fe4a486a665f61287d83f79967 05-Jun-2017 Keun-young Park <keunyoung@google.com> add skeleton for CarServiceHelperService support

- CarServiceHelperService is system server side companion for car service
and it launches car service and provides ICarServiceHelper interface.
- Remove BootReceiver as CarServiceHelper is launching car service

bug: 62342376
Test: confirm boot-up
Change-Id: Ieae18dffe054eceb0e7840aba4e09769dae40687
/packages/services/Car/service/src/com/android/car/ICarImpl.java
a048c0a3b653982a8a5560f9202f71cfc4d338e8 09-May-2017 Ram Periathiruvadi <ramperry@google.com> Fix Car Service Test crash.

Safeguard against unregistering a broadcast reciever more than once
caused by calling cleanup successively.
Respect ICarImpl release order - should be the reverse of the init
order.

Bug: b/38046032
Test: runtest -x packages/services/Car/tests/carservice_test/
Change-Id: I79f810292100f579bc10352121c59558f5ceb0e5
/packages/services/Car/service/src/com/android/car/ICarImpl.java
b3634e209ebcfe2cb987f70cea264bf8b07c3e15 06-May-2017 Enrico Granata <egranata@google.com> Enable Vehicle HAL 2.1 and Diagnostics by default in master.

Bug: 37246134
Test: verified VHAL 2.1 running via lshal and logcat;
verifed diagnostic_injector.py can inject diagnostic data

Change-Id: I49d20de2a440cf45d2a0928fe43197e491a0ba66
/packages/services/Car/service/src/com/android/car/ICarImpl.java
acb6024180232a2c0b6bad6f14758ef28d8f63f7 14-Apr-2017 Ram Periathiruvadi <ramperry@google.com> Bluetooth Auto-connect per user, fix multidevice connections

When auto connecting to devices on bluetooth, store and try devices per
user. Added a CarUserService that is created for the current user on
UserSwitch. The CarUserService deals with scenarios where the
CarService, running as a System User, doesn't get to listen to events
from processes running as the current user.
Fix the issue where when 2 phones were connected on HFP, auto-connect
only connects to one.
Other cleanup and slight code re-org

Bug: b/35324581
Bug: b/37305537
Test: Manually tested by switching between different users and connecting
to multiple phones.

Change-Id: I53583bee9ed1ff1a6bfd20363d4544efd2cc152f
/packages/services/Car/service/src/com/android/car/ICarImpl.java
fee07cd3702ec3b42db98749e0c6658cf10822fa 05-Apr-2017 Scott Randolph <randolphs@google.com> Don't try to load jni_car_service which no longer exists

Avoids spamming the log (and wasting time) trying to load a module that
no longer exists. This module used to contain implementation for
CarCameraService, but that is not a part of 'O'. EVS HAL is used
isntead.

Bug: 36900851, 36900269
Test: Code builds for bat_land-eng
Change-Id: Ia952e267a8b6a0e8c81be6818a653012ffd76b00
/packages/services/Car/service/src/com/android/car/ICarImpl.java
019d6c46302e9e073ee975cd6ba0d836a46573c7 22-Mar-2017 Scott Randolph <randolphs@google.com> Remove deprecated CarCamera interface

CarCamera is being replaced by the EVS HAL and manager.
See hardware/interfaces/automotive/evs and packages/services/Car/evs

Test: build full tree
Bug: 36900851
Change-Id: I691c4dc07491d51158f109c79c93f0748186bfc6
(cherry picked from commit 251fb78dc11923820402156e251b6029175eaa73)
/packages/services/Car/service/src/com/android/car/ICarImpl.java
fbdcfa94dd2af59ee0052f34a328fef535639c8a 01-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Adding IGN State START as a BT AutoConnect trigger"
49d5a5a4b57b38abbfb6e83fcbaf066cba595c07 18-Feb-2017 Ram Periathiruvadi <ramperry@google.com> Adding IGN State START as a BT AutoConnect trigger

Bug: b/34723490
Test: Tested by adding a inject fake Ignition State Change event
adb shell dumpsys activity service com.android.car inject-event
global-integer 0x11400409 5

Change-Id: I26eff96da5b0987d2e261848c015af62ce238e0a
/packages/services/Car/service/src/com/android/car/ICarImpl.java
3c7a66693e28acaa82d3c9ff2ed99712270c889f 24-Feb-2017 Enrico Granata <egranata@google.com> Permission support for diagnostics.

This creates two permissions for access to diagnostic data:
- DIAGNOSTIC_READ, for read-only access to live and freeze frame data;
- DIAGNOSTIC_CLEAR, for deleting DTC data from the car.

It also extends the meaning of PERMISSION_VENDOR_EXTENSION to mean being allowed to read vendor-specific diagnostic sensor data.

Test: build
Bug: 35435164
For O-MR1.

Change-Id: I046bf6ae4a7aa2b2570ea5657bff9e1ce86edbce
/packages/services/Car/service/src/com/android/car/ICarImpl.java
34010edbc8e13794307564c63b45226a8bf39e7a 16-Feb-2017 Enrico Granata <egranata@google.com> Post-O. Only enable CarDiagnosticManager if the right FeatureConfig flag is set.

Test: build with and without TARGET_USES_CAR_FUTURE_FEATURES=true
Change-Id: I608f4b30caa0f1b7c3884cebdc778adbb43d5fb8
/packages/services/Car/service/src/com/android/car/ICarImpl.java
bf81d446ca5938598c17707edf50ec2a4faf8bcf 15-Feb-2017 Ram Periathiruvadi <ramperry@google.com> Merge "Fixing Bluetooth Car policy bugs for auto-connect."
6b3544cf13ee99d6704216c96d40f89aff9bdc2b 07-Feb-2017 Antonio Cortes <antoniocortes@google.com> VMS skeleton code: VmsPublisherService

Implementing VMS publisher interfaces and service. The service
(VmsPublisherService) starts/binds to clients (IVmsPublisherClient) and
provides them with an interface (IVmsPublisherService) to publish data.

The next change will include the VmsPublisherClientService which is
the main interface for clients and the test.

This is a post-O feature.

Bug: b/34976096
Test: Flashed a Mojave board and verified there was no Car service crashes.
Change-Id: I360e78e4849b4e9d36855153a808ca5aef2630c5
/packages/services/Car/service/src/com/android/car/ICarImpl.java
ee28c00d9a031c7316e47027482d8d6178574f35 08-Feb-2017 Ram Periathiruvadi <ramperry@google.com> Fixing Bluetooth Car policy bugs for auto-connect.

- Write device list to file on state changes - b/34723579
- Verify device after successful connection - b/34723492
- Only add device to device list for profiles that it connected on -
b/34723683
- Add MAP client to list of to-be-connected porfiles - b/34723437
- Fix NPE in Emulator builds that don't have Bluetooth Adapter -
b/34887372

Bug: b/34723579
Bug: b/34723492
Bug: b/34723683
Bug: b/34723437
Bug: b/34887372
Test: Manual testing of auto-connect by injecting fake Cabin events via
adb shell dumpsys activity service com.android.car inject-event
0x16200b02 1 false

Change-Id: I2bff6730ebfac2dd4ebbdcb57a130c23235c3b61
/packages/services/Car/service/src/com/android/car/ICarImpl.java
5c56d2a3a5bc4ef5b46a58fa56b7f4a657b0827e 08-Feb-2017 Enrico Granata <egranata@google.com> Post-O. Sketch out CarDiagnosticManager API surface

Provide an implementation of all layers required to plumb CarDiagnosticManager through:
* CarDiagnosticEvent
* DiagnosticHalService
* CarDiagnosticService
* CarDiagnosticManager

If FutureFeatures are enabled, this is integrated end-to-end enough to run trivial tests of the API

Test: build with TARGET_USES_CAR_FUTURE_FEATURES=true then at a shell runtest -x packages/services/Car/tests/android_car_api_test/ -c android.car.apitest.CarDiagnosticManagerTest
Change-Id: I0f2aafd039d26fec15182dd7029cf8c7995ce85b
/packages/services/Car/service/src/com/android/car/ICarImpl.java
c52d5f9f6190cf9a44dd6dfd3bc92386fbf023b3 06-Feb-2017 Antonio Cortes <antoniocortes@google.com> Protecting VmsSubscriberManager with the future annotation and future flag.

Needed to move the FeatureConfiguration.java from service to car-lib
because it is used in Car.java

This is a post-O feature.

Bug: b/34976096
Test: Build with TARGET_USES_CAR_FUTURE_FEATURES set to true and to false.

Change-Id: I25848a0bfe6a6d59181dde48399fd2e1e8f10e4c
/packages/services/Car/service/src/com/android/car/ICarImpl.java
f0bdb5a80e7fe570bae70728b0356ff171c42581 07-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Move Vehicle HAL under automotive package"
e4619c7bdd549833cb795b74e438a7d1f3caa1b5 02-Feb-2017 Antonio Cortes <antoniocortes@google.com> VMS skeleton code: VmsSubscriberService

Create all the classes/interfaces to subscribe to the
VMS property. The next change will implement the
VmsSubscriberManager which is the main interface
for clients. Next change will also include the test.

Bug: b/34976096
Test: Flashed a Mojave board and verified there was no Car service
crashes.

Change-Id: I94ee54213a25e05df837220c6448ecfa62a1efa1
/packages/services/Car/service/src/com/android/car/ICarImpl.java
cfe93105f637c2822da113308f113ed418d0b319 02-Feb-2017 Pavel Maltsev <pavelm@google.com> Move Vehicle HAL under automotive package

Test: all existing tests passing

Bug: b/33200203
Change-Id: Id1ff815ae2af9c48ce8612b4cfb5327de13a5a1f
/packages/services/Car/service/src/com/android/car/ICarImpl.java
727c382d8d1c8d894009858cef2fdc0152ce3cc4 27-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Handle losing conneciton with VHAL in Car Service"
58d8e0d652534cf38685b146d0409e8c7e5bf5bc 27-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add skeleton for future feature support"
ec83b63c47f65c5978eec3ee24952969a17b1ee7 06-Jan-2017 Pavel Maltsev <pavelm@google.com> Handle losing conneciton with VHAL in Car Service

Test: TODO

Change-Id: Ib465b146db119bc4dbf6019f76619935891fd45d
Fix: b/34083734
/packages/services/Car/service/src/com/android/car/ICarImpl.java
bae6e255631798985618af0d53e0a8e1fa42cb8f 25-Jan-2017 Keun-young Park <keunyoung@google.com> Add skeleton for future feature support

- Future feature is for feature which will not be enabled by default.
- These features are not ready yet and should not be used for
production.
- APIs marked with FutureFeature annotation is for APIs under development.
Those APIs should never used for production.

bug: 34710797
Test: build

Change-Id: If5d001f31b770fc6ba7bce084d98ce3c1fc1850f
/packages/services/Car/service/src/com/android/car/ICarImpl.java
7ed8418790b9e30ef90bc808ce8641a6c2d814d4 21-Jan-2017 Ram Periathiruvadi <ramperry@google.com> Creating a BluetoothDeviceConnectionPolicy in CarService for Bluetooth Autoconnect.

A policy driven approach to trigger connection attempts to devices that have
previously connected to the vehicle. The policy listens for signals from the car
to decide on when to make the attempt and maintains a list of devices that it
can attempt the connections on for a given profile.

Bug: b/33080250
Test: New feature, testing using Car tests.
Change-Id: I6086c65a934f1721550a1049f5f7d95ae1d5251a
/packages/services/Car/service/src/com/android/car/ICarImpl.java
0d07c76bbc788fba8c77d8e932330ab22ec6ba27 04-Nov-2016 Pavel Maltsev <pavelm@google.com> Migrating Car service to new Vehicle HAL

- make car service work directly with Vehicle HAL
- getting rid of protobufs and dependencies on VNS
- get rid of CarTestManager / CarTestService and refactor
tests accordingly
- reworked ICarImpl to pass dependencies rather than
using singletons for better testing experience

Test: existing test should work, although some of the tests
(esp. audio) are broken and we will fix them in follow up CLs

Bug: b/31971746
Change-Id: I229969af332304ba3b1718f130cdf22038e86fad
Tests: tests adjusted to new data structures
/packages/services/Car/service/src/com/android/car/ICarImpl.java
e33f07e7c149ae6bf9154745fd9f83b49127b4f7 26-Jul-2016 Yao Chen <yaochen@google.com> Add dumpsys command to CarService to change day/night mode from adb

Bug: 30372029
Change-Id: I6360c950e772d5049330c8cc5c9e3f54b7bb5fda
/packages/services/Car/service/src/com/android/car/ICarImpl.java
634e1ff49c62c32c8227ec5092743de3caca790c 15-Jul-2016 Pavel Maltsev <pavelm@google.com> Implemented CarVendorExtensionManager

Also, some refactoring like omitting excessive
synchronization and reworked takeSupportedProperties from
being exception driven in PropertyHalServiceBase.
Change switch/case statement to SparseIntArray, it has
some maintanance and performance benefits.

Change-Id: Ie9e9239718d6fb50801a616b823a20567237ac95
Fix: b/28244032
/packages/services/Car/service/src/com/android/car/ICarImpl.java
43c04a7c87404d078db60e09d2da0061d72357c2 09-Jul-2016 Steve Paik <spaik@google.com> Add CarCabinManager

BUG: 27225448
Change-Id: I652f8e27c3921e23e0860df6d79623ac0057e377
/packages/services/Car/service/src/com/android/car/ICarImpl.java
8c7f297a4c5440fcb50c2a039229e73e9c6c388b 12-Jul-2016 Vitalii Tomkiv <vitalit@google.com> Add foreground activity check to CarAppFocusService

If foreground app is owning app focus, background app will not get it.

Bug: 28836743
Change-Id: Icf5f1e7b6500f74ea6e6bf2d4097bcec78ceaa1a
/packages/services/Car/service/src/com/android/car/ICarImpl.java
461ecc6c9bd22f782e8c64a6693bd8ec6d61593e 09-Jun-2016 Steve Paik <spaik@google.com> Add CarGenericManager and refactor HVAC to use it

Change-Id: I0af862f8da2259069a5be0d17efb1f82a208fa76
/packages/services/Car/service/src/com/android/car/ICarImpl.java
d79c47add221abca3f02a54c440f4025dbd781bd 28-Jun-2016 Pavel Maltsev <pavelm@google.com> Merge "Handle key events in instrument cluster" into nyc-car-dev
03cf60ce1ac0c87d137f93aeaac4b3062cdf839c 28-Jun-2016 Pavel Maltsev <pavelm@google.com> Handle key events in instrument cluster

Change-Id: Ic152b8fa6beb016383b6605b4e7e05394417d2e8
Fix:29366812
/packages/services/Car/service/src/com/android/car/ICarImpl.java
4727da3796711ddd09d8c684fe50a341841284ee 31-May-2016 Keun-young Park <keunyoung@google.com> implement activity blocking

- monitor activity launch and shut it down if
car is not parked and if the app is not allowed.
- Launch blocking activity for unsafe app.
- Blocking activity stays up to timeout (3 secs) and
finish itself if there is safe app behind.
If safe app is not there, launch home. If home is
not safe either. stay.
- allow OEMs to give static whitelist as overlay.

bug: 25267050

Change-Id: Id0bdae757fa98345069f2d83711b46447506f888
/packages/services/Car/service/src/com/android/car/ICarImpl.java
0477e29bb17ee8ec99acfa5fa966889cd45ebf34 27-May-2016 Pavel Maltsev <pavelm@google.com> Refactor Instrument Cluster API

- separate Car Service and Inst Cluster Renderer proccesses
- remove DemoInstrumentClusterRendering (we probably will make reference
Renderer based on work we did for I/O)
- deprecate instrument cluster listeners in CarNavigationManager

Change-Id: Id24142b5811b22477177b2bbcb4cc0e463023b18
Bug:28719314
/packages/services/Car/service/src/com/android/car/ICarImpl.java
46371473c416415fb6bcb8db85686669c3d65af6 24-May-2016 Vitalii Tomkiv <vitalit@google.com> Car api review: CarAppContextManager renaming to CarAppFocusManager.

Changes include:
- rename to CarAppFocusManager
- allow multiple client listener for listening and setting.
- change name for set / reset to requestAppFocus, abandonAppFocus
- rename all APIs to use focus instead of context

Bug: 28886557
Change-Id: I5e5285c104435dbd2eea43c4b0e43ae5ead81218
/packages/services/Car/service/src/com/android/car/ICarImpl.java
3cb891017933140b613cfaf5b8422c112c0f32dc 05-May-2016 Keun-young Park <keunyoung@google.com> add CarAudioManager.mute

- radio can be also muted by this.
- muting will also make new focus request, so client
requesting mute can also lose focus (LOSS_TRANSIENT) if it is
holding focus.
- For muting, muting request will be sen to vehicle hal.

- also fixed some bugs:
- handle IllegalArgumentException for focus request as this can happen
when mocked test ends
- fixed wrong addition of second context when focus loss is from car

bug: 28615094
Change-Id: I80b1c07305cad857763011711b7954ac5625fb64
/packages/services/Car/service/src/com/android/car/ICarImpl.java
021310d76665163d6a7907d056b3ef43e6e910e4 26-Apr-2016 Keun-young Park <keunyoung@google.com> fix failing carservice tests

- revamp hal release init order during mocking:
release hal after service release and init hal before service init
- fix wrong order of mocking state setting. This led into
bringing audio muting while in mocking.
- remove some default properties from CarEmulator
as default dummy value does not work.
- add synchronization for mCarVolumeController
- handle ServiceSpecificException for get call
- reduce init time for non-functioning vhal by caching
volule get calls in init
- update CarAudioFocusTest
- remove CarConnectionListenerInMockingTest as connection state
is no longer notified when mocking starts

bug: 28387670

Change-Id: Idf975a3b0ed86b111618487eedbc380c5662a487
/packages/services/Car/service/src/com/android/car/ICarImpl.java
c4d442f4a0d3acf90b1c7a1dd7c222a8f32a193f 08-Apr-2016 Yao Chen <yaochen@google.com> Add CarVolumeService

Things added in this cl:
+ Hook up hardware volume keys to CarVolumeService to directly update
volume for current audio context.
+ Added volume control apis in AudioManager, and the real implementation
is done in CarVolumeService
+ The volume updates from car is broadcast to listeners through
IVolumeController api which is already in framework. SystemUI is using
this api to listen to volume changes (through AudioManager).
+ Added new permission for volume controls

Main TODOs left:
+ Multi stream playing at the same time. This can be done through
adjustign software mixer gain on Android side. Utility functions to
compute the gain is added in VolumeUtils, but it's not used yet in
CarVolumeService.

+ Hook up with Settings so per stream volume can be persisted across
multiple boots.

Bug: 27595951

Change-Id: I3a63e423d4e0a347215af65e79926212e4503d1b
/packages/services/Car/service/src/com/android/car/ICarImpl.java
5ce1c8a623943dd92add6261b4828a1d358c6e0b 12-Apr-2016 Keun-young Park <keunyoung@google.com> keep car proxy focus for loss always

- adding external flag check is just hiding problems
when vehicle hal is handling focus in wrong way.
- For focus loss, keep car proxy focus. This will no
longer hide wrong focus loss in flow like radio gaining focus back.
- also fix broken audio focus tests due to muting / unmuting

bug: 28122287
Change-Id: I16a9f5a108f3907fe718dee3ef260f3f75ac6991
/packages/services/Car/service/src/com/android/car/ICarImpl.java
8cf86912f5abf7ceb2cf39d799a8f3b5a79d3608 02-Apr-2016 Pavel Maltsev <pavelm@google.com> Create logging (dummy) instrument cluster renderer

- refactor instrument cluster to move all display vs meta-data to renderer
making abstract InstrumentClusterRenderer agnostic to implementation;
- fixed crash in KS when opened inst cluster fragment;
- do not call renderer methods from main thread anymore, this doesn't make
much sense for meta-data implementations;

Change-Id: Id8b1f4b9a9e344aa5ee477516ad4dca6ad1f0acf
Fix:27884323
(cherry picked from commit 07cdf56960c2b655f7feaf46836dc7b6ec8f355c)
/packages/services/Car/service/src/com/android/car/ICarImpl.java
d73afaeb1c4c64ddad94e696a0fd88147888dee1 09-Apr-2016 Keun-young Park <keunyoung@google.com> add audio mute after display off

- Add SystemStateControllerService to control
system behavior during power state transition.
- For now, only mute audio when display is turned off.
- Audio muting is currently done by focus but should
be done via mute state in audio focus vehicle hal later.
- also fixed powerOn notification bug: send it whenever
there is display state change. also fixed wrong display
state check before sending it.

bug: 28018362
Change-Id: I786cadbb59e89ff880e24d37245c904db1904dd6
/packages/services/Car/service/src/com/android/car/ICarImpl.java
e31a8b24afe58bfc924fab7b66c9e48b9ef8e884 17-Mar-2016 Keun-young Park <keunyoung@google.com> add missing permission to KS

- also rename permission (remove PERMISSION_)

bug: 27705642
Change-Id: If2ad4a3fa4af824e88fc2cfc0a2ecf0b8d4b32da
/packages/services/Car/service/src/com/android/car/ICarImpl.java
2a295e60b8486ddc292f1dc8b87f270e312620c1 15-Mar-2016 Pavel Maltsev <pavelm@google.com> Move Media Status Service logic to sample renderer

Also, implement crossfade animation between phone and media cards.

Bug:27695164
Change-Id: Iad6d31f563aa34df557caadd9b2f3fc304ca5af4
/packages/services/Car/service/src/com/android/car/ICarImpl.java
ce4ffd95d6883b28756e5b02ae45a06013bd6c38 09-Mar-2016 Pavel Maltsev <pavelm@google.com> Add access permission for CarNavigationManager

Bug:27547330
Change-Id: I79966b078631b98902dadaeaecbfea2604ffe1a9
/packages/services/Car/service/src/com/android/car/ICarImpl.java
6e5ee61be4c24ae4d647d687901b7c9670c25899 09-Mar-2016 Vitalii Tomkiv <vitalit@google.com> Add CarProjectionManager and CarProjectionService.

- Allows to bind back to projected app service to boost its prioirity
- Allows to handle voice search requests.

Bug: 19730682, 27107725

Change-Id: Ib5d816964f4329eb21b19f64b50dee4322f187fb
/packages/services/Car/service/src/com/android/car/ICarImpl.java
1ecdd6ca75fdf8ff62105630664de5125e29676b 03-Mar-2016 Pavel Maltsev <pavelm@google.com> Adding MediaStatusService to Inst Cluster API

Added InstrumentClusterService for all interactions with instrument cluster;
Added MediaStatusService that listens for current media being played and
pushed this changes to inst cluster renderer.
Major refactoring of Renderer - now almost all methods in renderer are runs
in UI thread, had to add thread-safe wrappers to renderer classes;

Bug:27313264
Change-Id: I989cdf61529f885d2eebd3afbd416a35c59a9527
/packages/services/Car/service/src/com/android/car/ICarImpl.java
a28d7b201584823286f26e21a9f30d07c416eb3e 01-Mar-2016 Keun-young Park <keunyoung@google.com> add input service

- CarInputService monitors input event through vehicle hal
and handle it by itself (for now, VOICE_ASSITANT only),
deliver it to other relevant component,
or inject as android key event into kernel input device.
- renamed jni to jni_car_service
- added kitchensink input test.
- From kitchensink test, single touch of volume key does not work
as touch event in other window mess things up. But long press should
work. It will work in real physical keys.
- TODO: android key to linux key mapping should be expanded
for all possible keys.

bug: 27461452

Change-Id: I51e4b64bcd3c745f27ebb089fafce536be91f04d
/packages/services/Car/service/src/com/android/car/ICarImpl.java
875616c52be0a5a4d3aa348e9dcfd90e54789912 05-Feb-2016 Steve Paik <spaik@google.com> Add camera service

- CarCameraManager - interface for android apps to control RVC
- CarCameraService - system service that connects to CarRvcManager
- JNI component to connect to vehicle_camera HAL

BUG: 25261672
BUG: 25226538
BUG: 25265752
BUG: 22701467

Change-Id: I9909f5ecb674ee3c70bb8043649ce6f3b46eaabf
/packages/services/Car/service/src/com/android/car/ICarImpl.java
f78d8710f76f939a10d44f63975117d3676a0d09 26-Feb-2016 Pavel Maltsev <pavelm@google.com> Fix car service recursive crashing

Bug:27366429
Change-Id: If28c7105f2c24235d2719aa120cf3c4bb7978d43
/packages/services/Car/service/src/com/android/car/ICarImpl.java
e54ac276796c6535558f8444d882adecd19ce2bd 17-Feb-2016 Keun-young Park <keunyoung@google.com> add android.car

- instead of using binder as compatibility layer, add android.car
- apps using android.car should add it to LOCAL_JAVA_LIBRARIES
unless doing include
packages/services/Car/car-support-lib/car-support.mk

- support lib renamed to android.support.car
- UI stuffs only exist in android.support.car
UI has dependency on androud support library and not added to
android.car

- permission only uses android.car namespace even for support.car

- car-systemtest remains as static library. To use CarTestManager,
test app should get CarTestManagerBinderWrapper then create
CarTestManager.

bug: 27199752
Change-Id: I3522e11e958dade404443fbe2d45f576c827fa7a
/packages/services/Car/service/src/com/android/car/ICarImpl.java
5672e85bdf82f6a2350afb942dfe17b7c699af87 10-Feb-2016 Keun-young Park <keunyoung@google.com> support more audio type using custom Bundle in AudioAttributes

- define car specific stream using Bundle in AudioAttributes
- revamp related code to use CAR_AUDIO_USAGE

bug: 27111558
Change-Id: Ib50ae374e3947d94ad59752389b4248d07b7426b
/packages/services/Car/service/src/com/android/car/ICarImpl.java
7a948e54331cccf96f178ab426cb7810472c2dc8 03-Feb-2016 Pavel Maltsev <pavelm@google.com> Add car navigation status API

Bug: 25265715
Change-Id: I76755119dd20e86df69074372f3237f80d546544
/packages/services/Car/service/src/com/android/car/ICarImpl.java
317343df4ba11bc3923e95bff30ed5a54bb66e5c 25-Jan-2016 Joseph Pirozzo <pirozzoj@google.com> Night Mode Sensor Service

Create CarNightService to automatically register for the vehicle
night sensor and provide updates to the UIModeManager to enter
and exit night mode.

bug: 25262432
Change-Id: I7826b9b42f10614e437c8ba1918272d1325b4004
/packages/services/Car/service/src/com/android/car/ICarImpl.java
3a7976d83f52def1e6200f393f68ae7ddfa3fe56 21-Jan-2016 Yao Chen <yaochen@google.com> Add GarageModeService to CarService

+ Added the logic of interaction between GarageModeService and
CarPowerManagementService, and DeviceIdleController

+ A default GarageModePolicy

TODO: read GarageModePolicy xml from disk
Testing coming in another cl

Change-Id: I999176dd8784b1e3f43242272d017c0627c3dad6
/packages/services/Car/service/src/com/android/car/ICarImpl.java
75623ce0736848d0b27f08c65d843a031b325027 21-Jan-2016 Pavel Maltsev <pavelm@google.com> Rename car system api package

We should use android.support.car for car system Api.

Bug: 26091392
Change-Id: I15fb50614c3d08e90854cf835f4fcf5dbc73b650
/packages/services/Car/service/src/com/android/car/ICarImpl.java
4aeb4bf0c56588be65264c324bbaaa545ad6714c 09-Dec-2015 Keun-young Park <keunyoung@google.com> add app blocking api

- launches CarAppBlockingPolicyService and read Policy on startup
- also provides setAppBlockingPolicy API
- not working fully due to missng framework api but only sets internal
state for now.
- also fixed some build warnings
- also renamed all permisisons to android.support.car
- remaining TODO:
monitor app install / uninstall and re-activate policy
plumb framework side policy setting

bug: 25261583

Change-Id: I6da09468c95a28f2e3d7d59e6e91279ca018239b
/packages/services/Car/service/src/com/android/car/ICarImpl.java
45fdcbaab5699d7d8153bfda058d0eea2049c8b8 08-Dec-2015 Keun-young Park <keunyoung@google.com> add skeleton CarPackageManager

bug: 26037727
Change-Id: I0817dd54b1e33cb7366ed4e12e191f94e0fdb0c3
/packages/services/Car/service/src/com/android/car/ICarImpl.java
aaeffaff85979583b1826db759b5cdb6184559d5 26-Nov-2015 Keun-young Park <keunyoung@google.com> add libvehiclenetwork-audio-helper

- with c wrapper
- update vns to pass event when internal property is set while in
mocking
- fix bug in VehiclePropValueUtil::copyVehicleProp of deleting non-
string type.

bug: 25330290

(cherry picked from commit f1b41f92b11e78373f423343b23229d19cdf0af2)

Change-Id: I54ae1faed1f67528bd2928ce23b53c16d19fcab2
/packages/services/Car/service/src/com/android/car/ICarImpl.java
6648198ce8f3129886038d9c80b63b96b8a0ee3e 27-Oct-2015 Steve Paik <spaik@google.com> Add HVAC manager

BUG: 25261661
(cherry picked from commit a2b4b01f64d174a23ea77d990d90a96ef13b5acc)

Change-Id: I36b9d76c851e953cf3ee1149c1d87f728f1db634
/packages/services/Car/service/src/com/android/car/ICarImpl.java
e4c90c4a615a4d5411a0cc49b75e002a305c858f 17-Nov-2015 keunyoung <keunyoung@google.com> add CarAppContextManager

- This replaces CarMessageManager and take care of
app state sharing like active navigation or voice
command.
- Apps can change the state and such change is
notified to other apps.
- The informaiton is sent down to vehicle HAL as well
to use that information for setting audio priority.
- added event count to VNS dump
- cleaned up unnecessary init/release in VNS's handler
- removed init from handler thread in car service vehicle hal:
this just brings race when things start queickly.

bug: 25261670

(cherry picked from commit 53729bb2d3600bc23a26553f1cc3cda7d1ea0b2c)

Change-Id: I48a0215c6c8b73b5db3a2b1890febb1320096b63
/packages/services/Car/service/src/com/android/car/ICarImpl.java
6b19769ee8cfbe0960d05ecfc01f73d08040784f 16-Nov-2015 keunyoung <keunyoung@google.com> add connection listener handling

bug: 25444839

Change-Id: I771537072bc087e6f8ec0fcff6352fe0c0e7e498
(cherry picked from commit ab1fbdcf4f22ad615bc9df8a1cf722c439aca1f2)
/packages/services/Car/service/src/com/android/car/ICarImpl.java
4b0212c1b3576f4174c292bbcdd72815584ff075 30-Oct-2015 keunyoung <keunyoung@google.com> basic power management service

- handle boot complete and shutdown
- skeleton code for deep sleep added. Complete
implementation requires kernel interaction which is TBD.
- handle display on / off with keeping display on with wakelock
- added interface for implementing garage mode
- tested with hal mocking only

bug: 25348217

Change-Id: Iae64ee7a16c861edd5473e392589e7e7213bd52b
(cherry picked from commit 099bc004632a2d274a11a5c436d718cba362ddc6)
/packages/services/Car/service/src/com/android/car/ICarImpl.java
a74b9caa2fb6435f1c01c5e8766b89235c4e3d5a 21-Oct-2015 keunyoung <keunyoung@google.com> add basic audio focus handling

- added skeleton CarAudioManager (not plubmed yet)
- added external vs internal radio distinction
- basic external radio use case working with test
- basic focus handling verified with added test cases

bug: 25331859

Change-Id: I4a4439336673b695f38eb11e9aa0d5a6090ee1b2
(cherry picked from commit 2a5c2eed85832331f9baa74569b3dc735a7c61ff)
/packages/services/Car/service/src/com/android/car/ICarImpl.java
3cf096ae0d992d22cfba1b0711af2211c511a9fe 13-Oct-2015 Sanket Agarwal <sanketa@google.com> Add CarRadioManager.

* Adds CarRadioManager for app clients.
* Adds CarRadioService which compliments CarService.

Change-Id: Id6612bb7a35edca70686134650e3a6b8bbe5a972
(cherry picked from commit 77732d0251dd0178922063bbce7982b635a9387f)
/packages/services/Car/service/src/com/android/car/ICarImpl.java
1ab8e18e01d8063821bee0bf641a365224c7e1ee 24-Sep-2015 keunyoung <keunyoung@google.com> Add vehicle HAL mocking with carsystem and carsystemtest API

- System API and system test API for testing only added. Client
should link only one of them.
- vehicle HAL mocking allows mocking vehicle HAL completely.
- Once mocking is started, for now, all previous states are forgotton,
so stopping mocking does not return to original state. It is
better to simply restart framework after test.
- Added skeleton code for audio focus handling. Detailed implementaiton
will be added later.

bug: 24874617

Change-Id: I6e60daab3dc96769a94acc09a695f8f49dbb8536
(cherry picked from commit a32e24f50d5895a94d3a13d6ec2233af6e43dac5)
/packages/services/Car/service/src/com/android/car/ICarImpl.java
d32f4e69d861d0adc2ae8f18345143f253d6fcec 21-Sep-2015 keunyoung <keunyoung@google.com> add VEC2/3/4 for int32/float and add audio handling

- internal property is propagated internally, not to HAL.
- added skeleton code for audio focus handling.
actual implementation will be added later.

bug: 23785833

Change-Id: Icb6ad32307e2a4036dbf235538ed0c4e5b06f68d
(cherry picked from commit 92362d576b4057b989b96e980c542cc38c3a33e8)
/packages/services/Car/service/src/com/android/car/ICarImpl.java
fe30ba00aec2fd5936b17439f392a053ec54ec9a 18-Sep-2015 keunyoung <keunyoung@google.com> migrate car service to use vehicle network service

- all jni stuffs gone as HAL is no longer loaded by car service
- disabled dispatch limiting in CarSensorService as vehicle
network service is already doing it.
- needs product config change to start VNS for CarService to work.

bug: 24095928

Change-Id: I5d7b2ae7efb24daf23f304db4def0c4f9a519b25
(cherry picked from commit 3f3190ce58955eda2730331c825ebd6433dab42d)
/packages/services/Car/service/src/com/android/car/ICarImpl.java
a3b28d81e0c8df531ac704f9e649e38ea90483d2 25-Aug-2015 keunyoung <keunyoung@google.com> add CarInfoManager

- CarInfoManager replaces ICar.getCarInfo() and ICar.getCarUiInfo()
- also remove CarInfo and CarUiInfo. All these information should come
from CarInfoManager.
- Key declaration uses annotation to declare which data type is expected
for the given key.

bug: 22701368

Change-Id: Ifc9ab27d146b439a89fd4249fe3317abec6fd21f
(cherry picked from commit b8f5acabb4b049021d2be2215cd64ca907522f29)
/packages/services/Car/service/src/com/android/car/ICarImpl.java
cc449f7941456a0133ff8a4b2e49737f0936c1d0 12-Aug-2015 keunyoung <keunyoung@google.com> More details in Hal with sensor pipeline improvements for batching

- updated CarSensorEvent to use int array instead of byte as most
use cases involve int value manipulations.
- removed unused sensor types in CarSensorManager. They can brought back
later as necessary.
- CarSensorManager subscription works for several sensors.

bug: 22701368

Change-Id: I2fb8901fe5266693aeae5f1b3f2b3adb75056a93
(cherry picked from commit d68bc574a27aee0fb6750ed301d247645d7bbb1e)
/packages/services/Car/service/src/com/android/car/ICarImpl.java
ca515079e9fc0c35b1498830f67378e9ccf949e5 10-Jul-2015 keunyoung <keunyoung@google.com> add skeleton for car service and car api

- car service: system uid with system signature, starts in PRE_BOOT_COMPLETED
- added minimal skeleton implementation for proof of convept for several key ideas:
Car api, CarServiceLoader interface, CarActivity abstraction
- Also adding CarSensorManager/Service for defining flow in HAL initialization.

bug: 22701368, 22702215

Change-Id: If664bbd7b939102b7ea48bdde61ec068c42582cd
(cherry picked from commit d58724adeb671998c511995e177874a3eea025df)
/packages/services/Car/service/src/com/android/car/ICarImpl.java