diff options
-rw-r--r-- | audio/common/all-versions/default/service/android.hardware.audio@2.0-service.rc | 2 | ||||
-rw-r--r-- | automotive/vehicle/2.0/types.hal | 5 | ||||
-rw-r--r-- | camera/device/3.2/default/CameraDeviceSession.cpp | 25 | ||||
-rw-r--r-- | confirmationui/1.0/default/service.cpp | 1 | ||||
-rw-r--r-- | current.txt | 4 | ||||
-rw-r--r-- | gnss/1.1/default/Gnss.cpp | 4 | ||||
-rw-r--r-- | gnss/1.1/vts/functional/gnss_hal_test_cases.cpp | 17 | ||||
-rw-r--r-- | graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp | 9 | ||||
-rw-r--r-- | graphics/composer/2.2/IComposerClient.hal | 3 | ||||
-rw-r--r-- | graphics/composer/2.2/vts/functional/VtsHalGraphicsComposerV2_2TargetTest.cpp | 19 | ||||
-rw-r--r-- | keymaster/4.0/default/service.cpp | 1 |
11 files changed, 70 insertions, 20 deletions
diff --git a/audio/common/all-versions/default/service/android.hardware.audio@2.0-service.rc b/audio/common/all-versions/default/service/android.hardware.audio@2.0-service.rc index a76770d7..8217b946 100644 --- a/audio/common/all-versions/default/service/android.hardware.audio@2.0-service.rc +++ b/audio/common/all-versions/default/service/android.hardware.audio@2.0-service.rc | |||
@@ -9,3 +9,5 @@ service vendor.audio-hal-2-0 /vendor/bin/hw/android.hardware.audio@2.0-service | |||
9 | # and its .rc file has an "onrestart restart audio-hal" rule, thus | 9 | # and its .rc file has an "onrestart restart audio-hal" rule, thus |
10 | # an additional auto-restart from the init process isn't needed. | 10 | # an additional auto-restart from the init process isn't needed. |
11 | oneshot | 11 | oneshot |
12 | interface android.hardware.audio@4.0::IDevicesFactory default | ||
13 | interface android.hardware.audio@2.0::IDevicesFactory default | ||
diff --git a/automotive/vehicle/2.0/types.hal b/automotive/vehicle/2.0/types.hal index a031ee98..57179dfd 100644 --- a/automotive/vehicle/2.0/types.hal +++ b/automotive/vehicle/2.0/types.hal | |||
@@ -501,7 +501,8 @@ enum VehicleProperty : int32_t { | |||
501 | /** | 501 | /** |
502 | * Tire pressure | 502 | * Tire pressure |
503 | * | 503 | * |
504 | * The min/max range is used to indicate the recommended tire pressure. | 504 | * min/max value indicates tire pressure sensor range. Each tire will have a separate min/max |
505 | * value denoted by its areaConfig.areaId. | ||
505 | * | 506 | * |
506 | * @change_mode VehiclePropertyChangeMode:CONTINUOUS | 507 | * @change_mode VehiclePropertyChangeMode:CONTINUOUS |
507 | * @access VehiclePropertyAccess:READ | 508 | * @access VehiclePropertyAccess:READ |
@@ -510,7 +511,7 @@ enum VehicleProperty : int32_t { | |||
510 | TIRE_PRESSURE = ( | 511 | TIRE_PRESSURE = ( |
511 | 0x0309 | 512 | 0x0309 |
512 | | VehiclePropertyGroup:SYSTEM | 513 | | VehiclePropertyGroup:SYSTEM |
513 | | VehiclePropertyType:MIXED | 514 | | VehiclePropertyType:FLOAT |
514 | | VehicleArea:WHEEL), | 515 | | VehicleArea:WHEEL), |
515 | 516 | ||
516 | /** | 517 | /** |
diff --git a/camera/device/3.2/default/CameraDeviceSession.cpp b/camera/device/3.2/default/CameraDeviceSession.cpp index f33da134..8d002646 100644 --- a/camera/device/3.2/default/CameraDeviceSession.cpp +++ b/camera/device/3.2/default/CameraDeviceSession.cpp | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <android/log.h> | 18 | #include <android/log.h> |
19 | 19 | ||
20 | #include <set> | 20 | #include <set> |
21 | #include <cutils/properties.h> | ||
21 | #include <utils/Trace.h> | 22 | #include <utils/Trace.h> |
22 | #include <hardware/gralloc.h> | 23 | #include <hardware/gralloc.h> |
23 | #include <hardware/gralloc1.h> | 24 | #include <hardware/gralloc1.h> |
@@ -31,9 +32,9 @@ namespace V3_2 { | |||
31 | namespace implementation { | 32 | namespace implementation { |
32 | 33 | ||
33 | // Size of request metadata fast message queue. Change to 0 to always use hwbinder buffer. | 34 | // Size of request metadata fast message queue. Change to 0 to always use hwbinder buffer. |
34 | static constexpr size_t CAMERA_REQUEST_METADATA_QUEUE_SIZE = 1 << 20 /* 1MB */; | 35 | static constexpr int32_t CAMERA_REQUEST_METADATA_QUEUE_SIZE = 1 << 20 /* 1MB */; |
35 | // Size of result metadata fast message queue. Change to 0 to always use hwbinder buffer. | 36 | // Size of result metadata fast message queue. Change to 0 to always use hwbinder buffer. |
36 | static constexpr size_t CAMERA_RESULT_METADATA_QUEUE_SIZE = 1 << 20 /* 1MB */; | 37 | static constexpr int32_t CAMERA_RESULT_METADATA_QUEUE_SIZE = 1 << 20 /* 1MB */; |
37 | 38 | ||
38 | // Metadata sent by HAL will be replaced by a compact copy | 39 | // Metadata sent by HAL will be replaced by a compact copy |
39 | // if their (total size >= compact size + METADATA_SHRINK_ABS_THRESHOLD && | 40 | // if their (total size >= compact size + METADATA_SHRINK_ABS_THRESHOLD && |
@@ -95,14 +96,30 @@ bool CameraDeviceSession::initialize() { | |||
95 | return true; | 96 | return true; |
96 | } | 97 | } |
97 | 98 | ||
99 | int32_t reqFMQSize = property_get_int32("ro.camera.req.fmq.size", /*default*/-1); | ||
100 | if (reqFMQSize < 0) { | ||
101 | reqFMQSize = CAMERA_REQUEST_METADATA_QUEUE_SIZE; | ||
102 | } else { | ||
103 | ALOGV("%s: request FMQ size overridden to %d", __FUNCTION__, reqFMQSize); | ||
104 | } | ||
105 | |||
98 | mRequestMetadataQueue = std::make_unique<RequestMetadataQueue>( | 106 | mRequestMetadataQueue = std::make_unique<RequestMetadataQueue>( |
99 | CAMERA_REQUEST_METADATA_QUEUE_SIZE, false /* non blocking */); | 107 | static_cast<size_t>(reqFMQSize), |
108 | false /* non blocking */); | ||
100 | if (!mRequestMetadataQueue->isValid()) { | 109 | if (!mRequestMetadataQueue->isValid()) { |
101 | ALOGE("%s: invalid request fmq", __FUNCTION__); | 110 | ALOGE("%s: invalid request fmq", __FUNCTION__); |
102 | return true; | 111 | return true; |
103 | } | 112 | } |
113 | |||
114 | int32_t resFMQSize = property_get_int32("ro.camera.res.fmq.size", /*default*/-1); | ||
115 | if (resFMQSize < 0) { | ||
116 | resFMQSize = CAMERA_RESULT_METADATA_QUEUE_SIZE; | ||
117 | } else { | ||
118 | ALOGV("%s: result FMQ size overridden to %d", __FUNCTION__, resFMQSize); | ||
119 | } | ||
104 | mResultMetadataQueue = std::make_shared<RequestMetadataQueue>( | 120 | mResultMetadataQueue = std::make_shared<RequestMetadataQueue>( |
105 | CAMERA_RESULT_METADATA_QUEUE_SIZE, false /* non blocking */); | 121 | static_cast<size_t>(resFMQSize), |
122 | false /* non blocking */); | ||
106 | if (!mResultMetadataQueue->isValid()) { | 123 | if (!mResultMetadataQueue->isValid()) { |
107 | ALOGE("%s: invalid result fmq", __FUNCTION__); | 124 | ALOGE("%s: invalid result fmq", __FUNCTION__); |
108 | return true; | 125 | return true; |
diff --git a/confirmationui/1.0/default/service.cpp b/confirmationui/1.0/default/service.cpp index 58ec66ab..39f3f62b 100644 --- a/confirmationui/1.0/default/service.cpp +++ b/confirmationui/1.0/default/service.cpp | |||
@@ -27,6 +27,7 @@ using android::hardware::joinRpcThreadpool; | |||
27 | using android::hardware::confirmationui::V1_0::implementation::ConfirmationUI; | 27 | using android::hardware::confirmationui::V1_0::implementation::ConfirmationUI; |
28 | 28 | ||
29 | int main() { | 29 | int main() { |
30 | ::android::hardware::configureRpcThreadpool(1, true /*willJoinThreadpool*/); | ||
30 | auto confirmationui = new ConfirmationUI(); | 31 | auto confirmationui = new ConfirmationUI(); |
31 | auto status = confirmationui->registerAsService(); | 32 | auto status = confirmationui->registerAsService(); |
32 | if (status != android::OK) { | 33 | if (status != android::OK) { |
diff --git a/current.txt b/current.txt index 3f3bd534..9ddfdb63 100644 --- a/current.txt +++ b/current.txt | |||
@@ -311,7 +311,7 @@ f2904a4c108ad1b93eb2fa4e43b82bd01ce1ff26156316e49d1d9fc80dfecaad android.hardwar | |||
311 | 3b17c1fdfc389e0abe626c37054954b07201127d890c2bc05d47613ec1f4de4f android.hardware.automotive.evs@1.0::types | 311 | 3b17c1fdfc389e0abe626c37054954b07201127d890c2bc05d47613ec1f4de4f android.hardware.automotive.evs@1.0::types |
312 | b3caf524c46a47d67e6453a34419e1881942d059e146cda740502670e9a752c3 android.hardware.automotive.vehicle@2.0::IVehicle | 312 | b3caf524c46a47d67e6453a34419e1881942d059e146cda740502670e9a752c3 android.hardware.automotive.vehicle@2.0::IVehicle |
313 | 7ce8728b27600e840cacf0a832f6942819fe535f9d3797ae052d5eef5065921c android.hardware.automotive.vehicle@2.0::IVehicleCallback | 313 | 7ce8728b27600e840cacf0a832f6942819fe535f9d3797ae052d5eef5065921c android.hardware.automotive.vehicle@2.0::IVehicleCallback |
314 | 3562503f550f70eec7a688343a600fb92b74efb807a31452b70195dfab328b22 android.hardware.automotive.vehicle@2.0::types | 314 | 06fa7218fb1500acca69b265a7e697b885933f7146cd6e8d83fe6c1fa06ce876 android.hardware.automotive.vehicle@2.0::types |
315 | 32cc50cc2a7658ec613c0c2dd2accbf6a05113b749852879e818b8b7b438db19 android.hardware.bluetooth.a2dp@1.0::IBluetoothAudioHost | 315 | 32cc50cc2a7658ec613c0c2dd2accbf6a05113b749852879e818b8b7b438db19 android.hardware.bluetooth.a2dp@1.0::IBluetoothAudioHost |
316 | ff4be64d7992f8bec97dff37f35450e79b3430c61f85f54322ce45bef229dc3b android.hardware.bluetooth.a2dp@1.0::IBluetoothAudioOffload | 316 | ff4be64d7992f8bec97dff37f35450e79b3430c61f85f54322ce45bef229dc3b android.hardware.bluetooth.a2dp@1.0::IBluetoothAudioOffload |
317 | 27f22d2e873e6201f9620cf4d8e2facb25bd0dd30a2b911e441b4600d560fa62 android.hardware.bluetooth.a2dp@1.0::types | 317 | 27f22d2e873e6201f9620cf4d8e2facb25bd0dd30a2b911e441b4600d560fa62 android.hardware.bluetooth.a2dp@1.0::types |
@@ -342,7 +342,7 @@ a830336ac8627d6432cfafb1b884343ad9f885dee0a5323e380e6d3c519156b8 android.hardwar | |||
342 | 0b96e0254e2168cfecb30c1ed5fb42681652cc00faa68c6e07568fafe64d1d50 android.hardware.graphics.common@1.1::types | 342 | 0b96e0254e2168cfecb30c1ed5fb42681652cc00faa68c6e07568fafe64d1d50 android.hardware.graphics.common@1.1::types |
343 | 7d2cef99c838fb58038de8bbfd3cdb76ff4797241987077721715297f8d45e34 android.hardware.graphics.common@1.1::types # b/78135149 | 343 | 7d2cef99c838fb58038de8bbfd3cdb76ff4797241987077721715297f8d45e34 android.hardware.graphics.common@1.1::types # b/78135149 |
344 | d9b40a5b09962a5a0780b10fe33a4e607e69e2e088fc83de88a584115b7cb1c0 android.hardware.graphics.composer@2.2::IComposer | 344 | d9b40a5b09962a5a0780b10fe33a4e607e69e2e088fc83de88a584115b7cb1c0 android.hardware.graphics.composer@2.2::IComposer |
345 | e7717f2ff2f6db43b24370ff08e14cd353da3004b32b17740e4a7ed4894b7e45 android.hardware.graphics.composer@2.2::IComposerClient | 345 | a2f183f7fcc79aabedaef11095ab223aac0ed5ef984d850893872515e7f560c7 android.hardware.graphics.composer@2.2::IComposerClient |
346 | dd83be076b6b3f10ed62ab34d8c8b95f2415961fb785200eb842e7bfb2b0ee92 android.hardware.graphics.mapper@2.1::IMapper | 346 | dd83be076b6b3f10ed62ab34d8c8b95f2415961fb785200eb842e7bfb2b0ee92 android.hardware.graphics.mapper@2.1::IMapper |
347 | 675682dd3007805c985eaaec91612abc88f4c25b3431fb84070b7584a1a741fb android.hardware.health@2.0::IHealth | 347 | 675682dd3007805c985eaaec91612abc88f4c25b3431fb84070b7584a1a741fb android.hardware.health@2.0::IHealth |
348 | 434c4c32c00b0e54bb05e40c79503208b40f786a318029a2a4f66e34f10f2a76 android.hardware.health@2.0::IHealthInfoCallback | 348 | 434c4c32c00b0e54bb05e40c79503208b40f786a318029a2a4f66e34f10f2a76 android.hardware.health@2.0::IHealthInfoCallback |
diff --git a/gnss/1.1/default/Gnss.cpp b/gnss/1.1/default/Gnss.cpp index bbc4940c..bbf1cd31 100644 --- a/gnss/1.1/default/Gnss.cpp +++ b/gnss/1.1/default/Gnss.cpp | |||
@@ -227,7 +227,9 @@ Return<GnssSvStatus> Gnss::getMockSvStatus() const { | |||
227 | getSvInfo(5, GnssConstellationType::GPS, 27.0, 29.0, 56.5), | 227 | getSvInfo(5, GnssConstellationType::GPS, 27.0, 29.0, 56.5), |
228 | getSvInfo(17, GnssConstellationType::GPS, 30.5, 71.0, 77.0), | 228 | getSvInfo(17, GnssConstellationType::GPS, 30.5, 71.0, 77.0), |
229 | getSvInfo(26, GnssConstellationType::GPS, 24.1, 28.0, 253.0), | 229 | getSvInfo(26, GnssConstellationType::GPS, 24.1, 28.0, 253.0), |
230 | getSvInfo(30, GnssConstellationType::GPS, 20.5, 11.5, 116.0), | 230 | getSvInfo(5, GnssConstellationType::GLONASS, 20.5, 11.5, 116.0), |
231 | getSvInfo(17, GnssConstellationType::GLONASS, 21.5, 28.5, 186.0), | ||
232 | getSvInfo(18, GnssConstellationType::GLONASS, 28.3, 38.8, 69.0), | ||
231 | getSvInfo(10, GnssConstellationType::GLONASS, 25.0, 66.0, 247.0)}; | 233 | getSvInfo(10, GnssConstellationType::GLONASS, 25.0, 66.0, 247.0)}; |
232 | 234 | ||
233 | GnssSvStatus svStatus = {.numSvs = sizeof(mockGnssSvInfoList) / sizeof(GnssSvInfo)}; | 235 | GnssSvStatus svStatus = {.numSvs = sizeof(mockGnssSvInfoList) / sizeof(GnssSvInfo)}; |
diff --git a/gnss/1.1/vts/functional/gnss_hal_test_cases.cpp b/gnss/1.1/vts/functional/gnss_hal_test_cases.cpp index 8f4691e1..cce46f18 100644 --- a/gnss/1.1/vts/functional/gnss_hal_test_cases.cpp +++ b/gnss/1.1/vts/functional/gnss_hal_test_cases.cpp | |||
@@ -84,15 +84,15 @@ TEST_F(GnssHalTest, GetLocationLowPower) { | |||
84 | } | 84 | } |
85 | 85 | ||
86 | /* | 86 | /* |
87 | * FindStrongFrequentSource: | 87 | * FindStrongFrequentNonGpsSource: |
88 | * | 88 | * |
89 | * Search through a GnssSvStatus list for the strongest satellite observed enough times | 89 | * Search through a GnssSvStatus list for the strongest non-GPS satellite observed enough times |
90 | * | 90 | * |
91 | * returns the strongest source, | 91 | * returns the strongest source, |
92 | * or a source with constellation == UNKNOWN if none are found sufficient times | 92 | * or a source with constellation == UNKNOWN if none are found sufficient times |
93 | */ | 93 | */ |
94 | 94 | ||
95 | IGnssConfiguration::BlacklistedSource FindStrongFrequentSource( | 95 | IGnssConfiguration::BlacklistedSource FindStrongFrequentNonGpsSource( |
96 | const list<IGnssCallback::GnssSvStatus> list_gnss_sv_status, const int min_observations) { | 96 | const list<IGnssCallback::GnssSvStatus> list_gnss_sv_status, const int min_observations) { |
97 | struct ComparableBlacklistedSource { | 97 | struct ComparableBlacklistedSource { |
98 | IGnssConfiguration::BlacklistedSource id; | 98 | IGnssConfiguration::BlacklistedSource id; |
@@ -113,7 +113,8 @@ IGnssConfiguration::BlacklistedSource FindStrongFrequentSource( | |||
113 | for (const auto& gnss_sv_status : list_gnss_sv_status) { | 113 | for (const auto& gnss_sv_status : list_gnss_sv_status) { |
114 | for (uint32_t iSv = 0; iSv < gnss_sv_status.numSvs; iSv++) { | 114 | for (uint32_t iSv = 0; iSv < gnss_sv_status.numSvs; iSv++) { |
115 | const auto& gnss_sv = gnss_sv_status.gnssSvList[iSv]; | 115 | const auto& gnss_sv = gnss_sv_status.gnssSvList[iSv]; |
116 | if (gnss_sv.svFlag & IGnssCallback::GnssSvFlags::USED_IN_FIX) { | 116 | if ((gnss_sv.svFlag & IGnssCallback::GnssSvFlags::USED_IN_FIX) && |
117 | (gnss_sv.constellation != GnssConstellationType::GPS)) { | ||
117 | ComparableBlacklistedSource source; | 118 | ComparableBlacklistedSource source; |
118 | source.id.svid = gnss_sv.svid; | 119 | source.id.svid = gnss_sv.svid; |
119 | source.id.constellation = gnss_sv.constellation; | 120 | source.id.constellation = gnss_sv.constellation; |
@@ -187,8 +188,12 @@ TEST_F(GnssHalTest, BlacklistIndividualSatellites) { | |||
187 | */ | 188 | */ |
188 | 189 | ||
189 | IGnssConfiguration::BlacklistedSource source_to_blacklist = | 190 | IGnssConfiguration::BlacklistedSource source_to_blacklist = |
190 | FindStrongFrequentSource(list_gnss_sv_status_, kLocationsToAwait - 1); | 191 | FindStrongFrequentNonGpsSource(list_gnss_sv_status_, kLocationsToAwait - 1); |
191 | EXPECT_NE(source_to_blacklist.constellation, GnssConstellationType::UNKNOWN); | 192 | |
193 | if (source_to_blacklist.constellation == GnssConstellationType::UNKNOWN) { | ||
194 | // Cannot find a non-GPS satellite. Let the test pass. | ||
195 | return; | ||
196 | } | ||
192 | 197 | ||
193 | // Stop locations, blacklist the common SV | 198 | // Stop locations, blacklist the common SV |
194 | StopAndClearLocations(); | 199 | StopAndClearLocations(); |
diff --git a/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp b/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp index 8b8b530a..747c66c9 100644 --- a/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp +++ b/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp | |||
@@ -292,9 +292,16 @@ TEST_F(GraphicsComposerHidlTest, SetActiveConfig) { | |||
292 | * Test that IComposerClient::setColorMode succeeds for all color modes. | 292 | * Test that IComposerClient::setColorMode succeeds for all color modes. |
293 | */ | 293 | */ |
294 | TEST_F(GraphicsComposerHidlTest, SetColorMode) { | 294 | TEST_F(GraphicsComposerHidlTest, SetColorMode) { |
295 | std::unordered_set<ColorMode> validModes; | ||
296 | for (auto mode : hidl_enum_iterator<ColorMode>()) { | ||
297 | validModes.insert(mode); | ||
298 | } | ||
299 | |||
295 | std::vector<ColorMode> modes = mComposerClient->getColorModes(mPrimaryDisplay); | 300 | std::vector<ColorMode> modes = mComposerClient->getColorModes(mPrimaryDisplay); |
296 | for (auto mode : modes) { | 301 | for (auto mode : modes) { |
297 | mComposerClient->setColorMode(mPrimaryDisplay, mode); | 302 | if (validModes.count(mode)) { |
303 | mComposerClient->setColorMode(mPrimaryDisplay, mode); | ||
304 | } | ||
298 | } | 305 | } |
299 | } | 306 | } |
300 | 307 | ||
diff --git a/graphics/composer/2.2/IComposerClient.hal b/graphics/composer/2.2/IComposerClient.hal index 2f0a3cca..d4a87e6f 100644 --- a/graphics/composer/2.2/IComposerClient.hal +++ b/graphics/composer/2.2/IComposerClient.hal | |||
@@ -355,7 +355,8 @@ interface IComposerClient extends @2.1::IComposerClient { | |||
355 | * Returns the render intents supported by the specified display and color | 355 | * Returns the render intents supported by the specified display and color |
356 | * mode. | 356 | * mode. |
357 | * | 357 | * |
358 | * RenderIntent::COLORIMETRIC is always supported. | 358 | * For SDR color modes, RenderIntent::COLORIMETRIC must be supported. For |
359 | * HDR color modes, RenderIntent::TONE_MAP_COLORIMETRIC must be supported. | ||
359 | * | 360 | * |
360 | * @param display is the display to query. | 361 | * @param display is the display to query. |
361 | * @param mode is the color mode to query. | 362 | * @param mode is the color mode to query. |
diff --git a/graphics/composer/2.2/vts/functional/VtsHalGraphicsComposerV2_2TargetTest.cpp b/graphics/composer/2.2/vts/functional/VtsHalGraphicsComposerV2_2TargetTest.cpp index f0d22504..23bf5583 100644 --- a/graphics/composer/2.2/vts/functional/VtsHalGraphicsComposerV2_2TargetTest.cpp +++ b/graphics/composer/2.2/vts/functional/VtsHalGraphicsComposerV2_2TargetTest.cpp | |||
@@ -347,9 +347,22 @@ TEST_F(GraphicsComposerHidlTest, GetRenderIntent) { | |||
347 | for (auto mode : modes) { | 347 | for (auto mode : modes) { |
348 | std::vector<RenderIntent> intents = | 348 | std::vector<RenderIntent> intents = |
349 | mComposerClient->getRenderIntents(mPrimaryDisplay, mode); | 349 | mComposerClient->getRenderIntents(mPrimaryDisplay, mode); |
350 | auto colorimetricIntent = | 350 | |
351 | std::find(intents.cbegin(), intents.cend(), RenderIntent::COLORIMETRIC); | 351 | bool isHdr; |
352 | EXPECT_NE(intents.cend(), colorimetricIntent); | 352 | switch (mode) { |
353 | case ColorMode::BT2100_PQ: | ||
354 | case ColorMode::BT2100_HLG: | ||
355 | isHdr = true; | ||
356 | break; | ||
357 | default: | ||
358 | isHdr = false; | ||
359 | break; | ||
360 | } | ||
361 | RenderIntent requiredIntent = | ||
362 | isHdr ? RenderIntent::TONE_MAP_COLORIMETRIC : RenderIntent::COLORIMETRIC; | ||
363 | |||
364 | auto iter = std::find(intents.cbegin(), intents.cend(), requiredIntent); | ||
365 | EXPECT_NE(intents.cend(), iter); | ||
353 | } | 366 | } |
354 | } | 367 | } |
355 | 368 | ||
diff --git a/keymaster/4.0/default/service.cpp b/keymaster/4.0/default/service.cpp index cfb960a5..fdcc6ba9 100644 --- a/keymaster/4.0/default/service.cpp +++ b/keymaster/4.0/default/service.cpp | |||
@@ -24,6 +24,7 @@ | |||
24 | using android::hardware::keymaster::V4_0::SecurityLevel; | 24 | using android::hardware::keymaster::V4_0::SecurityLevel; |
25 | 25 | ||
26 | int main() { | 26 | int main() { |
27 | ::android::hardware::configureRpcThreadpool(1, true /* willJoinThreadpool */); | ||
27 | auto keymaster = ::keymaster::V4_0::ng::CreateKeymasterDevice(SecurityLevel::SOFTWARE); | 28 | auto keymaster = ::keymaster::V4_0::ng::CreateKeymasterDevice(SecurityLevel::SOFTWARE); |
28 | auto status = keymaster->registerAsService(); | 29 | auto status = keymaster->registerAsService(); |
29 | if (status != android::OK) { | 30 | if (status != android::OK) { |