mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:23:37 +00:00
Merge 24Q3 to AOSP main
Bug: 357762254 Merged-In: I4a94280ef2ff63b569d43d8cd90de5a8f2058be9 Change-Id: I4b4d96a53d4016dd7c5cf4799cca5dc4d156b6f7
This commit is contained in:
@@ -64,6 +64,9 @@ aidl_interface {
|
||||
],
|
||||
min_sdk_version: "31",
|
||||
},
|
||||
rust: {
|
||||
enabled: true,
|
||||
},
|
||||
},
|
||||
versions_with_info: [
|
||||
{
|
||||
@@ -112,6 +115,13 @@ cc_defaults {
|
||||
],
|
||||
}
|
||||
|
||||
rust_defaults {
|
||||
name: "latest_android_hardware_audio_common_rust",
|
||||
rustlibs: [
|
||||
latest_android_hardware_audio_common + "-rust",
|
||||
],
|
||||
}
|
||||
|
||||
aidl_interface_defaults {
|
||||
name: "latest_android_hardware_audio_common_import_interface",
|
||||
imports: [
|
||||
|
||||
@@ -50,6 +50,9 @@ inline std::string errorToString(const ScopedAStatus& s) {
|
||||
|
||||
namespace aidl::android::hardware::audio::common {
|
||||
|
||||
// TODO: b/275135031 - move this string to AIDL interfaces.
|
||||
static constexpr char kDumpFromAudioServerArgument[] = "dump_from_audioserver";
|
||||
|
||||
// Some values are reserved for use by the system code only.
|
||||
// HALs must not accept or emit values outside from the provided list.
|
||||
constexpr std::array<::aidl::android::media::audio::common::AudioMode, 5> kValidAudioModes = {
|
||||
|
||||
@@ -453,12 +453,11 @@ enum EngineArchitectureTestParamName {
|
||||
ENGINE_TEST_INSTANCE_NAME,
|
||||
ENGINE_TEST_RESOLUTION_PREFERENCE,
|
||||
ENGINE_TEST_PREFERRED_DURATION,
|
||||
ENGINE_TEST_STAGE_ENABLEMENT,
|
||||
ENGINE_TEST_LIMITER_IN_USE
|
||||
ENGINE_TEST_STAGE_ENABLEMENT
|
||||
};
|
||||
using EngineArchitectureTestParams = std::tuple<std::pair<std::shared_ptr<IFactory>, Descriptor>,
|
||||
DynamicsProcessing::ResolutionPreference, float,
|
||||
DynamicsProcessing::StageEnablement, bool>;
|
||||
DynamicsProcessing::StageEnablement>;
|
||||
|
||||
void fillEngineArchConfig(DynamicsProcessing::EngineArchitecture& cfg,
|
||||
const EngineArchitectureTestParams& params) {
|
||||
@@ -466,7 +465,7 @@ void fillEngineArchConfig(DynamicsProcessing::EngineArchitecture& cfg,
|
||||
cfg.preferredProcessingDurationMs = std::get<ENGINE_TEST_PREFERRED_DURATION>(params);
|
||||
cfg.preEqStage = cfg.postEqStage = cfg.mbcStage =
|
||||
std::get<ENGINE_TEST_STAGE_ENABLEMENT>(params);
|
||||
cfg.limiterInUse = std::get<ENGINE_TEST_LIMITER_IN_USE>(params);
|
||||
cfg.limiterInUse = true;
|
||||
}
|
||||
|
||||
class DynamicsProcessingTestEngineArchitecture
|
||||
@@ -501,8 +500,8 @@ INSTANTIATE_TEST_SUITE_P(
|
||||
static_cast<DynamicsProcessing::ResolutionPreference>(-1)), // variant
|
||||
testing::Values(-10.f, 0.f, 10.f), // processing duration
|
||||
testing::ValuesIn(
|
||||
DynamicsProcessingTestHelper::kStageEnablementTestSet), // preEQ/postEQ/mbc
|
||||
testing::Bool()), // limiter enable
|
||||
DynamicsProcessingTestHelper::kStageEnablementTestSet) // preEQ/postEQ/mbc
|
||||
),
|
||||
[](const auto& info) {
|
||||
auto descriptor = std::get<ENGINE_TEST_INSTANCE_NAME>(info.param).second;
|
||||
DynamicsProcessing::EngineArchitecture cfg;
|
||||
@@ -568,7 +567,6 @@ enum LimiterConfigTestParamName {
|
||||
LIMITER_CHANNEL,
|
||||
LIMITER_ENABLE,
|
||||
LIMITER_LINK_GROUP,
|
||||
LIMITER_ENGINE_IN_USE,
|
||||
LIMITER_ADDITIONAL,
|
||||
};
|
||||
enum LimiterConfigTestAdditionalParam {
|
||||
@@ -587,9 +585,8 @@ static constexpr std::array<LimiterConfigTestAdditional, 4> kLimiterConfigTestAd
|
||||
{1, -60, 2.5, -2, 3.14},
|
||||
{1, 60, 2.5, -2, 3.14}}};
|
||||
|
||||
using LimiterConfigTestParams =
|
||||
std::tuple<std::pair<std::shared_ptr<IFactory>, Descriptor>, int32_t, bool, int32_t, bool,
|
||||
LimiterConfigTestAdditional>;
|
||||
using LimiterConfigTestParams = std::tuple<std::pair<std::shared_ptr<IFactory>, Descriptor>,
|
||||
int32_t, bool, int32_t, LimiterConfigTestAdditional>;
|
||||
|
||||
void fillLimiterConfig(DynamicsProcessing::LimiterConfig& cfg,
|
||||
const LimiterConfigTestParams& params) {
|
||||
@@ -609,8 +606,7 @@ class DynamicsProcessingTestLimiterConfig
|
||||
public DynamicsProcessingTestHelper {
|
||||
public:
|
||||
DynamicsProcessingTestLimiterConfig()
|
||||
: DynamicsProcessingTestHelper(std::get<LIMITER_INSTANCE_NAME>(GetParam())),
|
||||
mLimiterInUseEngine(std::get<LIMITER_ENGINE_IN_USE>(GetParam())) {
|
||||
: DynamicsProcessingTestHelper(std::get<LIMITER_INSTANCE_NAME>(GetParam())) {
|
||||
fillLimiterConfig(mCfg, GetParam());
|
||||
}
|
||||
|
||||
@@ -619,11 +615,9 @@ class DynamicsProcessingTestLimiterConfig
|
||||
void TearDown() override { TearDownDynamicsProcessingEffect(); }
|
||||
|
||||
DynamicsProcessing::LimiterConfig mCfg;
|
||||
bool mLimiterInUseEngine;
|
||||
};
|
||||
|
||||
TEST_P(DynamicsProcessingTestLimiterConfig, SetAndGetLimiterConfig) {
|
||||
mEngineConfigPreset.limiterInUse = mLimiterInUseEngine;
|
||||
EXPECT_NO_FATAL_FAILURE(addEngineConfig(mEngineConfigPreset));
|
||||
EXPECT_NO_FATAL_FAILURE(addLimiterConfig({mCfg}));
|
||||
SetAndGetDynamicsProcessingParameters();
|
||||
@@ -633,21 +627,18 @@ INSTANTIATE_TEST_SUITE_P(
|
||||
DynamicsProcessingTest, DynamicsProcessingTestLimiterConfig,
|
||||
::testing::Combine(testing::ValuesIn(EffectFactoryHelper::getAllEffectDescriptors(
|
||||
IFactory::descriptor, getEffectTypeUuidDynamicsProcessing())),
|
||||
testing::Values(-1, 0, 1, 2), // channel count
|
||||
testing::Bool(), // enable
|
||||
testing::Values(3), // link group
|
||||
testing::Bool(), // engine limiter enable
|
||||
testing::Values(-1, 0, 1, 2), // channel count
|
||||
testing::Bool(), // enable
|
||||
testing::Values(3), // link group
|
||||
testing::ValuesIn(kLimiterConfigTestAdditionalParam)), // Additional
|
||||
[](const auto& info) {
|
||||
auto descriptor = std::get<LIMITER_INSTANCE_NAME>(info.param).second;
|
||||
DynamicsProcessing::LimiterConfig cfg;
|
||||
fillLimiterConfig(cfg, info.param);
|
||||
std::string engineLimiterInUse =
|
||||
std::to_string(std::get<LIMITER_ENGINE_IN_USE>(info.param));
|
||||
std::string name = "Implementor_" + descriptor.common.implementor + "_name_" +
|
||||
descriptor.common.name + "_UUID_" +
|
||||
toString(descriptor.common.id.uuid) + "_limiterConfig_" +
|
||||
cfg.toString() + "_engineSetting_" + engineLimiterInUse;
|
||||
cfg.toString();
|
||||
std::replace_if(
|
||||
name.begin(), name.end(), [](const char c) { return !std::isalnum(c); }, '_');
|
||||
return name;
|
||||
@@ -659,11 +650,10 @@ GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(DynamicsProcessingTestLimiterConfi
|
||||
*/
|
||||
enum ChannelConfigTestParamName {
|
||||
BAND_CHANNEL_TEST_INSTANCE_NAME,
|
||||
BAND_CHANNEL_TEST_CHANNEL_CONFIG,
|
||||
BAND_CHANNEL_TEST_ENGINE_IN_USE
|
||||
BAND_CHANNEL_TEST_CHANNEL_CONFIG
|
||||
};
|
||||
using ChannelConfigTestParams = std::tuple<std::pair<std::shared_ptr<IFactory>, Descriptor>,
|
||||
std::vector<DynamicsProcessing::ChannelConfig>, bool>;
|
||||
std::vector<DynamicsProcessing::ChannelConfig>>;
|
||||
|
||||
class DynamicsProcessingTestChannelConfig
|
||||
: public ::testing::TestWithParam<ChannelConfigTestParams>,
|
||||
@@ -671,33 +661,28 @@ class DynamicsProcessingTestChannelConfig
|
||||
public:
|
||||
DynamicsProcessingTestChannelConfig()
|
||||
: DynamicsProcessingTestHelper(std::get<BAND_CHANNEL_TEST_INSTANCE_NAME>(GetParam())),
|
||||
mCfg(std::get<BAND_CHANNEL_TEST_CHANNEL_CONFIG>(GetParam())),
|
||||
mInUseEngine(std::get<BAND_CHANNEL_TEST_ENGINE_IN_USE>(GetParam())) {}
|
||||
mCfg(std::get<BAND_CHANNEL_TEST_CHANNEL_CONFIG>(GetParam())) {}
|
||||
|
||||
void SetUp() override { SetUpDynamicsProcessingEffect(); }
|
||||
|
||||
void TearDown() override { TearDownDynamicsProcessingEffect(); }
|
||||
|
||||
std::vector<DynamicsProcessing::ChannelConfig> mCfg;
|
||||
const bool mInUseEngine;
|
||||
};
|
||||
|
||||
TEST_P(DynamicsProcessingTestChannelConfig, SetAndGetPreEqChannelConfig) {
|
||||
mEngineConfigPreset.preEqStage.inUse = mInUseEngine;
|
||||
EXPECT_NO_FATAL_FAILURE(addEngineConfig(mEngineConfigPreset));
|
||||
EXPECT_NO_FATAL_FAILURE(addPreEqChannelConfig(mCfg));
|
||||
SetAndGetDynamicsProcessingParameters();
|
||||
}
|
||||
|
||||
TEST_P(DynamicsProcessingTestChannelConfig, SetAndGetPostEqChannelConfig) {
|
||||
mEngineConfigPreset.postEqStage.inUse = mInUseEngine;
|
||||
EXPECT_NO_FATAL_FAILURE(addEngineConfig(mEngineConfigPreset));
|
||||
EXPECT_NO_FATAL_FAILURE(addPostEqChannelConfig(mCfg));
|
||||
SetAndGetDynamicsProcessingParameters();
|
||||
}
|
||||
|
||||
TEST_P(DynamicsProcessingTestChannelConfig, SetAndGetMbcChannelConfig) {
|
||||
mEngineConfigPreset.mbcStage.inUse = mInUseEngine;
|
||||
EXPECT_NO_FATAL_FAILURE(addEngineConfig(mEngineConfigPreset));
|
||||
EXPECT_NO_FATAL_FAILURE(addMbcChannelConfig(mCfg));
|
||||
SetAndGetDynamicsProcessingParameters();
|
||||
@@ -709,19 +694,15 @@ INSTANTIATE_TEST_SUITE_P(
|
||||
testing::ValuesIn(EffectFactoryHelper::getAllEffectDescriptors(
|
||||
IFactory::descriptor, getEffectTypeUuidDynamicsProcessing())),
|
||||
testing::ValuesIn(
|
||||
DynamicsProcessingTestHelper::kChannelConfigTestSet), // channel config
|
||||
testing::Bool()), // Engine inUse
|
||||
DynamicsProcessingTestHelper::kChannelConfigTestSet)), // channel config
|
||||
[](const auto& info) {
|
||||
auto descriptor = std::get<BAND_CHANNEL_TEST_INSTANCE_NAME>(info.param).second;
|
||||
std::string engineInUse =
|
||||
std::to_string(std::get<BAND_CHANNEL_TEST_ENGINE_IN_USE>(info.param));
|
||||
std::string channelConfig = ::android::internal::ToString(
|
||||
std::get<BAND_CHANNEL_TEST_CHANNEL_CONFIG>(info.param));
|
||||
|
||||
std::string name = "Implementor_" + descriptor.common.implementor + "_name_" +
|
||||
descriptor.common.name + "_UUID_" +
|
||||
toString(descriptor.common.id.uuid) + "_" + channelConfig +
|
||||
"_engineInUse_" + engineInUse;
|
||||
toString(descriptor.common.id.uuid) + "_" + channelConfig;
|
||||
std::replace_if(
|
||||
name.begin(), name.end(), [](const char c) { return !std::isalnum(c); }, '_');
|
||||
return name;
|
||||
@@ -736,11 +717,10 @@ enum EqBandConfigTestParamName {
|
||||
EQ_BAND_CHANNEL,
|
||||
EQ_BAND_ENABLE,
|
||||
EQ_BAND_CUT_OFF_FREQ,
|
||||
EQ_BAND_GAIN,
|
||||
EQ_BAND_STAGE_IN_USE
|
||||
EQ_BAND_GAIN
|
||||
};
|
||||
using EqBandConfigTestParams = std::tuple<std::pair<std::shared_ptr<IFactory>, Descriptor>, int32_t,
|
||||
bool, std::vector<std::pair<int, float>>, float, bool>;
|
||||
bool, std::vector<std::pair<int, float>>, float>;
|
||||
|
||||
void fillEqBandConfig(std::vector<DynamicsProcessing::EqBandConfig>& cfgs,
|
||||
const EqBandConfigTestParams& params) {
|
||||
@@ -760,8 +740,7 @@ class DynamicsProcessingTestEqBandConfig : public ::testing::TestWithParam<EqBan
|
||||
public DynamicsProcessingTestHelper {
|
||||
public:
|
||||
DynamicsProcessingTestEqBandConfig()
|
||||
: DynamicsProcessingTestHelper(std::get<EQ_BAND_INSTANCE_NAME>(GetParam())),
|
||||
mStageInUse(std::get<EQ_BAND_STAGE_IN_USE>(GetParam())) {
|
||||
: DynamicsProcessingTestHelper(std::get<EQ_BAND_INSTANCE_NAME>(GetParam())) {
|
||||
fillEqBandConfig(mCfgs, GetParam());
|
||||
}
|
||||
|
||||
@@ -770,11 +749,9 @@ class DynamicsProcessingTestEqBandConfig : public ::testing::TestWithParam<EqBan
|
||||
void TearDown() override { TearDownDynamicsProcessingEffect(); }
|
||||
|
||||
std::vector<DynamicsProcessing::EqBandConfig> mCfgs;
|
||||
const bool mStageInUse;
|
||||
};
|
||||
|
||||
TEST_P(DynamicsProcessingTestEqBandConfig, SetAndGetPreEqBandConfig) {
|
||||
mEngineConfigPreset.preEqStage.inUse = mStageInUse;
|
||||
mEngineConfigPreset.preEqStage.bandCount = mCfgs.size();
|
||||
EXPECT_NO_FATAL_FAILURE(addEngineConfig(mEngineConfigPreset));
|
||||
std::vector<DynamicsProcessing::ChannelConfig> cfgs(mChannelCount);
|
||||
@@ -788,7 +765,6 @@ TEST_P(DynamicsProcessingTestEqBandConfig, SetAndGetPreEqBandConfig) {
|
||||
}
|
||||
|
||||
TEST_P(DynamicsProcessingTestEqBandConfig, SetAndGetPostEqBandConfig) {
|
||||
mEngineConfigPreset.postEqStage.inUse = mStageInUse;
|
||||
mEngineConfigPreset.postEqStage.bandCount = mCfgs.size();
|
||||
EXPECT_NO_FATAL_FAILURE(addEngineConfig(mEngineConfigPreset));
|
||||
std::vector<DynamicsProcessing::ChannelConfig> cfgs(mChannelCount);
|
||||
@@ -849,21 +825,19 @@ INSTANTIATE_TEST_SUITE_P(
|
||||
DynamicsProcessingTest, DynamicsProcessingTestEqBandConfig,
|
||||
::testing::Combine(testing::ValuesIn(EffectFactoryHelper::getAllEffectDescriptors(
|
||||
IFactory::descriptor, getEffectTypeUuidDynamicsProcessing())),
|
||||
testing::Values(-1, 0, 10), // channel ID
|
||||
testing::Bool(), // band enable
|
||||
testing::ValuesIn(kBands), // cut off frequencies
|
||||
testing::Values(-3.14f, 3.14f), // gain
|
||||
testing::Values(true)), // stage in use
|
||||
testing::Values(-1, 0, 10), // channel ID
|
||||
testing::Bool(), // band enable
|
||||
testing::ValuesIn(kBands), // cut off frequencies
|
||||
testing::Values(-3.14f, 3.14f) // gain
|
||||
),
|
||||
[](const auto& info) {
|
||||
auto descriptor = std::get<EQ_BAND_INSTANCE_NAME>(info.param).second;
|
||||
std::vector<DynamicsProcessing::EqBandConfig> cfgs;
|
||||
fillEqBandConfig(cfgs, info.param);
|
||||
std::string bands = ::android::internal::ToString(cfgs);
|
||||
std::string stageInUse = std::to_string(std::get<EQ_BAND_STAGE_IN_USE>(info.param));
|
||||
std::string name = "Implementor_" + descriptor.common.implementor + "_name_" +
|
||||
descriptor.common.name + "_UUID_" +
|
||||
toString(descriptor.common.id.uuid) + "_bands_" + bands +
|
||||
"_stageInUse_" + stageInUse;
|
||||
toString(descriptor.common.id.uuid) + "_bands_" + bands;
|
||||
std::replace_if(
|
||||
name.begin(), name.end(), [](const char c) { return !std::isalnum(c); }, '_');
|
||||
return name;
|
||||
@@ -879,7 +853,6 @@ enum MbcBandConfigParamName {
|
||||
MBC_BAND_CHANNEL,
|
||||
MBC_BAND_ENABLE,
|
||||
MBC_BAND_CUTOFF_FREQ,
|
||||
MBC_BAND_STAGE_IN_USE,
|
||||
MBC_BAND_ADDITIONAL
|
||||
};
|
||||
enum MbcBandConfigAdditional {
|
||||
@@ -905,7 +878,7 @@ static constexpr std::array<TestParamsMbcBandConfigAdditional, 4> kMbcBandConfig
|
||||
|
||||
using TestParamsMbcBandConfig =
|
||||
std::tuple<std::pair<std::shared_ptr<IFactory>, Descriptor>, int32_t, bool,
|
||||
std::vector<std::pair<int, float>>, bool, TestParamsMbcBandConfigAdditional>;
|
||||
std::vector<std::pair<int, float>>, TestParamsMbcBandConfigAdditional>;
|
||||
|
||||
void fillMbcBandConfig(std::vector<DynamicsProcessing::MbcBandConfig>& cfgs,
|
||||
const TestParamsMbcBandConfig& params) {
|
||||
@@ -936,8 +909,7 @@ class DynamicsProcessingTestMbcBandConfig
|
||||
public DynamicsProcessingTestHelper {
|
||||
public:
|
||||
DynamicsProcessingTestMbcBandConfig()
|
||||
: DynamicsProcessingTestHelper(std::get<MBC_BAND_INSTANCE_NAME>(GetParam())),
|
||||
mStageInUse(std::get<MBC_BAND_STAGE_IN_USE>(GetParam())) {
|
||||
: DynamicsProcessingTestHelper(std::get<MBC_BAND_INSTANCE_NAME>(GetParam())) {
|
||||
fillMbcBandConfig(mCfgs, GetParam());
|
||||
}
|
||||
|
||||
@@ -946,11 +918,9 @@ class DynamicsProcessingTestMbcBandConfig
|
||||
void TearDown() override { TearDownDynamicsProcessingEffect(); }
|
||||
|
||||
std::vector<DynamicsProcessing::MbcBandConfig> mCfgs;
|
||||
const bool mStageInUse;
|
||||
};
|
||||
|
||||
TEST_P(DynamicsProcessingTestMbcBandConfig, SetAndGetMbcBandConfig) {
|
||||
mEngineConfigPreset.mbcStage.inUse = mStageInUse;
|
||||
mEngineConfigPreset.mbcStage.bandCount = mCfgs.size();
|
||||
EXPECT_NO_FATAL_FAILURE(addEngineConfig(mEngineConfigPreset));
|
||||
std::vector<DynamicsProcessing::ChannelConfig> cfgs(mChannelCount);
|
||||
@@ -970,18 +940,15 @@ INSTANTIATE_TEST_SUITE_P(
|
||||
testing::Values(-1, 0, 10), // channel count
|
||||
testing::Bool(), // enable
|
||||
testing::ValuesIn(kBands), // cut off frequencies
|
||||
testing::Bool(), // stage in use
|
||||
testing::ValuesIn(kMbcBandConfigAdditionalParam)), // Additional
|
||||
[](const auto& info) {
|
||||
auto descriptor = std::get<MBC_BAND_INSTANCE_NAME>(info.param).second;
|
||||
std::vector<DynamicsProcessing::MbcBandConfig> cfgs;
|
||||
fillMbcBandConfig(cfgs, info.param);
|
||||
std::string mbcBands = ::android::internal::ToString(cfgs);
|
||||
std::string stageInUse = std::to_string(std::get<MBC_BAND_STAGE_IN_USE>(info.param));
|
||||
std::string name = "Implementor_" + descriptor.common.implementor + "_name_" +
|
||||
descriptor.common.name + "_UUID_" +
|
||||
toString(descriptor.common.id.uuid) + "_bands_" + mbcBands +
|
||||
"_stageInUse_" + stageInUse;
|
||||
toString(descriptor.common.id.uuid) + "_bands_" + mbcBands;
|
||||
std::replace_if(
|
||||
name.begin(), name.end(), [](const char c) { return !std::isalnum(c); }, '_');
|
||||
return name;
|
||||
|
||||
@@ -140,7 +140,9 @@ using VolumeDataTestParam = std::pair<std::shared_ptr<IFactory>, Descriptor>;
|
||||
class VolumeDataTest : public ::testing::TestWithParam<VolumeDataTestParam>,
|
||||
public VolumeControlHelper {
|
||||
public:
|
||||
VolumeDataTest() {
|
||||
VolumeDataTest()
|
||||
: kVsrApiLevel(
|
||||
android::base::GetIntProperty("ro.vendor.api_level", __ANDROID_API_FUTURE__)) {
|
||||
std::tie(mFactory, mDescriptor) = GetParam();
|
||||
mInput.resize(kBufferSize);
|
||||
mInputMag.resize(mTestFrequencies.size());
|
||||
@@ -165,13 +167,17 @@ class VolumeDataTest : public ::testing::TestWithParam<VolumeDataTestParam>,
|
||||
|
||||
void SetUp() override {
|
||||
SKIP_TEST_IF_DATA_UNSUPPORTED(mDescriptor.common.flags);
|
||||
// Skips test fixture if api_level <= 34 (__ANDROID_API_U__).
|
||||
if (kVsrApiLevel <= __ANDROID_API_U__) GTEST_SKIP();
|
||||
ASSERT_NO_FATAL_FAILURE(SetUpVolumeControl());
|
||||
}
|
||||
void TearDown() override {
|
||||
SKIP_TEST_IF_DATA_UNSUPPORTED(mDescriptor.common.flags);
|
||||
if (kVsrApiLevel <= __ANDROID_API_U__) GTEST_SKIP();
|
||||
TearDownVolumeControl();
|
||||
}
|
||||
|
||||
const int kVsrApiLevel;
|
||||
static constexpr int kMaxAudioSample = 1;
|
||||
static constexpr int kTransitionDuration = 300;
|
||||
static constexpr int kNPointFFT = 16384;
|
||||
|
||||
@@ -27,6 +27,9 @@ aidl_interface {
|
||||
"com.android.car.framework",
|
||||
],
|
||||
},
|
||||
rust: {
|
||||
enabled: true,
|
||||
},
|
||||
},
|
||||
versions_with_info: [
|
||||
{
|
||||
@@ -93,3 +96,17 @@ cc_defaults {
|
||||
latest_android_hardware_automotive_audiocontrol + "-ndk",
|
||||
],
|
||||
}
|
||||
|
||||
java_defaults {
|
||||
name: "latest_android_hardware_automotive_audiocontrol_java_static",
|
||||
static_libs: [
|
||||
latest_android_hardware_automotive_audiocontrol + "-java",
|
||||
],
|
||||
}
|
||||
|
||||
rust_defaults {
|
||||
name: "latest_android_hardware_automotive_audiocontrol_rust",
|
||||
rustlibs: [
|
||||
latest_android_hardware_automotive_audiocontrol + "-rust",
|
||||
],
|
||||
}
|
||||
|
||||
@@ -30,15 +30,14 @@ cc_binary {
|
||||
defaults: [
|
||||
"latest_android_hardware_audio_common_ndk_shared",
|
||||
"latest_android_hardware_automotive_audiocontrol_ndk_shared",
|
||||
"powerpolicyclient_defaults",
|
||||
],
|
||||
shared_libs: [
|
||||
"android.hardware.audio.common@7.0-enums",
|
||||
"android.frameworks.automotive.powerpolicy-V2-ndk",
|
||||
"libbase",
|
||||
"libbinder_ndk",
|
||||
"libcutils",
|
||||
"liblog",
|
||||
"libpowerpolicyclient",
|
||||
],
|
||||
srcs: [
|
||||
"AudioControl.cpp",
|
||||
|
||||
32
automotive/audiocontrol/aidl/rust_impl/Android.bp
Normal file
32
automotive/audiocontrol/aidl/rust_impl/Android.bp
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright (C) 2024 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
rust_binary {
|
||||
name: "android.hardware.automotive.audiocontrol-V4-rust-service",
|
||||
relative_install_path: "hw",
|
||||
vendor: true,
|
||||
srcs: ["src/*.rs"],
|
||||
crate_root: "src/main.rs",
|
||||
defaults: [
|
||||
"latest_android_hardware_automotive_audiocontrol_rust",
|
||||
"latest_android_hardware_audio_common_rust",
|
||||
],
|
||||
vintf_fragments: ["audiocontrol-rust-service.xml"],
|
||||
init_rc: ["audiocontrol-rust-service.rc"],
|
||||
rustlibs: [
|
||||
"libbinder_rs",
|
||||
],
|
||||
}
|
||||
13
automotive/audiocontrol/aidl/rust_impl/README.md
Normal file
13
automotive/audiocontrol/aidl/rust_impl/README.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Rust Skeleton Audio Control HAL implementation.
|
||||
|
||||
WARNING: This is not a reference audio control HAl implementation and does
|
||||
not contain any actual implementation.
|
||||
|
||||
This folder contains a skeleton audio control HAL implementation in Rust to
|
||||
demonstrate how vendor may implement a Rust audio control HAL. To run this
|
||||
audio control HAL, include
|
||||
`android.hardware.automotive.audiocontrol-V4-rust-service` in your image.
|
||||
|
||||
This implementation returns `StatusCode::UNKNOWN_ERROR` for all operations
|
||||
and does not pass VTS/CTS. Vendor must replace the logic in
|
||||
`default_audio_control_hal.rs` with the actual implementation.
|
||||
@@ -0,0 +1,4 @@
|
||||
service vendor.audiocontrol-default /vendor/bin/hw/android.hardware.automotive.audiocontrol-service.example
|
||||
class hal
|
||||
user audioserver
|
||||
group system
|
||||
@@ -0,0 +1,23 @@
|
||||
<!--
|
||||
~ Copyright (C) 2024 The Android Open Source Project
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<manifest version="2.0" type="device">
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.automotive.audiocontrol</name>
|
||||
<version>4</version>
|
||||
<fqname>IAudioControl/default</fqname>
|
||||
</hal>
|
||||
</manifest>
|
||||
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
* Copyright (C) 2024 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
use android_hardware_automotive_audiocontrol::aidl::android::hardware::automotive::audiocontrol::{
|
||||
AudioFocusChange::AudioFocusChange,
|
||||
AudioGainConfigInfo::AudioGainConfigInfo,
|
||||
DuckingInfo::DuckingInfo,
|
||||
IAudioControl::IAudioControl,
|
||||
IAudioGainCallback::IAudioGainCallback,
|
||||
IFocusListener::IFocusListener,
|
||||
IModuleChangeCallback::IModuleChangeCallback,
|
||||
MutingInfo::MutingInfo,
|
||||
Reasons::Reasons,
|
||||
};
|
||||
use android_hardware_audio_common::aidl::android::hardware::audio::common::PlaybackTrackMetadata::PlaybackTrackMetadata;
|
||||
use binder::{Interface, Result as BinderResult, StatusCode, Strong};
|
||||
|
||||
/// This struct is defined to implement IAudioControl AIDL interface.
|
||||
pub struct DefaultAudioControlHal;
|
||||
|
||||
impl Interface for DefaultAudioControlHal {}
|
||||
|
||||
impl IAudioControl for DefaultAudioControlHal {
|
||||
fn onAudioFocusChange(&self, _usage : &str, _zone_id : i32, _focus_change : AudioFocusChange
|
||||
) -> BinderResult<()> {
|
||||
Err(StatusCode::UNKNOWN_ERROR.into())
|
||||
}
|
||||
|
||||
fn onDevicesToDuckChange(&self, _ducking_infos : &[DuckingInfo]) -> BinderResult<()> {
|
||||
Err(StatusCode::UNKNOWN_ERROR.into())
|
||||
}
|
||||
|
||||
fn onDevicesToMuteChange(&self, _muting_infos : &[MutingInfo]) -> BinderResult<()> {
|
||||
Err(StatusCode::UNKNOWN_ERROR.into())
|
||||
}
|
||||
|
||||
fn registerFocusListener(&self, _listener : &Strong<dyn IFocusListener>) -> BinderResult<()> {
|
||||
Err(StatusCode::UNKNOWN_ERROR.into())
|
||||
}
|
||||
|
||||
fn setBalanceTowardRight(&self, _value : f32) -> BinderResult<()> {
|
||||
Err(StatusCode::UNKNOWN_ERROR.into())
|
||||
}
|
||||
|
||||
fn setFadeTowardFront(&self, _value : f32) -> BinderResult<()> {
|
||||
Err(StatusCode::UNKNOWN_ERROR.into())
|
||||
}
|
||||
|
||||
fn onAudioFocusChangeWithMetaData(&self, _playback_metadata : &PlaybackTrackMetadata,
|
||||
_zone_id : i32, _focus_change : AudioFocusChange) -> BinderResult<()> {
|
||||
Err(StatusCode::UNKNOWN_ERROR.into())
|
||||
}
|
||||
|
||||
fn setAudioDeviceGainsChanged(&self, _reasons : &[Reasons], _gains : &[AudioGainConfigInfo]
|
||||
) -> BinderResult<()> {
|
||||
Err(StatusCode::UNKNOWN_ERROR.into())
|
||||
}
|
||||
|
||||
fn registerGainCallback(&self, _callback : &Strong<dyn IAudioGainCallback>
|
||||
) -> BinderResult<()> {
|
||||
Err(StatusCode::UNKNOWN_ERROR.into())
|
||||
}
|
||||
|
||||
fn setModuleChangeCallback(&self, _callback : &Strong<dyn IModuleChangeCallback>
|
||||
) -> BinderResult<()> {
|
||||
Err(StatusCode::UNKNOWN_ERROR.into())
|
||||
}
|
||||
|
||||
fn clearModuleChangeCallback(&self) -> BinderResult<()> {
|
||||
Err(StatusCode::UNKNOWN_ERROR.into())
|
||||
}
|
||||
}
|
||||
33
automotive/audiocontrol/aidl/rust_impl/src/main.rs
Normal file
33
automotive/audiocontrol/aidl/rust_impl/src/main.rs
Normal file
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Copyright (C) 2024 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
mod default_audio_control_hal;
|
||||
|
||||
use android_hardware_automotive_audiocontrol::aidl::android::hardware::automotive::audiocontrol::IAudioControl::BnAudioControl;
|
||||
use crate::default_audio_control_hal::DefaultAudioControlHal;
|
||||
|
||||
fn main() {
|
||||
binder::ProcessState::start_thread_pool();
|
||||
let my_service = DefaultAudioControlHal;
|
||||
let service_name = "android.hardware.automotive.audiocontrol.IAudioControl/default";
|
||||
let my_service_binder = BnAudioControl::new_binder(
|
||||
my_service,
|
||||
binder::BinderFeatures::default(),
|
||||
);
|
||||
binder::add_service(service_name, my_service_binder.as_binder())
|
||||
.expect(format!("Failed to register {}?", service_name).as_str());
|
||||
// Does not return.
|
||||
binder::ProcessState::join_thread_pool()
|
||||
}
|
||||
@@ -93,6 +93,8 @@ class EvsVideoEmulatedCamera : public EvsCamera {
|
||||
|
||||
bool initialize();
|
||||
|
||||
bool initializeMediaCodec();
|
||||
|
||||
void generateFrames();
|
||||
|
||||
void renderOneFrame();
|
||||
|
||||
@@ -42,6 +42,30 @@
|
||||
<stream id='0' width='640' height='360' format='RGBA_8888' framerate='30'/>
|
||||
</caps>
|
||||
|
||||
<!-- list of parameters -->
|
||||
<characteristics>
|
||||
<!-- Camera intrinsic calibration matrix. See
|
||||
https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#LENS_INTRINSIC_CALIBRATION
|
||||
-->
|
||||
<parameter
|
||||
name='LENS_INTRINSIC_CALIBRATION'
|
||||
type='float'
|
||||
size='5'
|
||||
value='0.0,0.0,0.0,0.0,0.0'
|
||||
/>
|
||||
</characteristics>
|
||||
</device>
|
||||
<device id='/dev/video11' position='front'>
|
||||
<caps>
|
||||
<!-- list of supported controls -->
|
||||
<supported_controls>
|
||||
<control name='BRIGHTNESS' min='0' max='255'/>
|
||||
<control name='CONTRAST' min='0' max='255'/>
|
||||
</supported_controls>
|
||||
|
||||
<stream id='0' width='640' height='360' format='RGBA_8888' framerate='30'/>
|
||||
</caps>
|
||||
|
||||
<!-- list of parameters -->
|
||||
<characteristics>
|
||||
<!-- Camera intrinsic calibration matrix. See
|
||||
|
||||
@@ -198,9 +198,14 @@ ndk::ScopedAStatus EvsCamera::stopVideoStream() {
|
||||
auto status = ndk::ScopedAStatus::ok();
|
||||
{
|
||||
std::unique_lock lck(mMutex);
|
||||
if (mStreamState != StreamState::RUNNING) {
|
||||
// We're already in the middle of the procedure to stop current data
|
||||
// stream.
|
||||
return status;
|
||||
}
|
||||
|
||||
if ((!preVideoStreamStop_locked(status, lck) || !stopVideoStreamImpl_locked(status, lck) ||
|
||||
!postVideoStreamStop_locked(status, lck)) &&
|
||||
!status.isOk()) {
|
||||
!postVideoStreamStop_locked(status, lck)) && !status.isOk()) {
|
||||
needShutdown = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,6 +81,10 @@ bool EvsVideoEmulatedCamera::initialize() {
|
||||
}
|
||||
}
|
||||
|
||||
return initializeMediaCodec();
|
||||
}
|
||||
|
||||
bool EvsVideoEmulatedCamera::initializeMediaCodec() {
|
||||
// Initialize Media Codec and file format.
|
||||
std::unique_ptr<AMediaFormat, FormatDeleter> format;
|
||||
const char* mime;
|
||||
@@ -304,6 +308,13 @@ void EvsVideoEmulatedCamera::renderOneFrame() {
|
||||
LOG(ERROR) << __func__
|
||||
<< ": Received error in releasing output buffer. Error code: " << release_status;
|
||||
}
|
||||
|
||||
if ((info.flags & AMEDIACODEC_BUFFER_FLAG_END_OF_STREAM) != 0) {
|
||||
LOG(INFO) << "Start video playback from the beginning.";
|
||||
AMediaExtractor_seekTo(mVideoExtractor.get(), /* seekPosUs= */ 0,
|
||||
AMEDIAEXTRACTOR_SEEK_CLOSEST_SYNC);
|
||||
AMediaCodec_flush(mVideoCodec.get());
|
||||
}
|
||||
}
|
||||
|
||||
void EvsVideoEmulatedCamera::initializeParameters() {
|
||||
@@ -337,11 +348,24 @@ bool EvsVideoEmulatedCamera::startVideoStreamImpl_locked(
|
||||
std::unique_lock<std::mutex>& /* lck */) {
|
||||
mStream = receiver;
|
||||
|
||||
const media_status_t status = AMediaCodec_start(mVideoCodec.get());
|
||||
if (status != AMEDIA_OK) {
|
||||
LOG(ERROR) << __func__ << ": Received error in starting decoder. Error code: " << status
|
||||
<< ".";
|
||||
return false;
|
||||
if (auto status = AMediaCodec_start(mVideoCodec.get()); status != AMEDIA_OK) {
|
||||
LOG(INFO) << __func__ << ": Received error in starting decoder. "
|
||||
<< "Trying again after resetting this emulated device.";
|
||||
|
||||
if (!initializeMediaCodec()) {
|
||||
LOG(ERROR) << __func__ << ": Failed to re-configure the media codec.";
|
||||
return false;
|
||||
}
|
||||
|
||||
AMediaExtractor_seekTo(mVideoExtractor.get(), /* seekPosUs= */ 0,
|
||||
AMEDIAEXTRACTOR_SEEK_CLOSEST_SYNC);
|
||||
AMediaCodec_flush(mVideoCodec.get());
|
||||
|
||||
if(auto status = AMediaCodec_start(mVideoCodec.get()); status != AMEDIA_OK) {
|
||||
LOG(ERROR) << __func__ << ": Received error again in starting decoder. "
|
||||
<< "Error code: " << status;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
mCaptureThread = std::thread([this]() { generateFrames(); });
|
||||
|
||||
@@ -364,6 +388,12 @@ bool EvsVideoEmulatedCamera::postVideoStreamStop_locked(ndk::ScopedAStatus& stat
|
||||
if (!Base::postVideoStreamStop_locked(status, lck)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
EvsEventDesc event = { .aType = EvsEventType::STREAM_STOPPED, };
|
||||
if (auto result = mStream->notify(event); !result.isOk()) {
|
||||
LOG(WARNING) << "Failed to notify the end of the stream.";
|
||||
}
|
||||
|
||||
mStream = nullptr;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -169,7 +169,8 @@ void ServiceImpl::loop() {
|
||||
Looper::setForThread(mLooper);
|
||||
|
||||
while (true) {
|
||||
mLooper->pollAll(/*timeoutMillis=*/-1);
|
||||
// Don't use pollAll since it might swallow wake.
|
||||
mLooper->pollOnce(/*timeoutMillis=*/-1);
|
||||
if (mServerStopped) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -41,7 +41,6 @@ const std::vector<uint8_t> kTestData = {0xde, 0xad, 0xbe, 0xef};
|
||||
constexpr int32_t kTestCount = 1234;
|
||||
constexpr int64_t kTestStartTimeInEpochSeconds = 2345;
|
||||
constexpr int64_t kTestPeriodicInSeconds = 123;
|
||||
const std::string kTestGrpcAddr = "localhost:50051";
|
||||
|
||||
class MyTestWakeupClientServiceImpl final : public ServiceImpl {
|
||||
public:
|
||||
@@ -53,27 +52,41 @@ class MyTestWakeupClientServiceImpl final : public ServiceImpl {
|
||||
class TestWakeupClientServiceImplUnitTest : public ::testing::Test {
|
||||
public:
|
||||
virtual void SetUp() override {
|
||||
mServerThread = std::thread([this] {
|
||||
int selectedPort = 0;
|
||||
mServerStarted = false;
|
||||
mService.reset();
|
||||
mServer.reset();
|
||||
mServerThread = std::thread([this, &selectedPort] {
|
||||
mService = std::make_unique<MyTestWakeupClientServiceImpl>();
|
||||
ServerBuilder builder;
|
||||
builder.AddListeningPort(kTestGrpcAddr, grpc::InsecureServerCredentials());
|
||||
builder.AddListeningPort("localhost:0", grpc::InsecureServerCredentials(),
|
||||
&selectedPort);
|
||||
WakeupClientServiceImpl wakeupClientService(mService.get());
|
||||
builder.RegisterService(&wakeupClientService);
|
||||
mServer = builder.BuildAndStart();
|
||||
mServerStarted = true;
|
||||
{
|
||||
std::unique_lock<std::mutex> lock(mLock);
|
||||
mServerStartCv.notify_one();
|
||||
}
|
||||
mServer->Wait();
|
||||
if (mServer != nullptr) {
|
||||
mServer->Wait();
|
||||
}
|
||||
});
|
||||
{
|
||||
std::unique_lock<std::mutex> lock(mLock);
|
||||
mServerStartCv.wait(lock, [this] {
|
||||
bool serverStarted = mServerStartCv.wait_for(lock, std::chrono::seconds(10), [this] {
|
||||
ScopedLockAssertion lockAssertion(mLock);
|
||||
return mServer != nullptr;
|
||||
return mServerStarted.load();
|
||||
});
|
||||
ASSERT_TRUE(serverStarted) << "Failed to wait for mServerStarted to be set within 10s";
|
||||
}
|
||||
mChannel = grpc::CreateChannel(kTestGrpcAddr, grpc::InsecureChannelCredentials());
|
||||
if (mServer == nullptr) {
|
||||
GTEST_SKIP() << "Failed to start the test grpc server";
|
||||
}
|
||||
std::string address = "localhost:" + std::to_string(selectedPort);
|
||||
std::cout << "Test grpc server started at: " << address << std::endl;
|
||||
mChannel = grpc::CreateChannel(address, grpc::InsecureChannelCredentials());
|
||||
mStub = WakeupClient::NewStub(mChannel);
|
||||
}
|
||||
|
||||
@@ -147,6 +160,7 @@ class TestWakeupClientServiceImplUnitTest : public ::testing::Test {
|
||||
std::thread mServerThread;
|
||||
std::unique_ptr<MyTestWakeupClientServiceImpl> mService;
|
||||
std::unique_ptr<Server> mServer;
|
||||
std::atomic<bool> mServerStarted = false;
|
||||
std::shared_ptr<Channel> mChannel;
|
||||
std::unique_ptr<WakeupClient::Stub> mStub;
|
||||
std::vector<GetRemoteTasksResponse> mRemoteTaskResponses;
|
||||
|
||||
@@ -449,7 +449,8 @@ const ConfigDeclaration kVehicleProperties[]{
|
||||
{.config = {.prop = toInt(VehicleProperty::HVAC_MAX_DEFROST_ON),
|
||||
.access = VehiclePropertyAccess::READ_WRITE,
|
||||
.changeMode = VehiclePropertyChangeMode::ON_CHANGE,
|
||||
.areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
|
||||
.areaConfigs = {VehicleAreaConfig{.areaId = HVAC_FRONT_ROW},
|
||||
VehicleAreaConfig{.areaId = HVAC_REAR_ROW}}},
|
||||
.initialValue = {.int32Values = {0}}},
|
||||
|
||||
{.config = {.prop = toInt(VehicleProperty::HVAC_RECIRC_ON),
|
||||
|
||||
@@ -50,6 +50,9 @@ constexpr int ALL_WHEELS =
|
||||
VehicleAreaWheel::LEFT_REAR | VehicleAreaWheel::RIGHT_REAR);
|
||||
constexpr int SEAT_1_LEFT = (int)(VehicleAreaSeat::ROW_1_LEFT);
|
||||
constexpr int SEAT_1_RIGHT = (int)(VehicleAreaSeat::ROW_1_RIGHT);
|
||||
constexpr int HVAC_FRONT_ROW = (int)(VehicleAreaSeat::ROW_1_LEFT | VehicleAreaSeat::ROW_1_RIGHT);
|
||||
constexpr int HVAC_REAR_ROW = (int)(VehicleAreaSeat::ROW_2_LEFT | VehicleAreaSeat::ROW_2_CENTER |
|
||||
VehicleAreaSeat::ROW_2_RIGHT);
|
||||
constexpr int HVAC_LEFT = (int)(VehicleAreaSeat::ROW_1_LEFT | VehicleAreaSeat::ROW_2_LEFT |
|
||||
VehicleAreaSeat::ROW_2_CENTER);
|
||||
constexpr int HVAC_RIGHT = (int)(VehicleAreaSeat::ROW_1_RIGHT | VehicleAreaSeat::ROW_2_RIGHT);
|
||||
|
||||
@@ -40,7 +40,7 @@ cc_test {
|
||||
cc_test {
|
||||
name: "VehiclePropertyAnnotationCppTest",
|
||||
srcs: ["VehiclePropertyAnnotationCppTest.cpp"],
|
||||
header_libs: ["IVehicleGeneratedHeaders"],
|
||||
header_libs: ["IVehicleGeneratedHeaders-V3"],
|
||||
defaults: ["VehicleHalInterfaceDefaults"],
|
||||
test_suites: ["general-tests"],
|
||||
}
|
||||
@@ -49,7 +49,7 @@ android_test {
|
||||
name: "VehiclePropertyAnnotationJavaTest",
|
||||
srcs: [
|
||||
"VehiclePropertyAnnotationJavaTest.java",
|
||||
":IVehicleGeneratedJavaFiles",
|
||||
":IVehicleGeneratedJavaFiles-V3",
|
||||
],
|
||||
static_libs: [
|
||||
"android.hardware.automotive.vehicle-V3-java",
|
||||
|
||||
@@ -62,7 +62,9 @@ parcelable VehicleAreaConfig {
|
||||
* For example, if a property is defined as READ_WRITE, but the OEM wants to specify certain
|
||||
* area Ids as READ-only, the corresponding areaIds should have an access set to READ, while the
|
||||
* others must be set to READ_WRITE. We do not support setting specific area Ids to WRITE-only
|
||||
* when the property is READ-WRITE.
|
||||
* when the property is READ-WRITE. If any one area config has access
|
||||
* VehiclePropertyAccess::WRITE, then all VehicleAreaConfig.access values and
|
||||
* VehiclePropConfig.access must be set to WRITE for the property.
|
||||
*
|
||||
* VehiclePropConfig.access should be equal the maximal subset of the accesses set in
|
||||
* VehiclePropConfig.areaConfigs, excluding those with access == VehiclePropertyAccess.NONE. For
|
||||
@@ -73,6 +75,8 @@ parcelable VehicleAreaConfig {
|
||||
* In the scenario where the OEM actually wants to set VehicleAreaConfig.access =
|
||||
* VehiclePropertyAccess.NONE, the maximal subset rule should apply with this area config
|
||||
* included, making the VehiclePropConfig.access = VehiclePropertyAccess.NONE.
|
||||
*
|
||||
* See VehiclePropConfig.access for more information.
|
||||
*/
|
||||
VehiclePropertyAccess access = VehiclePropertyAccess.NONE;
|
||||
|
||||
|
||||
@@ -44,6 +44,36 @@ parcelable VehiclePropConfig {
|
||||
* VehiclePropertyAccess.NONE for a particular area config, the maximal subset rule should apply
|
||||
* with this area config included, making the VehiclePropConfig.access =
|
||||
* VehiclePropertyAccess.NONE.
|
||||
*
|
||||
* Currently we do not support scenarios where some areaIds are WRITE while others are
|
||||
* READ_WRITE. See the documentation for VehicleAreaConfig.access for more details.
|
||||
*
|
||||
* Examples:
|
||||
* Suppose we have a property with two areaIds which we will call "LEFT" and "RIGHT". Here
|
||||
* are some scenarios that can describe what the VehiclePropConfig.access value should be for
|
||||
* this property.
|
||||
* 1. LEFT is READ and RIGHT is READ_WRITE. VehiclePropConfig.access must be READ as that is
|
||||
* the maximal common access across all areaIds.
|
||||
* 2. LEFT is READ_WRITE and RIGHT is READ_WRITE. VehiclePropConfig.access must be READ_WRITE
|
||||
* as that is the maximal common access across all areaIds.
|
||||
* 3. LEFT is WRITE and RIGHT is WRITE. VehiclePropConfig.access must be WRITE as that is the
|
||||
* maximal common access across all areaIds.
|
||||
* 4. LEFT is READ_WRITE and RIGHT is not set (i.e. defaults to NONE)/is set to NONE, with the
|
||||
* expectation that RIGHT should be populated with the default access mode of the property.
|
||||
* VehiclePropConfig.access can be set to READ or READ_WRITE, whatever the OEM feels is the
|
||||
* appropriate default access for the property.
|
||||
* 5. LEFT is READ and RIGHT is not set (i.e. defaults to NONE)/is set to NONE, with the
|
||||
* expectation that RIGHT should be populated with the default access mode of the property.
|
||||
* VehiclePropConfig.access must be set to READ because setting to READ_WRITE breaks the
|
||||
* rule of having the global access being the maximal subset of the area config accesses.
|
||||
* If the OEM wants RIGHT to be READ_WRITE in this scenario, the config should be rewritten
|
||||
* such that LEFT is not set/is set to NONE and RIGHT is set to READ_WRITE with
|
||||
* VehiclePropConfig.access set to READ.
|
||||
* 6. LEFT is READ_WRITE and RIGHT is set to NONE with the intention of RIGHT to specifically
|
||||
* have no access. VehiclePropConfig.access must be NONE to support RIGHT maintaining its
|
||||
* NONE access.
|
||||
* 7. LEFT is READ_WRITE and RIGHT is WRITE. This is unsupported behaviour and the config
|
||||
* should not be defined this way.
|
||||
*/
|
||||
VehiclePropertyAccess access = VehiclePropertyAccess.NONE;
|
||||
|
||||
|
||||
1
automotive/vehicle/aidl/emu_metadata/.clang-format
Normal file
1
automotive/vehicle/aidl/emu_metadata/.clang-format
Normal file
@@ -0,0 +1 @@
|
||||
DisableFormat: true
|
||||
File diff suppressed because one or more lines are too long
@@ -19,7 +19,7 @@ package {
|
||||
}
|
||||
|
||||
cc_library_headers {
|
||||
name: "IVehicleGeneratedHeaders",
|
||||
name: "IVehicleGeneratedHeaders-V3",
|
||||
vendor_available: true,
|
||||
local_include_dirs: ["."],
|
||||
export_include_dirs: ["."],
|
||||
@@ -84,7 +84,7 @@ std::unordered_map<VehicleProperty, int32_t> VersionForVehicleProperty = {
|
||||
{VehicleProperty::TRACTION_CONTROL_ACTIVE, 2},
|
||||
{VehicleProperty::EV_STOPPING_MODE, 2},
|
||||
{VehicleProperty::ELECTRONIC_STABILITY_CONTROL_ENABLED, 3},
|
||||
{VehicleProperty::ELECTRONIC_STABILITY_CONTROL_STATE, 2},
|
||||
{VehicleProperty::ELECTRONIC_STABILITY_CONTROL_STATE, 3},
|
||||
{VehicleProperty::HVAC_FAN_SPEED, 2},
|
||||
{VehicleProperty::HVAC_FAN_DIRECTION, 2},
|
||||
{VehicleProperty::HVAC_TEMPERATURE_CURRENT, 2},
|
||||
@@ -172,8 +172,8 @@ std::unordered_map<VehicleProperty, int32_t> VersionForVehicleProperty = {
|
||||
{VehicleProperty::SEAT_FOOTWELL_LIGHTS_STATE, 2},
|
||||
{VehicleProperty::SEAT_FOOTWELL_LIGHTS_SWITCH, 2},
|
||||
{VehicleProperty::SEAT_EASY_ACCESS_ENABLED, 2},
|
||||
{VehicleProperty::SEAT_AIRBAG_ENABLED, 3},
|
||||
{VehicleProperty::SEAT_AIRBAGS_DEPLOYED, 2},
|
||||
{VehicleProperty::SEAT_AIRBAG_ENABLED, 2},
|
||||
{VehicleProperty::SEAT_AIRBAGS_DEPLOYED, 3},
|
||||
{VehicleProperty::SEAT_CUSHION_SIDE_SUPPORT_POS, 2},
|
||||
{VehicleProperty::SEAT_CUSHION_SIDE_SUPPORT_MOVE, 2},
|
||||
{VehicleProperty::SEAT_LUMBAR_VERTICAL_POS, 2},
|
||||
@@ -293,7 +293,7 @@ std::unordered_map<VehicleProperty, int32_t> VersionForVehicleProperty = {
|
||||
{VehicleProperty::DRIVER_DROWSINESS_ATTENTION_WARNING, 3},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_SYSTEM_ENABLED, 3},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_STATE, 3},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_WARNING_ENABLED, 2},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_WARNING_ENABLED, 3},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_WARNING, 3},
|
||||
{VehicleProperty::LOW_SPEED_COLLISION_WARNING_ENABLED, 3},
|
||||
{VehicleProperty::LOW_SPEED_COLLISION_WARNING_STATE, 3},
|
||||
@@ -19,7 +19,7 @@ package {
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "IVehicleGeneratedJavaFiles",
|
||||
name: "IVehicleGeneratedJavaFiles-V3",
|
||||
srcs: [
|
||||
"*.java",
|
||||
],
|
||||
@@ -0,0 +1,312 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT EDIT MANUALLY!!!
|
||||
*
|
||||
* Generated by tools/generate_annotation_enums.py.
|
||||
*/
|
||||
|
||||
// clang-format off
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <aidl/android/hardware/automotive/vehicle/VehicleProperty.h>
|
||||
#include <aidl/android/hardware/automotive/vehicle/VehiclePropertyAccess.h>
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace automotive {
|
||||
namespace vehicle {
|
||||
|
||||
std::unordered_map<VehicleProperty, VehiclePropertyAccess> AccessForVehicleProperty = {
|
||||
{VehicleProperty::INFO_VIN, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::INFO_MAKE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::INFO_MODEL, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::INFO_MODEL_YEAR, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::INFO_FUEL_CAPACITY, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::INFO_FUEL_TYPE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::INFO_EV_BATTERY_CAPACITY, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::INFO_EV_CONNECTOR_TYPE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::INFO_FUEL_DOOR_LOCATION, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::INFO_EV_PORT_LOCATION, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::INFO_DRIVER_SEAT, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::INFO_EXTERIOR_DIMENSIONS, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::INFO_MULTI_EV_PORT_LOCATIONS, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::PERF_ODOMETER, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::PERF_VEHICLE_SPEED, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::PERF_VEHICLE_SPEED_DISPLAY, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::PERF_STEERING_ANGLE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::PERF_REAR_STEERING_ANGLE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ENGINE_COOLANT_TEMP, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ENGINE_OIL_LEVEL, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ENGINE_OIL_TEMP, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ENGINE_RPM, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::WHEEL_TICK, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::FUEL_LEVEL, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::FUEL_DOOR_OPEN, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::EV_BATTERY_LEVEL, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::EV_CURRENT_BATTERY_CAPACITY, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::EV_CHARGE_PORT_OPEN, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::EV_CHARGE_PORT_CONNECTED, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::EV_BATTERY_INSTANTANEOUS_CHARGE_RATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::RANGE_REMAINING, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::EV_BATTERY_AVERAGE_TEMPERATURE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::TIRE_PRESSURE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::CRITICALLY_LOW_TIRE_PRESSURE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ENGINE_IDLE_AUTO_STOP_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::IMPACT_DETECTED, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::GEAR_SELECTION, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::CURRENT_GEAR, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::PARKING_BRAKE_ON, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::PARKING_BRAKE_AUTO_APPLY, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::EV_BRAKE_REGENERATION_LEVEL, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::FUEL_LEVEL_LOW, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::NIGHT_MODE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::TURN_SIGNAL_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::IGNITION_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ABS_ACTIVE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::TRACTION_CONTROL_ACTIVE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::EV_STOPPING_MODE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::ELECTRONIC_STABILITY_CONTROL_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::ELECTRONIC_STABILITY_CONTROL_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::HVAC_FAN_SPEED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_FAN_DIRECTION, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_TEMPERATURE_CURRENT, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::HVAC_TEMPERATURE_SET, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_DEFROSTER, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_AC_ON, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_MAX_AC_ON, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_MAX_DEFROST_ON, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_RECIRC_ON, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_DUAL_ON, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_AUTO_ON, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_SEAT_TEMPERATURE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_SIDE_MIRROR_HEAT, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_STEERING_WHEEL_HEAT, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_TEMPERATURE_DISPLAY_UNITS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_ACTUAL_FAN_SPEED_RPM, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::HVAC_POWER_ON, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_FAN_DIRECTION_AVAILABLE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::HVAC_AUTO_RECIRC_ON, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_SEAT_VENTILATION, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_ELECTRIC_DEFROSTER_ON, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HVAC_TEMPERATURE_VALUE_SUGGESTION, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::DISTANCE_DISPLAY_UNITS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::FUEL_VOLUME_DISPLAY_UNITS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::TIRE_PRESSURE_DISPLAY_UNITS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::EV_BATTERY_DISPLAY_UNITS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::VEHICLE_SPEED_DISPLAY_UNITS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::EXTERNAL_CAR_TIME, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ANDROID_EPOCH_TIME, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::STORAGE_ENCRYPTION_BINDING_SEED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::ENV_OUTSIDE_TEMPERATURE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::AP_POWER_STATE_REQ, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::AP_POWER_STATE_REPORT, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::AP_POWER_BOOTUP_REASON, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::DISPLAY_BRIGHTNESS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::PER_DISPLAY_BRIGHTNESS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::VALET_MODE_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HEAD_UP_DISPLAY_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HW_KEY_INPUT, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::HW_KEY_INPUT_V2, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::HW_MOTION_INPUT, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::HW_ROTARY_INPUT, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::HW_CUSTOM_INPUT, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::DOOR_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::DOOR_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::DOOR_LOCK, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::DOOR_CHILD_LOCK_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::MIRROR_Z_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::MIRROR_Z_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::MIRROR_Y_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::MIRROR_Y_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::MIRROR_LOCK, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::MIRROR_FOLD, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::MIRROR_AUTO_FOLD_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::MIRROR_AUTO_TILT_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_MEMORY_SELECT, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::SEAT_MEMORY_SET, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::SEAT_BELT_BUCKLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_BELT_HEIGHT_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_BELT_HEIGHT_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_FORE_AFT_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_FORE_AFT_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_BACKREST_ANGLE_1_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_BACKREST_ANGLE_1_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_BACKREST_ANGLE_2_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_BACKREST_ANGLE_2_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_HEIGHT_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_HEIGHT_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_DEPTH_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_DEPTH_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_TILT_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_TILT_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_LUMBAR_FORE_AFT_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_LUMBAR_FORE_AFT_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_LUMBAR_SIDE_SUPPORT_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_LUMBAR_SIDE_SUPPORT_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_HEADREST_HEIGHT_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_HEADREST_HEIGHT_POS_V2, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_HEADREST_HEIGHT_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_HEADREST_ANGLE_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_HEADREST_ANGLE_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_HEADREST_FORE_AFT_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_HEADREST_FORE_AFT_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_FOOTWELL_LIGHTS_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::SEAT_FOOTWELL_LIGHTS_SWITCH, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_EASY_ACCESS_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_AIRBAG_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_AIRBAGS_DEPLOYED, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::SEAT_CUSHION_SIDE_SUPPORT_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_CUSHION_SIDE_SUPPORT_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_LUMBAR_VERTICAL_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_LUMBAR_VERTICAL_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_WALK_IN_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SEAT_BELT_PRETENSIONER_DEPLOYED, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::SEAT_OCCUPANCY, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::WINDOW_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::WINDOW_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::WINDOW_LOCK, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::WINDSHIELD_WIPERS_PERIOD, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::WINDSHIELD_WIPERS_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::WINDSHIELD_WIPERS_SWITCH, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::STEERING_WHEEL_DEPTH_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::STEERING_WHEEL_DEPTH_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::STEERING_WHEEL_HEIGHT_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::STEERING_WHEEL_HEIGHT_MOVE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::STEERING_WHEEL_THEFT_LOCK_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::STEERING_WHEEL_LOCKED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::STEERING_WHEEL_EASY_ACCESS_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::GLOVE_BOX_DOOR_POS, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::GLOVE_BOX_LOCKED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::VEHICLE_MAP_SERVICE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::LOCATION_CHARACTERIZATION, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_POSITION, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_ORIENTATION, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_FIELD_OF_VIEW, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_DETECTION_RANGE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_SUPPORTED_RANGES, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_MEASURED_DISTANCE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::OBD2_LIVE_FRAME, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::OBD2_FREEZE_FRAME, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::OBD2_FREEZE_FRAME_INFO, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::OBD2_FREEZE_FRAME_CLEAR, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::HEADLIGHTS_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::HIGH_BEAM_LIGHTS_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::FOG_LIGHTS_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::HAZARD_LIGHTS_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::HEADLIGHTS_SWITCH, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HIGH_BEAM_LIGHTS_SWITCH, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::FOG_LIGHTS_SWITCH, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HAZARD_LIGHTS_SWITCH, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::CABIN_LIGHTS_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::CABIN_LIGHTS_SWITCH, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::READING_LIGHTS_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::READING_LIGHTS_SWITCH, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::STEERING_WHEEL_LIGHTS_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::STEERING_WHEEL_LIGHTS_SWITCH, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SUPPORT_CUSTOMIZE_VENDOR_PERMISSION, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::DISABLED_OPTIONAL_FEATURES, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::INITIAL_USER_INFO, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::SWITCH_USER, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::CREATE_USER, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::REMOVE_USER, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::USER_IDENTIFICATION_ASSOCIATION, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::EVS_SERVICE_REQUEST, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::POWER_POLICY_REQ, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::POWER_POLICY_GROUP_REQ, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::CURRENT_POWER_POLICY, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::WATCHDOG_ALIVE, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::WATCHDOG_TERMINATED_PROCESS, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::VHAL_HEARTBEAT, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::CLUSTER_SWITCH_UI, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::CLUSTER_DISPLAY_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::CLUSTER_REPORT_STATE, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::CLUSTER_REQUEST_DISPLAY, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::CLUSTER_NAVIGATION_STATE, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_TYPE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_STATUS, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::FRONT_FOG_LIGHTS_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::FRONT_FOG_LIGHTS_SWITCH, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::REAR_FOG_LIGHTS_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::REAR_FOG_LIGHTS_SWITCH, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::EV_CHARGE_CURRENT_DRAW_LIMIT, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::EV_CHARGE_PERCENT_LIMIT, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::EV_CHARGE_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::EV_CHARGE_SWITCH, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::EV_CHARGE_TIME_REMAINING, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::EV_REGENERATIVE_BRAKING_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::TRAILER_PRESENT, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::VEHICLE_CURB_WEIGHT, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::SUPPORTED_PROPERTY_IDS, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::SHUTDOWN_REQUEST, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::VEHICLE_IN_USE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::CLUSTER_HEARTBEAT, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::VEHICLE_DRIVING_AUTOMATION_CURRENT_LEVEL, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::CAMERA_SERVICE_CURRENT_STATE, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::PER_DISPLAY_MAX_BRIGHTNESS, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::AUTOMATIC_EMERGENCY_BRAKING_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::AUTOMATIC_EMERGENCY_BRAKING_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::FORWARD_COLLISION_WARNING_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::FORWARD_COLLISION_WARNING_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::BLIND_SPOT_WARNING_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::BLIND_SPOT_WARNING_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::LANE_DEPARTURE_WARNING_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::LANE_DEPARTURE_WARNING_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::LANE_KEEP_ASSIST_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::LANE_KEEP_ASSIST_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::LANE_CENTERING_ASSIST_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::LANE_CENTERING_ASSIST_COMMAND, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::LANE_CENTERING_ASSIST_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::EMERGENCY_LANE_KEEP_ASSIST_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::EMERGENCY_LANE_KEEP_ASSIST_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::CRUISE_CONTROL_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::CRUISE_CONTROL_TYPE, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::CRUISE_CONTROL_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::CRUISE_CONTROL_COMMAND, VehiclePropertyAccess::WRITE},
|
||||
{VehicleProperty::CRUISE_CONTROL_TARGET_SPEED, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::HANDS_ON_DETECTION_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::HANDS_ON_DETECTION_DRIVER_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::HANDS_ON_DETECTION_WARNING, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::DRIVER_DROWSINESS_ATTENTION_SYSTEM_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::DRIVER_DROWSINESS_ATTENTION_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::DRIVER_DROWSINESS_ATTENTION_WARNING_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::DRIVER_DROWSINESS_ATTENTION_WARNING, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_SYSTEM_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_WARNING_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_WARNING, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::LOW_SPEED_COLLISION_WARNING_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::LOW_SPEED_COLLISION_WARNING_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::CROSS_TRAFFIC_MONITORING_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::CROSS_TRAFFIC_MONITORING_WARNING_STATE, VehiclePropertyAccess::READ},
|
||||
{VehicleProperty::LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED, VehiclePropertyAccess::READ_WRITE},
|
||||
{VehicleProperty::LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE, VehiclePropertyAccess::READ},
|
||||
};
|
||||
|
||||
} // namespace vehicle
|
||||
} // namespace automotive
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // aidl
|
||||
37
automotive/vehicle/aidl/generated_lib/4/cpp/Android.bp
Normal file
37
automotive/vehicle/aidl/generated_lib/4/cpp/Android.bp
Normal file
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright (C) 2022 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package {
|
||||
default_applicable_licenses: ["Android-Apache-2.0"],
|
||||
}
|
||||
|
||||
cc_library_headers {
|
||||
name: "IVehicleGeneratedHeaders",
|
||||
vendor_available: true,
|
||||
local_include_dirs: ["."],
|
||||
export_include_dirs: ["."],
|
||||
defaults: ["VehicleHalInterfaceDefaults"],
|
||||
host_supported: true,
|
||||
}
|
||||
|
||||
cc_library_headers {
|
||||
name: "IVehicleGeneratedHeaders-V4",
|
||||
vendor_available: true,
|
||||
local_include_dirs: ["."],
|
||||
export_include_dirs: ["."],
|
||||
defaults: ["VehicleHalInterfaceDefaults"],
|
||||
host_supported: true,
|
||||
}
|
||||
@@ -0,0 +1,312 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT EDIT MANUALLY!!!
|
||||
*
|
||||
* Generated by tools/generate_annotation_enums.py.
|
||||
*/
|
||||
|
||||
// clang-format off
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <aidl/android/hardware/automotive/vehicle/VehicleProperty.h>
|
||||
#include <aidl/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.h>
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace automotive {
|
||||
namespace vehicle {
|
||||
|
||||
std::unordered_map<VehicleProperty, VehiclePropertyChangeMode> ChangeModeForVehicleProperty = {
|
||||
{VehicleProperty::INFO_VIN, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::INFO_MAKE, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::INFO_MODEL, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::INFO_MODEL_YEAR, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::INFO_FUEL_CAPACITY, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::INFO_FUEL_TYPE, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::INFO_EV_BATTERY_CAPACITY, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::INFO_EV_CONNECTOR_TYPE, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::INFO_FUEL_DOOR_LOCATION, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::INFO_EV_PORT_LOCATION, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::INFO_DRIVER_SEAT, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::INFO_EXTERIOR_DIMENSIONS, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::INFO_MULTI_EV_PORT_LOCATIONS, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::PERF_ODOMETER, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::PERF_VEHICLE_SPEED, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::PERF_VEHICLE_SPEED_DISPLAY, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::PERF_STEERING_ANGLE, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::PERF_REAR_STEERING_ANGLE, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::ENGINE_COOLANT_TEMP, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::ENGINE_OIL_LEVEL, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::ENGINE_OIL_TEMP, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::ENGINE_RPM, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::WHEEL_TICK, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::FUEL_LEVEL, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::FUEL_DOOR_OPEN, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EV_BATTERY_LEVEL, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::EV_CURRENT_BATTERY_CAPACITY, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EV_CHARGE_PORT_OPEN, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EV_CHARGE_PORT_CONNECTED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EV_BATTERY_INSTANTANEOUS_CHARGE_RATE, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::RANGE_REMAINING, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::EV_BATTERY_AVERAGE_TEMPERATURE, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::TIRE_PRESSURE, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::CRITICALLY_LOW_TIRE_PRESSURE, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::ENGINE_IDLE_AUTO_STOP_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::IMPACT_DETECTED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::GEAR_SELECTION, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CURRENT_GEAR, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::PARKING_BRAKE_ON, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::PARKING_BRAKE_AUTO_APPLY, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EV_BRAKE_REGENERATION_LEVEL, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::FUEL_LEVEL_LOW, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::NIGHT_MODE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::TURN_SIGNAL_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::IGNITION_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::ABS_ACTIVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::TRACTION_CONTROL_ACTIVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EV_STOPPING_MODE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::ELECTRONIC_STABILITY_CONTROL_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::ELECTRONIC_STABILITY_CONTROL_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_FAN_SPEED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_FAN_DIRECTION, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_TEMPERATURE_CURRENT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_TEMPERATURE_SET, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_DEFROSTER, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_AC_ON, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_MAX_AC_ON, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_MAX_DEFROST_ON, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_RECIRC_ON, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_DUAL_ON, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_AUTO_ON, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_SEAT_TEMPERATURE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_SIDE_MIRROR_HEAT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_STEERING_WHEEL_HEAT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_TEMPERATURE_DISPLAY_UNITS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_ACTUAL_FAN_SPEED_RPM, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_POWER_ON, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_FAN_DIRECTION_AVAILABLE, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::HVAC_AUTO_RECIRC_ON, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_SEAT_VENTILATION, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_ELECTRIC_DEFROSTER_ON, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HVAC_TEMPERATURE_VALUE_SUGGESTION, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::DISTANCE_DISPLAY_UNITS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::FUEL_VOLUME_DISPLAY_UNITS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::TIRE_PRESSURE_DISPLAY_UNITS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EV_BATTERY_DISPLAY_UNITS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::VEHICLE_SPEED_DISPLAY_UNITS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EXTERNAL_CAR_TIME, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::ANDROID_EPOCH_TIME, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::STORAGE_ENCRYPTION_BINDING_SEED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::ENV_OUTSIDE_TEMPERATURE, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::AP_POWER_STATE_REQ, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::AP_POWER_STATE_REPORT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::AP_POWER_BOOTUP_REASON, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::DISPLAY_BRIGHTNESS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::PER_DISPLAY_BRIGHTNESS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::VALET_MODE_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HEAD_UP_DISPLAY_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HW_KEY_INPUT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HW_KEY_INPUT_V2, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HW_MOTION_INPUT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HW_ROTARY_INPUT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HW_CUSTOM_INPUT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::DOOR_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::DOOR_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::DOOR_LOCK, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::DOOR_CHILD_LOCK_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::MIRROR_Z_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::MIRROR_Z_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::MIRROR_Y_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::MIRROR_Y_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::MIRROR_LOCK, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::MIRROR_FOLD, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::MIRROR_AUTO_FOLD_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::MIRROR_AUTO_TILT_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_MEMORY_SELECT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_MEMORY_SET, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_BELT_BUCKLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_BELT_HEIGHT_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_BELT_HEIGHT_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_FORE_AFT_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_FORE_AFT_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_BACKREST_ANGLE_1_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_BACKREST_ANGLE_1_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_BACKREST_ANGLE_2_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_BACKREST_ANGLE_2_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_HEIGHT_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_HEIGHT_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_DEPTH_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_DEPTH_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_TILT_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_TILT_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_LUMBAR_FORE_AFT_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_LUMBAR_FORE_AFT_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_LUMBAR_SIDE_SUPPORT_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_LUMBAR_SIDE_SUPPORT_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_HEADREST_HEIGHT_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_HEADREST_HEIGHT_POS_V2, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_HEADREST_HEIGHT_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_HEADREST_ANGLE_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_HEADREST_ANGLE_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_HEADREST_FORE_AFT_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_HEADREST_FORE_AFT_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_FOOTWELL_LIGHTS_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_FOOTWELL_LIGHTS_SWITCH, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_EASY_ACCESS_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_AIRBAG_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_AIRBAGS_DEPLOYED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_CUSHION_SIDE_SUPPORT_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_CUSHION_SIDE_SUPPORT_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_LUMBAR_VERTICAL_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_LUMBAR_VERTICAL_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_WALK_IN_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_BELT_PRETENSIONER_DEPLOYED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SEAT_OCCUPANCY, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::WINDOW_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::WINDOW_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::WINDOW_LOCK, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::WINDSHIELD_WIPERS_PERIOD, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::WINDSHIELD_WIPERS_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::WINDSHIELD_WIPERS_SWITCH, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::STEERING_WHEEL_DEPTH_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::STEERING_WHEEL_DEPTH_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::STEERING_WHEEL_HEIGHT_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::STEERING_WHEEL_HEIGHT_MOVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::STEERING_WHEEL_THEFT_LOCK_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::STEERING_WHEEL_LOCKED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::STEERING_WHEEL_EASY_ACCESS_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::GLOVE_BOX_DOOR_POS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::GLOVE_BOX_LOCKED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::VEHICLE_MAP_SERVICE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::LOCATION_CHARACTERIZATION, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_POSITION, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_ORIENTATION, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_FIELD_OF_VIEW, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_DETECTION_RANGE, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_SUPPORTED_RANGES, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_MEASURED_DISTANCE, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::OBD2_LIVE_FRAME, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::OBD2_FREEZE_FRAME, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::OBD2_FREEZE_FRAME_INFO, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::OBD2_FREEZE_FRAME_CLEAR, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HEADLIGHTS_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HIGH_BEAM_LIGHTS_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::FOG_LIGHTS_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HAZARD_LIGHTS_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HEADLIGHTS_SWITCH, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HIGH_BEAM_LIGHTS_SWITCH, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::FOG_LIGHTS_SWITCH, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HAZARD_LIGHTS_SWITCH, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CABIN_LIGHTS_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CABIN_LIGHTS_SWITCH, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::READING_LIGHTS_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::READING_LIGHTS_SWITCH, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::STEERING_WHEEL_LIGHTS_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::STEERING_WHEEL_LIGHTS_SWITCH, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SUPPORT_CUSTOMIZE_VENDOR_PERMISSION, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::DISABLED_OPTIONAL_FEATURES, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::INITIAL_USER_INFO, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::SWITCH_USER, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CREATE_USER, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::REMOVE_USER, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::USER_IDENTIFICATION_ASSOCIATION, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EVS_SERVICE_REQUEST, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::POWER_POLICY_REQ, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::POWER_POLICY_GROUP_REQ, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CURRENT_POWER_POLICY, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::WATCHDOG_ALIVE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::WATCHDOG_TERMINATED_PROCESS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::VHAL_HEARTBEAT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CLUSTER_SWITCH_UI, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CLUSTER_DISPLAY_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CLUSTER_REPORT_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CLUSTER_REQUEST_DISPLAY, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CLUSTER_NAVIGATION_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_TYPE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_STATUS, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::FRONT_FOG_LIGHTS_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::FRONT_FOG_LIGHTS_SWITCH, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::REAR_FOG_LIGHTS_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::REAR_FOG_LIGHTS_SWITCH, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EV_CHARGE_CURRENT_DRAW_LIMIT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EV_CHARGE_PERCENT_LIMIT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EV_CHARGE_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EV_CHARGE_SWITCH, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EV_CHARGE_TIME_REMAINING, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::EV_REGENERATIVE_BRAKING_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::TRAILER_PRESENT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::VEHICLE_CURB_WEIGHT, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::SUPPORTED_PROPERTY_IDS, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::SHUTDOWN_REQUEST, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::VEHICLE_IN_USE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CLUSTER_HEARTBEAT, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::VEHICLE_DRIVING_AUTOMATION_CURRENT_LEVEL, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CAMERA_SERVICE_CURRENT_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::PER_DISPLAY_MAX_BRIGHTNESS, VehiclePropertyChangeMode::STATIC},
|
||||
{VehicleProperty::AUTOMATIC_EMERGENCY_BRAKING_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::AUTOMATIC_EMERGENCY_BRAKING_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::FORWARD_COLLISION_WARNING_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::FORWARD_COLLISION_WARNING_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::BLIND_SPOT_WARNING_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::BLIND_SPOT_WARNING_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::LANE_DEPARTURE_WARNING_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::LANE_DEPARTURE_WARNING_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::LANE_KEEP_ASSIST_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::LANE_KEEP_ASSIST_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::LANE_CENTERING_ASSIST_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::LANE_CENTERING_ASSIST_COMMAND, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::LANE_CENTERING_ASSIST_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EMERGENCY_LANE_KEEP_ASSIST_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::EMERGENCY_LANE_KEEP_ASSIST_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CRUISE_CONTROL_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CRUISE_CONTROL_TYPE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CRUISE_CONTROL_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CRUISE_CONTROL_COMMAND, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CRUISE_CONTROL_TARGET_SPEED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE, VehiclePropertyChangeMode::CONTINUOUS},
|
||||
{VehicleProperty::HANDS_ON_DETECTION_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HANDS_ON_DETECTION_DRIVER_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::HANDS_ON_DETECTION_WARNING, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::DRIVER_DROWSINESS_ATTENTION_SYSTEM_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::DRIVER_DROWSINESS_ATTENTION_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::DRIVER_DROWSINESS_ATTENTION_WARNING_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::DRIVER_DROWSINESS_ATTENTION_WARNING, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_SYSTEM_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_WARNING_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_WARNING, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::LOW_SPEED_COLLISION_WARNING_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::LOW_SPEED_COLLISION_WARNING_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CROSS_TRAFFIC_MONITORING_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::CROSS_TRAFFIC_MONITORING_WARNING_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
{VehicleProperty::LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE, VehiclePropertyChangeMode::ON_CHANGE},
|
||||
};
|
||||
|
||||
} // namespace vehicle
|
||||
} // namespace automotive
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // aidl
|
||||
@@ -0,0 +1,311 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT EDIT MANUALLY!!!
|
||||
*
|
||||
* Generated by tools/generate_annotation_enums.py.
|
||||
*/
|
||||
|
||||
// clang-format off
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <aidl/android/hardware/automotive/vehicle/VehicleProperty.h>
|
||||
|
||||
#include <unordered_map>
|
||||
|
||||
namespace aidl {
|
||||
namespace android {
|
||||
namespace hardware {
|
||||
namespace automotive {
|
||||
namespace vehicle {
|
||||
|
||||
std::unordered_map<VehicleProperty, int32_t> VersionForVehicleProperty = {
|
||||
{VehicleProperty::INFO_VIN, 2},
|
||||
{VehicleProperty::INFO_MAKE, 2},
|
||||
{VehicleProperty::INFO_MODEL, 2},
|
||||
{VehicleProperty::INFO_MODEL_YEAR, 2},
|
||||
{VehicleProperty::INFO_FUEL_CAPACITY, 2},
|
||||
{VehicleProperty::INFO_FUEL_TYPE, 2},
|
||||
{VehicleProperty::INFO_EV_BATTERY_CAPACITY, 2},
|
||||
{VehicleProperty::INFO_EV_CONNECTOR_TYPE, 2},
|
||||
{VehicleProperty::INFO_FUEL_DOOR_LOCATION, 2},
|
||||
{VehicleProperty::INFO_EV_PORT_LOCATION, 2},
|
||||
{VehicleProperty::INFO_DRIVER_SEAT, 2},
|
||||
{VehicleProperty::INFO_EXTERIOR_DIMENSIONS, 2},
|
||||
{VehicleProperty::INFO_MULTI_EV_PORT_LOCATIONS, 2},
|
||||
{VehicleProperty::PERF_ODOMETER, 2},
|
||||
{VehicleProperty::PERF_VEHICLE_SPEED, 2},
|
||||
{VehicleProperty::PERF_VEHICLE_SPEED_DISPLAY, 2},
|
||||
{VehicleProperty::PERF_STEERING_ANGLE, 2},
|
||||
{VehicleProperty::PERF_REAR_STEERING_ANGLE, 2},
|
||||
{VehicleProperty::ENGINE_COOLANT_TEMP, 2},
|
||||
{VehicleProperty::ENGINE_OIL_LEVEL, 2},
|
||||
{VehicleProperty::ENGINE_OIL_TEMP, 2},
|
||||
{VehicleProperty::ENGINE_RPM, 2},
|
||||
{VehicleProperty::WHEEL_TICK, 2},
|
||||
{VehicleProperty::FUEL_LEVEL, 2},
|
||||
{VehicleProperty::FUEL_DOOR_OPEN, 2},
|
||||
{VehicleProperty::EV_BATTERY_LEVEL, 2},
|
||||
{VehicleProperty::EV_CURRENT_BATTERY_CAPACITY, 2},
|
||||
{VehicleProperty::EV_CHARGE_PORT_OPEN, 2},
|
||||
{VehicleProperty::EV_CHARGE_PORT_CONNECTED, 2},
|
||||
{VehicleProperty::EV_BATTERY_INSTANTANEOUS_CHARGE_RATE, 2},
|
||||
{VehicleProperty::RANGE_REMAINING, 2},
|
||||
{VehicleProperty::EV_BATTERY_AVERAGE_TEMPERATURE, 3},
|
||||
{VehicleProperty::TIRE_PRESSURE, 2},
|
||||
{VehicleProperty::CRITICALLY_LOW_TIRE_PRESSURE, 2},
|
||||
{VehicleProperty::ENGINE_IDLE_AUTO_STOP_ENABLED, 2},
|
||||
{VehicleProperty::IMPACT_DETECTED, 3},
|
||||
{VehicleProperty::GEAR_SELECTION, 2},
|
||||
{VehicleProperty::CURRENT_GEAR, 2},
|
||||
{VehicleProperty::PARKING_BRAKE_ON, 2},
|
||||
{VehicleProperty::PARKING_BRAKE_AUTO_APPLY, 2},
|
||||
{VehicleProperty::EV_BRAKE_REGENERATION_LEVEL, 2},
|
||||
{VehicleProperty::FUEL_LEVEL_LOW, 2},
|
||||
{VehicleProperty::NIGHT_MODE, 2},
|
||||
{VehicleProperty::TURN_SIGNAL_STATE, 2},
|
||||
{VehicleProperty::IGNITION_STATE, 2},
|
||||
{VehicleProperty::ABS_ACTIVE, 2},
|
||||
{VehicleProperty::TRACTION_CONTROL_ACTIVE, 2},
|
||||
{VehicleProperty::EV_STOPPING_MODE, 2},
|
||||
{VehicleProperty::ELECTRONIC_STABILITY_CONTROL_ENABLED, 3},
|
||||
{VehicleProperty::ELECTRONIC_STABILITY_CONTROL_STATE, 3},
|
||||
{VehicleProperty::HVAC_FAN_SPEED, 2},
|
||||
{VehicleProperty::HVAC_FAN_DIRECTION, 2},
|
||||
{VehicleProperty::HVAC_TEMPERATURE_CURRENT, 2},
|
||||
{VehicleProperty::HVAC_TEMPERATURE_SET, 2},
|
||||
{VehicleProperty::HVAC_DEFROSTER, 2},
|
||||
{VehicleProperty::HVAC_AC_ON, 2},
|
||||
{VehicleProperty::HVAC_MAX_AC_ON, 2},
|
||||
{VehicleProperty::HVAC_MAX_DEFROST_ON, 2},
|
||||
{VehicleProperty::HVAC_RECIRC_ON, 2},
|
||||
{VehicleProperty::HVAC_DUAL_ON, 2},
|
||||
{VehicleProperty::HVAC_AUTO_ON, 2},
|
||||
{VehicleProperty::HVAC_SEAT_TEMPERATURE, 2},
|
||||
{VehicleProperty::HVAC_SIDE_MIRROR_HEAT, 2},
|
||||
{VehicleProperty::HVAC_STEERING_WHEEL_HEAT, 2},
|
||||
{VehicleProperty::HVAC_TEMPERATURE_DISPLAY_UNITS, 2},
|
||||
{VehicleProperty::HVAC_ACTUAL_FAN_SPEED_RPM, 2},
|
||||
{VehicleProperty::HVAC_POWER_ON, 2},
|
||||
{VehicleProperty::HVAC_FAN_DIRECTION_AVAILABLE, 2},
|
||||
{VehicleProperty::HVAC_AUTO_RECIRC_ON, 2},
|
||||
{VehicleProperty::HVAC_SEAT_VENTILATION, 2},
|
||||
{VehicleProperty::HVAC_ELECTRIC_DEFROSTER_ON, 2},
|
||||
{VehicleProperty::HVAC_TEMPERATURE_VALUE_SUGGESTION, 2},
|
||||
{VehicleProperty::DISTANCE_DISPLAY_UNITS, 2},
|
||||
{VehicleProperty::FUEL_VOLUME_DISPLAY_UNITS, 2},
|
||||
{VehicleProperty::TIRE_PRESSURE_DISPLAY_UNITS, 2},
|
||||
{VehicleProperty::EV_BATTERY_DISPLAY_UNITS, 2},
|
||||
{VehicleProperty::FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME, 2},
|
||||
{VehicleProperty::VEHICLE_SPEED_DISPLAY_UNITS, 2},
|
||||
{VehicleProperty::EXTERNAL_CAR_TIME, 2},
|
||||
{VehicleProperty::ANDROID_EPOCH_TIME, 2},
|
||||
{VehicleProperty::STORAGE_ENCRYPTION_BINDING_SEED, 2},
|
||||
{VehicleProperty::ENV_OUTSIDE_TEMPERATURE, 2},
|
||||
{VehicleProperty::AP_POWER_STATE_REQ, 2},
|
||||
{VehicleProperty::AP_POWER_STATE_REPORT, 2},
|
||||
{VehicleProperty::AP_POWER_BOOTUP_REASON, 2},
|
||||
{VehicleProperty::DISPLAY_BRIGHTNESS, 2},
|
||||
{VehicleProperty::PER_DISPLAY_BRIGHTNESS, 2},
|
||||
{VehicleProperty::VALET_MODE_ENABLED, 3},
|
||||
{VehicleProperty::HEAD_UP_DISPLAY_ENABLED, 3},
|
||||
{VehicleProperty::HW_KEY_INPUT, 2},
|
||||
{VehicleProperty::HW_KEY_INPUT_V2, 2},
|
||||
{VehicleProperty::HW_MOTION_INPUT, 2},
|
||||
{VehicleProperty::HW_ROTARY_INPUT, 2},
|
||||
{VehicleProperty::HW_CUSTOM_INPUT, 2},
|
||||
{VehicleProperty::DOOR_POS, 2},
|
||||
{VehicleProperty::DOOR_MOVE, 2},
|
||||
{VehicleProperty::DOOR_LOCK, 2},
|
||||
{VehicleProperty::DOOR_CHILD_LOCK_ENABLED, 2},
|
||||
{VehicleProperty::MIRROR_Z_POS, 2},
|
||||
{VehicleProperty::MIRROR_Z_MOVE, 2},
|
||||
{VehicleProperty::MIRROR_Y_POS, 2},
|
||||
{VehicleProperty::MIRROR_Y_MOVE, 2},
|
||||
{VehicleProperty::MIRROR_LOCK, 2},
|
||||
{VehicleProperty::MIRROR_FOLD, 2},
|
||||
{VehicleProperty::MIRROR_AUTO_FOLD_ENABLED, 2},
|
||||
{VehicleProperty::MIRROR_AUTO_TILT_ENABLED, 2},
|
||||
{VehicleProperty::SEAT_MEMORY_SELECT, 2},
|
||||
{VehicleProperty::SEAT_MEMORY_SET, 2},
|
||||
{VehicleProperty::SEAT_BELT_BUCKLED, 2},
|
||||
{VehicleProperty::SEAT_BELT_HEIGHT_POS, 2},
|
||||
{VehicleProperty::SEAT_BELT_HEIGHT_MOVE, 2},
|
||||
{VehicleProperty::SEAT_FORE_AFT_POS, 2},
|
||||
{VehicleProperty::SEAT_FORE_AFT_MOVE, 2},
|
||||
{VehicleProperty::SEAT_BACKREST_ANGLE_1_POS, 2},
|
||||
{VehicleProperty::SEAT_BACKREST_ANGLE_1_MOVE, 2},
|
||||
{VehicleProperty::SEAT_BACKREST_ANGLE_2_POS, 2},
|
||||
{VehicleProperty::SEAT_BACKREST_ANGLE_2_MOVE, 2},
|
||||
{VehicleProperty::SEAT_HEIGHT_POS, 2},
|
||||
{VehicleProperty::SEAT_HEIGHT_MOVE, 2},
|
||||
{VehicleProperty::SEAT_DEPTH_POS, 2},
|
||||
{VehicleProperty::SEAT_DEPTH_MOVE, 2},
|
||||
{VehicleProperty::SEAT_TILT_POS, 2},
|
||||
{VehicleProperty::SEAT_TILT_MOVE, 2},
|
||||
{VehicleProperty::SEAT_LUMBAR_FORE_AFT_POS, 2},
|
||||
{VehicleProperty::SEAT_LUMBAR_FORE_AFT_MOVE, 2},
|
||||
{VehicleProperty::SEAT_LUMBAR_SIDE_SUPPORT_POS, 2},
|
||||
{VehicleProperty::SEAT_LUMBAR_SIDE_SUPPORT_MOVE, 2},
|
||||
{VehicleProperty::SEAT_HEADREST_HEIGHT_POS, 2},
|
||||
{VehicleProperty::SEAT_HEADREST_HEIGHT_POS_V2, 2},
|
||||
{VehicleProperty::SEAT_HEADREST_HEIGHT_MOVE, 2},
|
||||
{VehicleProperty::SEAT_HEADREST_ANGLE_POS, 2},
|
||||
{VehicleProperty::SEAT_HEADREST_ANGLE_MOVE, 2},
|
||||
{VehicleProperty::SEAT_HEADREST_FORE_AFT_POS, 2},
|
||||
{VehicleProperty::SEAT_HEADREST_FORE_AFT_MOVE, 2},
|
||||
{VehicleProperty::SEAT_FOOTWELL_LIGHTS_STATE, 2},
|
||||
{VehicleProperty::SEAT_FOOTWELL_LIGHTS_SWITCH, 2},
|
||||
{VehicleProperty::SEAT_EASY_ACCESS_ENABLED, 2},
|
||||
{VehicleProperty::SEAT_AIRBAG_ENABLED, 2},
|
||||
{VehicleProperty::SEAT_AIRBAGS_DEPLOYED, 3},
|
||||
{VehicleProperty::SEAT_CUSHION_SIDE_SUPPORT_POS, 2},
|
||||
{VehicleProperty::SEAT_CUSHION_SIDE_SUPPORT_MOVE, 2},
|
||||
{VehicleProperty::SEAT_LUMBAR_VERTICAL_POS, 2},
|
||||
{VehicleProperty::SEAT_LUMBAR_VERTICAL_MOVE, 2},
|
||||
{VehicleProperty::SEAT_WALK_IN_POS, 2},
|
||||
{VehicleProperty::SEAT_BELT_PRETENSIONER_DEPLOYED, 3},
|
||||
{VehicleProperty::SEAT_OCCUPANCY, 2},
|
||||
{VehicleProperty::WINDOW_POS, 2},
|
||||
{VehicleProperty::WINDOW_MOVE, 2},
|
||||
{VehicleProperty::WINDOW_LOCK, 2},
|
||||
{VehicleProperty::WINDSHIELD_WIPERS_PERIOD, 2},
|
||||
{VehicleProperty::WINDSHIELD_WIPERS_STATE, 2},
|
||||
{VehicleProperty::WINDSHIELD_WIPERS_SWITCH, 2},
|
||||
{VehicleProperty::STEERING_WHEEL_DEPTH_POS, 2},
|
||||
{VehicleProperty::STEERING_WHEEL_DEPTH_MOVE, 2},
|
||||
{VehicleProperty::STEERING_WHEEL_HEIGHT_POS, 2},
|
||||
{VehicleProperty::STEERING_WHEEL_HEIGHT_MOVE, 2},
|
||||
{VehicleProperty::STEERING_WHEEL_THEFT_LOCK_ENABLED, 2},
|
||||
{VehicleProperty::STEERING_WHEEL_LOCKED, 2},
|
||||
{VehicleProperty::STEERING_WHEEL_EASY_ACCESS_ENABLED, 2},
|
||||
{VehicleProperty::GLOVE_BOX_DOOR_POS, 2},
|
||||
{VehicleProperty::GLOVE_BOX_LOCKED, 2},
|
||||
{VehicleProperty::VEHICLE_MAP_SERVICE, 2},
|
||||
{VehicleProperty::LOCATION_CHARACTERIZATION, 2},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_POSITION, 3},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_ORIENTATION, 3},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_FIELD_OF_VIEW, 3},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_DETECTION_RANGE, 3},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_SUPPORTED_RANGES, 3},
|
||||
{VehicleProperty::ULTRASONICS_SENSOR_MEASURED_DISTANCE, 3},
|
||||
{VehicleProperty::OBD2_LIVE_FRAME, 2},
|
||||
{VehicleProperty::OBD2_FREEZE_FRAME, 2},
|
||||
{VehicleProperty::OBD2_FREEZE_FRAME_INFO, 2},
|
||||
{VehicleProperty::OBD2_FREEZE_FRAME_CLEAR, 2},
|
||||
{VehicleProperty::HEADLIGHTS_STATE, 2},
|
||||
{VehicleProperty::HIGH_BEAM_LIGHTS_STATE, 2},
|
||||
{VehicleProperty::FOG_LIGHTS_STATE, 2},
|
||||
{VehicleProperty::HAZARD_LIGHTS_STATE, 2},
|
||||
{VehicleProperty::HEADLIGHTS_SWITCH, 2},
|
||||
{VehicleProperty::HIGH_BEAM_LIGHTS_SWITCH, 2},
|
||||
{VehicleProperty::FOG_LIGHTS_SWITCH, 2},
|
||||
{VehicleProperty::HAZARD_LIGHTS_SWITCH, 2},
|
||||
{VehicleProperty::CABIN_LIGHTS_STATE, 2},
|
||||
{VehicleProperty::CABIN_LIGHTS_SWITCH, 2},
|
||||
{VehicleProperty::READING_LIGHTS_STATE, 2},
|
||||
{VehicleProperty::READING_LIGHTS_SWITCH, 2},
|
||||
{VehicleProperty::STEERING_WHEEL_LIGHTS_STATE, 2},
|
||||
{VehicleProperty::STEERING_WHEEL_LIGHTS_SWITCH, 2},
|
||||
{VehicleProperty::SUPPORT_CUSTOMIZE_VENDOR_PERMISSION, 2},
|
||||
{VehicleProperty::DISABLED_OPTIONAL_FEATURES, 2},
|
||||
{VehicleProperty::INITIAL_USER_INFO, 2},
|
||||
{VehicleProperty::SWITCH_USER, 2},
|
||||
{VehicleProperty::CREATE_USER, 2},
|
||||
{VehicleProperty::REMOVE_USER, 2},
|
||||
{VehicleProperty::USER_IDENTIFICATION_ASSOCIATION, 2},
|
||||
{VehicleProperty::EVS_SERVICE_REQUEST, 2},
|
||||
{VehicleProperty::POWER_POLICY_REQ, 2},
|
||||
{VehicleProperty::POWER_POLICY_GROUP_REQ, 2},
|
||||
{VehicleProperty::CURRENT_POWER_POLICY, 2},
|
||||
{VehicleProperty::WATCHDOG_ALIVE, 2},
|
||||
{VehicleProperty::WATCHDOG_TERMINATED_PROCESS, 2},
|
||||
{VehicleProperty::VHAL_HEARTBEAT, 2},
|
||||
{VehicleProperty::CLUSTER_SWITCH_UI, 2},
|
||||
{VehicleProperty::CLUSTER_DISPLAY_STATE, 2},
|
||||
{VehicleProperty::CLUSTER_REPORT_STATE, 2},
|
||||
{VehicleProperty::CLUSTER_REQUEST_DISPLAY, 2},
|
||||
{VehicleProperty::CLUSTER_NAVIGATION_STATE, 2},
|
||||
{VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_TYPE, 2},
|
||||
{VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_STATUS, 2},
|
||||
{VehicleProperty::FRONT_FOG_LIGHTS_STATE, 2},
|
||||
{VehicleProperty::FRONT_FOG_LIGHTS_SWITCH, 2},
|
||||
{VehicleProperty::REAR_FOG_LIGHTS_STATE, 2},
|
||||
{VehicleProperty::REAR_FOG_LIGHTS_SWITCH, 2},
|
||||
{VehicleProperty::EV_CHARGE_CURRENT_DRAW_LIMIT, 2},
|
||||
{VehicleProperty::EV_CHARGE_PERCENT_LIMIT, 2},
|
||||
{VehicleProperty::EV_CHARGE_STATE, 2},
|
||||
{VehicleProperty::EV_CHARGE_SWITCH, 2},
|
||||
{VehicleProperty::EV_CHARGE_TIME_REMAINING, 2},
|
||||
{VehicleProperty::EV_REGENERATIVE_BRAKING_STATE, 2},
|
||||
{VehicleProperty::TRAILER_PRESENT, 2},
|
||||
{VehicleProperty::VEHICLE_CURB_WEIGHT, 2},
|
||||
{VehicleProperty::GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT, 2},
|
||||
{VehicleProperty::SUPPORTED_PROPERTY_IDS, 2},
|
||||
{VehicleProperty::SHUTDOWN_REQUEST, 2},
|
||||
{VehicleProperty::VEHICLE_IN_USE, 2},
|
||||
{VehicleProperty::CLUSTER_HEARTBEAT, 3},
|
||||
{VehicleProperty::VEHICLE_DRIVING_AUTOMATION_CURRENT_LEVEL, 3},
|
||||
{VehicleProperty::CAMERA_SERVICE_CURRENT_STATE, 3},
|
||||
{VehicleProperty::PER_DISPLAY_MAX_BRIGHTNESS, 3},
|
||||
{VehicleProperty::AUTOMATIC_EMERGENCY_BRAKING_ENABLED, 2},
|
||||
{VehicleProperty::AUTOMATIC_EMERGENCY_BRAKING_STATE, 2},
|
||||
{VehicleProperty::FORWARD_COLLISION_WARNING_ENABLED, 2},
|
||||
{VehicleProperty::FORWARD_COLLISION_WARNING_STATE, 2},
|
||||
{VehicleProperty::BLIND_SPOT_WARNING_ENABLED, 2},
|
||||
{VehicleProperty::BLIND_SPOT_WARNING_STATE, 2},
|
||||
{VehicleProperty::LANE_DEPARTURE_WARNING_ENABLED, 2},
|
||||
{VehicleProperty::LANE_DEPARTURE_WARNING_STATE, 2},
|
||||
{VehicleProperty::LANE_KEEP_ASSIST_ENABLED, 2},
|
||||
{VehicleProperty::LANE_KEEP_ASSIST_STATE, 2},
|
||||
{VehicleProperty::LANE_CENTERING_ASSIST_ENABLED, 2},
|
||||
{VehicleProperty::LANE_CENTERING_ASSIST_COMMAND, 2},
|
||||
{VehicleProperty::LANE_CENTERING_ASSIST_STATE, 2},
|
||||
{VehicleProperty::EMERGENCY_LANE_KEEP_ASSIST_ENABLED, 2},
|
||||
{VehicleProperty::EMERGENCY_LANE_KEEP_ASSIST_STATE, 2},
|
||||
{VehicleProperty::CRUISE_CONTROL_ENABLED, 2},
|
||||
{VehicleProperty::CRUISE_CONTROL_TYPE, 2},
|
||||
{VehicleProperty::CRUISE_CONTROL_STATE, 2},
|
||||
{VehicleProperty::CRUISE_CONTROL_COMMAND, 2},
|
||||
{VehicleProperty::CRUISE_CONTROL_TARGET_SPEED, 2},
|
||||
{VehicleProperty::ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP, 2},
|
||||
{VehicleProperty::ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE, 2},
|
||||
{VehicleProperty::HANDS_ON_DETECTION_ENABLED, 2},
|
||||
{VehicleProperty::HANDS_ON_DETECTION_DRIVER_STATE, 2},
|
||||
{VehicleProperty::HANDS_ON_DETECTION_WARNING, 2},
|
||||
{VehicleProperty::DRIVER_DROWSINESS_ATTENTION_SYSTEM_ENABLED, 3},
|
||||
{VehicleProperty::DRIVER_DROWSINESS_ATTENTION_STATE, 3},
|
||||
{VehicleProperty::DRIVER_DROWSINESS_ATTENTION_WARNING_ENABLED, 3},
|
||||
{VehicleProperty::DRIVER_DROWSINESS_ATTENTION_WARNING, 3},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_SYSTEM_ENABLED, 3},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_STATE, 3},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_WARNING_ENABLED, 3},
|
||||
{VehicleProperty::DRIVER_DISTRACTION_WARNING, 3},
|
||||
{VehicleProperty::LOW_SPEED_COLLISION_WARNING_ENABLED, 3},
|
||||
{VehicleProperty::LOW_SPEED_COLLISION_WARNING_STATE, 3},
|
||||
{VehicleProperty::CROSS_TRAFFIC_MONITORING_ENABLED, 3},
|
||||
{VehicleProperty::CROSS_TRAFFIC_MONITORING_WARNING_STATE, 3},
|
||||
{VehicleProperty::LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED, 3},
|
||||
{VehicleProperty::LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE, 3},
|
||||
};
|
||||
|
||||
} // namespace vehicle
|
||||
} // namespace automotive
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
} // aidl
|
||||
@@ -0,0 +1,301 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT EDIT MANUALLY!!!
|
||||
*
|
||||
* Generated by tools/generate_annotation_enums.py.
|
||||
*/
|
||||
|
||||
// clang-format off
|
||||
|
||||
package android.hardware.automotive.vehicle;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public final class AccessForVehicleProperty {
|
||||
|
||||
public static final Map<Integer, Integer> values = Map.ofEntries(
|
||||
Map.entry(VehicleProperty.INFO_VIN, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.INFO_MAKE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.INFO_MODEL, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.INFO_MODEL_YEAR, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.INFO_FUEL_CAPACITY, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.INFO_FUEL_TYPE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.INFO_EV_BATTERY_CAPACITY, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.INFO_EV_CONNECTOR_TYPE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.INFO_FUEL_DOOR_LOCATION, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.INFO_EV_PORT_LOCATION, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.INFO_DRIVER_SEAT, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.INFO_EXTERIOR_DIMENSIONS, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.INFO_MULTI_EV_PORT_LOCATIONS, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.PERF_ODOMETER, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.PERF_VEHICLE_SPEED, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.PERF_VEHICLE_SPEED_DISPLAY, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.PERF_STEERING_ANGLE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.PERF_REAR_STEERING_ANGLE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ENGINE_COOLANT_TEMP, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ENGINE_OIL_LEVEL, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ENGINE_OIL_TEMP, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ENGINE_RPM, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.WHEEL_TICK, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.FUEL_LEVEL, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.FUEL_DOOR_OPEN, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.EV_BATTERY_LEVEL, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.EV_CURRENT_BATTERY_CAPACITY, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_PORT_OPEN, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_PORT_CONNECTED, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.EV_BATTERY_INSTANTANEOUS_CHARGE_RATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.RANGE_REMAINING, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.EV_BATTERY_AVERAGE_TEMPERATURE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.TIRE_PRESSURE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.CRITICALLY_LOW_TIRE_PRESSURE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ENGINE_IDLE_AUTO_STOP_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.IMPACT_DETECTED, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.GEAR_SELECTION, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.CURRENT_GEAR, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.PARKING_BRAKE_ON, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.PARKING_BRAKE_AUTO_APPLY, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.EV_BRAKE_REGENERATION_LEVEL, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.FUEL_LEVEL_LOW, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.NIGHT_MODE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.TURN_SIGNAL_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.IGNITION_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ABS_ACTIVE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.TRACTION_CONTROL_ACTIVE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.EV_STOPPING_MODE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.ELECTRONIC_STABILITY_CONTROL_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.ELECTRONIC_STABILITY_CONTROL_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.HVAC_FAN_SPEED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_FAN_DIRECTION, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_TEMPERATURE_CURRENT, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.HVAC_TEMPERATURE_SET, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_DEFROSTER, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_AC_ON, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_MAX_AC_ON, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_MAX_DEFROST_ON, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_RECIRC_ON, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_DUAL_ON, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_AUTO_ON, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_SEAT_TEMPERATURE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_SIDE_MIRROR_HEAT, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_STEERING_WHEEL_HEAT, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_TEMPERATURE_DISPLAY_UNITS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_ACTUAL_FAN_SPEED_RPM, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.HVAC_POWER_ON, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_FAN_DIRECTION_AVAILABLE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.HVAC_AUTO_RECIRC_ON, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_SEAT_VENTILATION, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_ELECTRIC_DEFROSTER_ON, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HVAC_TEMPERATURE_VALUE_SUGGESTION, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.DISTANCE_DISPLAY_UNITS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.FUEL_VOLUME_DISPLAY_UNITS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.TIRE_PRESSURE_DISPLAY_UNITS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.EV_BATTERY_DISPLAY_UNITS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.VEHICLE_SPEED_DISPLAY_UNITS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.EXTERNAL_CAR_TIME, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ANDROID_EPOCH_TIME, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.STORAGE_ENCRYPTION_BINDING_SEED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.ENV_OUTSIDE_TEMPERATURE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.AP_POWER_STATE_REQ, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.AP_POWER_STATE_REPORT, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.AP_POWER_BOOTUP_REASON, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.DISPLAY_BRIGHTNESS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.PER_DISPLAY_BRIGHTNESS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.VALET_MODE_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HEAD_UP_DISPLAY_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HW_KEY_INPUT, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.HW_KEY_INPUT_V2, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.HW_MOTION_INPUT, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.HW_ROTARY_INPUT, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.HW_CUSTOM_INPUT, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.DOOR_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.DOOR_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.DOOR_LOCK, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.DOOR_CHILD_LOCK_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.MIRROR_Z_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.MIRROR_Z_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.MIRROR_Y_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.MIRROR_Y_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.MIRROR_LOCK, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.MIRROR_FOLD, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.MIRROR_AUTO_FOLD_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.MIRROR_AUTO_TILT_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_MEMORY_SELECT, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_MEMORY_SET, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_BELT_BUCKLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_BELT_HEIGHT_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_BELT_HEIGHT_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_FORE_AFT_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_FORE_AFT_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_BACKREST_ANGLE_1_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_BACKREST_ANGLE_1_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_BACKREST_ANGLE_2_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_BACKREST_ANGLE_2_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_HEIGHT_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_HEIGHT_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_DEPTH_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_DEPTH_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_TILT_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_TILT_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_LUMBAR_FORE_AFT_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_LUMBAR_FORE_AFT_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_LUMBAR_SIDE_SUPPORT_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_LUMBAR_SIDE_SUPPORT_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_HEIGHT_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_HEIGHT_POS_V2, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_HEIGHT_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_ANGLE_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_ANGLE_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_FORE_AFT_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_FORE_AFT_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_FOOTWELL_LIGHTS_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.SEAT_FOOTWELL_LIGHTS_SWITCH, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_EASY_ACCESS_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_AIRBAG_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_AIRBAGS_DEPLOYED, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.SEAT_CUSHION_SIDE_SUPPORT_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_CUSHION_SIDE_SUPPORT_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_LUMBAR_VERTICAL_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_LUMBAR_VERTICAL_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_WALK_IN_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SEAT_BELT_PRETENSIONER_DEPLOYED, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.SEAT_OCCUPANCY, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.WINDOW_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.WINDOW_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.WINDOW_LOCK, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.WINDSHIELD_WIPERS_PERIOD, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.WINDSHIELD_WIPERS_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.WINDSHIELD_WIPERS_SWITCH, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_DEPTH_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_DEPTH_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_HEIGHT_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_HEIGHT_MOVE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_THEFT_LOCK_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_LOCKED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_EASY_ACCESS_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.GLOVE_BOX_DOOR_POS, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.GLOVE_BOX_LOCKED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.VEHICLE_MAP_SERVICE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.LOCATION_CHARACTERIZATION, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ULTRASONICS_SENSOR_POSITION, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ULTRASONICS_SENSOR_ORIENTATION, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ULTRASONICS_SENSOR_FIELD_OF_VIEW, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ULTRASONICS_SENSOR_DETECTION_RANGE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ULTRASONICS_SENSOR_SUPPORTED_RANGES, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ULTRASONICS_SENSOR_MEASURED_DISTANCE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.OBD2_LIVE_FRAME, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.OBD2_FREEZE_FRAME, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.OBD2_FREEZE_FRAME_INFO, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.OBD2_FREEZE_FRAME_CLEAR, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.HEADLIGHTS_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.HIGH_BEAM_LIGHTS_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.FOG_LIGHTS_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.HAZARD_LIGHTS_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.HEADLIGHTS_SWITCH, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HIGH_BEAM_LIGHTS_SWITCH, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.FOG_LIGHTS_SWITCH, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HAZARD_LIGHTS_SWITCH, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.CABIN_LIGHTS_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.CABIN_LIGHTS_SWITCH, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.READING_LIGHTS_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.READING_LIGHTS_SWITCH, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_LIGHTS_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_LIGHTS_SWITCH, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SUPPORT_CUSTOMIZE_VENDOR_PERMISSION, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.DISABLED_OPTIONAL_FEATURES, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.INITIAL_USER_INFO, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.SWITCH_USER, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.CREATE_USER, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.REMOVE_USER, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.USER_IDENTIFICATION_ASSOCIATION, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.EVS_SERVICE_REQUEST, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.POWER_POLICY_REQ, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.POWER_POLICY_GROUP_REQ, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.CURRENT_POWER_POLICY, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.WATCHDOG_ALIVE, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.WATCHDOG_TERMINATED_PROCESS, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.VHAL_HEARTBEAT, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.CLUSTER_SWITCH_UI, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.CLUSTER_DISPLAY_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.CLUSTER_REPORT_STATE, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.CLUSTER_REQUEST_DISPLAY, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.CLUSTER_NAVIGATION_STATE, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.ELECTRONIC_TOLL_COLLECTION_CARD_TYPE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ELECTRONIC_TOLL_COLLECTION_CARD_STATUS, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.FRONT_FOG_LIGHTS_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.FRONT_FOG_LIGHTS_SWITCH, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.REAR_FOG_LIGHTS_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.REAR_FOG_LIGHTS_SWITCH, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_CURRENT_DRAW_LIMIT, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_PERCENT_LIMIT, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_SWITCH, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_TIME_REMAINING, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.EV_REGENERATIVE_BRAKING_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.TRAILER_PRESENT, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.VEHICLE_CURB_WEIGHT, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.SUPPORTED_PROPERTY_IDS, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.SHUTDOWN_REQUEST, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.VEHICLE_IN_USE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.CLUSTER_HEARTBEAT, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.VEHICLE_DRIVING_AUTOMATION_CURRENT_LEVEL, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.CAMERA_SERVICE_CURRENT_STATE, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.PER_DISPLAY_MAX_BRIGHTNESS, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.AUTOMATIC_EMERGENCY_BRAKING_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.AUTOMATIC_EMERGENCY_BRAKING_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.FORWARD_COLLISION_WARNING_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.FORWARD_COLLISION_WARNING_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.BLIND_SPOT_WARNING_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.BLIND_SPOT_WARNING_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.LANE_DEPARTURE_WARNING_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.LANE_DEPARTURE_WARNING_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.LANE_KEEP_ASSIST_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.LANE_KEEP_ASSIST_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.LANE_CENTERING_ASSIST_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.LANE_CENTERING_ASSIST_COMMAND, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.LANE_CENTERING_ASSIST_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.EMERGENCY_LANE_KEEP_ASSIST_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.EMERGENCY_LANE_KEEP_ASSIST_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_TYPE, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_COMMAND, VehiclePropertyAccess.WRITE),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_TARGET_SPEED, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.HANDS_ON_DETECTION_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.HANDS_ON_DETECTION_DRIVER_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.HANDS_ON_DETECTION_WARNING, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.DRIVER_DROWSINESS_ATTENTION_SYSTEM_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.DRIVER_DROWSINESS_ATTENTION_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.DRIVER_DROWSINESS_ATTENTION_WARNING_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.DRIVER_DROWSINESS_ATTENTION_WARNING, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.DRIVER_DISTRACTION_SYSTEM_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.DRIVER_DISTRACTION_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.DRIVER_DISTRACTION_WARNING_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.DRIVER_DISTRACTION_WARNING, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.LOW_SPEED_COLLISION_WARNING_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.LOW_SPEED_COLLISION_WARNING_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.CROSS_TRAFFIC_MONITORING_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.CROSS_TRAFFIC_MONITORING_WARNING_STATE, VehiclePropertyAccess.READ),
|
||||
Map.entry(VehicleProperty.LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED, VehiclePropertyAccess.READ_WRITE),
|
||||
Map.entry(VehicleProperty.LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE, VehiclePropertyAccess.READ)
|
||||
);
|
||||
|
||||
}
|
||||
33
automotive/vehicle/aidl/generated_lib/4/java/Android.bp
Normal file
33
automotive/vehicle/aidl/generated_lib/4/java/Android.bp
Normal file
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Copyright (C) 2022 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package {
|
||||
default_applicable_licenses: ["Android-Apache-2.0"],
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "IVehicleGeneratedJavaFiles",
|
||||
srcs: [
|
||||
"*.java",
|
||||
],
|
||||
}
|
||||
|
||||
filegroup {
|
||||
name: "IVehicleGeneratedJavaFiles-V4",
|
||||
srcs: [
|
||||
"*.java",
|
||||
],
|
||||
}
|
||||
@@ -0,0 +1,301 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT EDIT MANUALLY!!!
|
||||
*
|
||||
* Generated by tools/generate_annotation_enums.py.
|
||||
*/
|
||||
|
||||
// clang-format off
|
||||
|
||||
package android.hardware.automotive.vehicle;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public final class ChangeModeForVehicleProperty {
|
||||
|
||||
public static final Map<Integer, Integer> values = Map.ofEntries(
|
||||
Map.entry(VehicleProperty.INFO_VIN, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.INFO_MAKE, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.INFO_MODEL, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.INFO_MODEL_YEAR, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.INFO_FUEL_CAPACITY, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.INFO_FUEL_TYPE, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.INFO_EV_BATTERY_CAPACITY, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.INFO_EV_CONNECTOR_TYPE, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.INFO_FUEL_DOOR_LOCATION, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.INFO_EV_PORT_LOCATION, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.INFO_DRIVER_SEAT, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.INFO_EXTERIOR_DIMENSIONS, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.INFO_MULTI_EV_PORT_LOCATIONS, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.PERF_ODOMETER, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.PERF_VEHICLE_SPEED, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.PERF_VEHICLE_SPEED_DISPLAY, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.PERF_STEERING_ANGLE, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.PERF_REAR_STEERING_ANGLE, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.ENGINE_COOLANT_TEMP, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.ENGINE_OIL_LEVEL, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.ENGINE_OIL_TEMP, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.ENGINE_RPM, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.WHEEL_TICK, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.FUEL_LEVEL, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.FUEL_DOOR_OPEN, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EV_BATTERY_LEVEL, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.EV_CURRENT_BATTERY_CAPACITY, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_PORT_OPEN, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_PORT_CONNECTED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EV_BATTERY_INSTANTANEOUS_CHARGE_RATE, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.RANGE_REMAINING, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.EV_BATTERY_AVERAGE_TEMPERATURE, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.TIRE_PRESSURE, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.CRITICALLY_LOW_TIRE_PRESSURE, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.ENGINE_IDLE_AUTO_STOP_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.IMPACT_DETECTED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.GEAR_SELECTION, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CURRENT_GEAR, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.PARKING_BRAKE_ON, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.PARKING_BRAKE_AUTO_APPLY, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EV_BRAKE_REGENERATION_LEVEL, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.FUEL_LEVEL_LOW, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.NIGHT_MODE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.TURN_SIGNAL_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.IGNITION_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.ABS_ACTIVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.TRACTION_CONTROL_ACTIVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EV_STOPPING_MODE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.ELECTRONIC_STABILITY_CONTROL_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.ELECTRONIC_STABILITY_CONTROL_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_FAN_SPEED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_FAN_DIRECTION, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_TEMPERATURE_CURRENT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_TEMPERATURE_SET, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_DEFROSTER, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_AC_ON, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_MAX_AC_ON, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_MAX_DEFROST_ON, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_RECIRC_ON, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_DUAL_ON, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_AUTO_ON, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_SEAT_TEMPERATURE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_SIDE_MIRROR_HEAT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_STEERING_WHEEL_HEAT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_TEMPERATURE_DISPLAY_UNITS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_ACTUAL_FAN_SPEED_RPM, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_POWER_ON, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_FAN_DIRECTION_AVAILABLE, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.HVAC_AUTO_RECIRC_ON, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_SEAT_VENTILATION, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_ELECTRIC_DEFROSTER_ON, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HVAC_TEMPERATURE_VALUE_SUGGESTION, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.DISTANCE_DISPLAY_UNITS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.FUEL_VOLUME_DISPLAY_UNITS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.TIRE_PRESSURE_DISPLAY_UNITS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EV_BATTERY_DISPLAY_UNITS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.VEHICLE_SPEED_DISPLAY_UNITS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EXTERNAL_CAR_TIME, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.ANDROID_EPOCH_TIME, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.STORAGE_ENCRYPTION_BINDING_SEED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.ENV_OUTSIDE_TEMPERATURE, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.AP_POWER_STATE_REQ, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.AP_POWER_STATE_REPORT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.AP_POWER_BOOTUP_REASON, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.DISPLAY_BRIGHTNESS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.PER_DISPLAY_BRIGHTNESS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.VALET_MODE_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HEAD_UP_DISPLAY_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HW_KEY_INPUT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HW_KEY_INPUT_V2, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HW_MOTION_INPUT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HW_ROTARY_INPUT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HW_CUSTOM_INPUT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.DOOR_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.DOOR_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.DOOR_LOCK, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.DOOR_CHILD_LOCK_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.MIRROR_Z_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.MIRROR_Z_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.MIRROR_Y_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.MIRROR_Y_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.MIRROR_LOCK, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.MIRROR_FOLD, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.MIRROR_AUTO_FOLD_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.MIRROR_AUTO_TILT_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_MEMORY_SELECT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_MEMORY_SET, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_BELT_BUCKLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_BELT_HEIGHT_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_BELT_HEIGHT_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_FORE_AFT_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_FORE_AFT_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_BACKREST_ANGLE_1_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_BACKREST_ANGLE_1_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_BACKREST_ANGLE_2_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_BACKREST_ANGLE_2_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_HEIGHT_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_HEIGHT_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_DEPTH_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_DEPTH_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_TILT_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_TILT_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_LUMBAR_FORE_AFT_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_LUMBAR_FORE_AFT_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_LUMBAR_SIDE_SUPPORT_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_LUMBAR_SIDE_SUPPORT_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_HEIGHT_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_HEIGHT_POS_V2, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_HEIGHT_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_ANGLE_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_ANGLE_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_FORE_AFT_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_HEADREST_FORE_AFT_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_FOOTWELL_LIGHTS_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_FOOTWELL_LIGHTS_SWITCH, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_EASY_ACCESS_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_AIRBAG_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_AIRBAGS_DEPLOYED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_CUSHION_SIDE_SUPPORT_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_CUSHION_SIDE_SUPPORT_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_LUMBAR_VERTICAL_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_LUMBAR_VERTICAL_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_WALK_IN_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_BELT_PRETENSIONER_DEPLOYED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SEAT_OCCUPANCY, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.WINDOW_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.WINDOW_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.WINDOW_LOCK, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.WINDSHIELD_WIPERS_PERIOD, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.WINDSHIELD_WIPERS_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.WINDSHIELD_WIPERS_SWITCH, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_DEPTH_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_DEPTH_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_HEIGHT_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_HEIGHT_MOVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_THEFT_LOCK_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_LOCKED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_EASY_ACCESS_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.GLOVE_BOX_DOOR_POS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.GLOVE_BOX_LOCKED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.VEHICLE_MAP_SERVICE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.LOCATION_CHARACTERIZATION, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.ULTRASONICS_SENSOR_POSITION, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.ULTRASONICS_SENSOR_ORIENTATION, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.ULTRASONICS_SENSOR_FIELD_OF_VIEW, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.ULTRASONICS_SENSOR_DETECTION_RANGE, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.ULTRASONICS_SENSOR_SUPPORTED_RANGES, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.ULTRASONICS_SENSOR_MEASURED_DISTANCE, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.OBD2_LIVE_FRAME, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.OBD2_FREEZE_FRAME, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.OBD2_FREEZE_FRAME_INFO, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.OBD2_FREEZE_FRAME_CLEAR, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HEADLIGHTS_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HIGH_BEAM_LIGHTS_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.FOG_LIGHTS_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HAZARD_LIGHTS_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HEADLIGHTS_SWITCH, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HIGH_BEAM_LIGHTS_SWITCH, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.FOG_LIGHTS_SWITCH, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HAZARD_LIGHTS_SWITCH, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CABIN_LIGHTS_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CABIN_LIGHTS_SWITCH, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.READING_LIGHTS_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.READING_LIGHTS_SWITCH, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_LIGHTS_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_LIGHTS_SWITCH, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SUPPORT_CUSTOMIZE_VENDOR_PERMISSION, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.DISABLED_OPTIONAL_FEATURES, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.INITIAL_USER_INFO, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.SWITCH_USER, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CREATE_USER, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.REMOVE_USER, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.USER_IDENTIFICATION_ASSOCIATION, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EVS_SERVICE_REQUEST, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.POWER_POLICY_REQ, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.POWER_POLICY_GROUP_REQ, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CURRENT_POWER_POLICY, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.WATCHDOG_ALIVE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.WATCHDOG_TERMINATED_PROCESS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.VHAL_HEARTBEAT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CLUSTER_SWITCH_UI, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CLUSTER_DISPLAY_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CLUSTER_REPORT_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CLUSTER_REQUEST_DISPLAY, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CLUSTER_NAVIGATION_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.ELECTRONIC_TOLL_COLLECTION_CARD_TYPE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.ELECTRONIC_TOLL_COLLECTION_CARD_STATUS, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.FRONT_FOG_LIGHTS_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.FRONT_FOG_LIGHTS_SWITCH, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.REAR_FOG_LIGHTS_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.REAR_FOG_LIGHTS_SWITCH, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_CURRENT_DRAW_LIMIT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_PERCENT_LIMIT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_SWITCH, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_TIME_REMAINING, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.EV_REGENERATIVE_BRAKING_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.TRAILER_PRESENT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.VEHICLE_CURB_WEIGHT, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.SUPPORTED_PROPERTY_IDS, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.SHUTDOWN_REQUEST, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.VEHICLE_IN_USE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CLUSTER_HEARTBEAT, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.VEHICLE_DRIVING_AUTOMATION_CURRENT_LEVEL, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CAMERA_SERVICE_CURRENT_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.PER_DISPLAY_MAX_BRIGHTNESS, VehiclePropertyChangeMode.STATIC),
|
||||
Map.entry(VehicleProperty.AUTOMATIC_EMERGENCY_BRAKING_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.AUTOMATIC_EMERGENCY_BRAKING_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.FORWARD_COLLISION_WARNING_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.FORWARD_COLLISION_WARNING_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.BLIND_SPOT_WARNING_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.BLIND_SPOT_WARNING_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.LANE_DEPARTURE_WARNING_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.LANE_DEPARTURE_WARNING_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.LANE_KEEP_ASSIST_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.LANE_KEEP_ASSIST_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.LANE_CENTERING_ASSIST_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.LANE_CENTERING_ASSIST_COMMAND, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.LANE_CENTERING_ASSIST_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EMERGENCY_LANE_KEEP_ASSIST_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.EMERGENCY_LANE_KEEP_ASSIST_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_TYPE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_COMMAND, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_TARGET_SPEED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE, VehiclePropertyChangeMode.CONTINUOUS),
|
||||
Map.entry(VehicleProperty.HANDS_ON_DETECTION_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HANDS_ON_DETECTION_DRIVER_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.HANDS_ON_DETECTION_WARNING, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.DRIVER_DROWSINESS_ATTENTION_SYSTEM_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.DRIVER_DROWSINESS_ATTENTION_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.DRIVER_DROWSINESS_ATTENTION_WARNING_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.DRIVER_DROWSINESS_ATTENTION_WARNING, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.DRIVER_DISTRACTION_SYSTEM_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.DRIVER_DISTRACTION_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.DRIVER_DISTRACTION_WARNING_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.DRIVER_DISTRACTION_WARNING, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.LOW_SPEED_COLLISION_WARNING_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.LOW_SPEED_COLLISION_WARNING_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CROSS_TRAFFIC_MONITORING_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.CROSS_TRAFFIC_MONITORING_WARNING_STATE, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED, VehiclePropertyChangeMode.ON_CHANGE),
|
||||
Map.entry(VehicleProperty.LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE, VehiclePropertyChangeMode.ON_CHANGE)
|
||||
);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT EDIT MANUALLY!!!
|
||||
*
|
||||
* Generated by tools/generate_annotation_enums.py.
|
||||
*/
|
||||
|
||||
// clang-format off
|
||||
|
||||
package android.hardware.automotive.vehicle;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public final class EnumForVehicleProperty {
|
||||
|
||||
public static final Map<Integer, List<Class<?>>> values = Map.ofEntries(
|
||||
Map.entry(VehicleProperty.INFO_FUEL_TYPE, List.of(FuelType.class)),
|
||||
Map.entry(VehicleProperty.INFO_EV_CONNECTOR_TYPE, List.of(EvConnectorType.class)),
|
||||
Map.entry(VehicleProperty.INFO_FUEL_DOOR_LOCATION, List.of(PortLocationType.class)),
|
||||
Map.entry(VehicleProperty.INFO_EV_PORT_LOCATION, List.of(PortLocationType.class)),
|
||||
Map.entry(VehicleProperty.INFO_DRIVER_SEAT, List.of(VehicleAreaSeat.class)),
|
||||
Map.entry(VehicleProperty.INFO_MULTI_EV_PORT_LOCATIONS, List.of(PortLocationType.class)),
|
||||
Map.entry(VehicleProperty.ENGINE_OIL_LEVEL, List.of(VehicleOilLevel.class)),
|
||||
Map.entry(VehicleProperty.IMPACT_DETECTED, List.of(ImpactSensorLocation.class)),
|
||||
Map.entry(VehicleProperty.GEAR_SELECTION, List.of(VehicleGear.class)),
|
||||
Map.entry(VehicleProperty.CURRENT_GEAR, List.of(VehicleGear.class)),
|
||||
Map.entry(VehicleProperty.TURN_SIGNAL_STATE, List.of(VehicleTurnSignal.class)),
|
||||
Map.entry(VehicleProperty.IGNITION_STATE, List.of(VehicleIgnitionState.class)),
|
||||
Map.entry(VehicleProperty.EV_STOPPING_MODE, List.of(EvStoppingMode.class)),
|
||||
Map.entry(VehicleProperty.ELECTRONIC_STABILITY_CONTROL_STATE, List.of(ElectronicStabilityControlState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.HVAC_FAN_DIRECTION, List.of(VehicleHvacFanDirection.class)),
|
||||
Map.entry(VehicleProperty.HVAC_TEMPERATURE_DISPLAY_UNITS, List.of(VehicleUnit.class)),
|
||||
Map.entry(VehicleProperty.HVAC_FAN_DIRECTION_AVAILABLE, List.of(VehicleHvacFanDirection.class)),
|
||||
Map.entry(VehicleProperty.DISTANCE_DISPLAY_UNITS, List.of(VehicleUnit.class)),
|
||||
Map.entry(VehicleProperty.FUEL_VOLUME_DISPLAY_UNITS, List.of(VehicleUnit.class)),
|
||||
Map.entry(VehicleProperty.TIRE_PRESSURE_DISPLAY_UNITS, List.of(VehicleUnit.class)),
|
||||
Map.entry(VehicleProperty.EV_BATTERY_DISPLAY_UNITS, List.of(VehicleUnit.class)),
|
||||
Map.entry(VehicleProperty.HW_ROTARY_INPUT, List.of(RotaryInputType.class)),
|
||||
Map.entry(VehicleProperty.HW_CUSTOM_INPUT, List.of(CustomInputType.class)),
|
||||
Map.entry(VehicleProperty.SEAT_FOOTWELL_LIGHTS_STATE, List.of(VehicleLightState.class)),
|
||||
Map.entry(VehicleProperty.SEAT_FOOTWELL_LIGHTS_SWITCH, List.of(VehicleLightSwitch.class)),
|
||||
Map.entry(VehicleProperty.SEAT_AIRBAGS_DEPLOYED, List.of(VehicleAirbagLocation.class)),
|
||||
Map.entry(VehicleProperty.SEAT_OCCUPANCY, List.of(VehicleSeatOccupancyState.class)),
|
||||
Map.entry(VehicleProperty.WINDSHIELD_WIPERS_STATE, List.of(WindshieldWipersState.class)),
|
||||
Map.entry(VehicleProperty.WINDSHIELD_WIPERS_SWITCH, List.of(WindshieldWipersSwitch.class)),
|
||||
Map.entry(VehicleProperty.HEADLIGHTS_STATE, List.of(VehicleLightState.class)),
|
||||
Map.entry(VehicleProperty.HIGH_BEAM_LIGHTS_STATE, List.of(VehicleLightState.class)),
|
||||
Map.entry(VehicleProperty.FOG_LIGHTS_STATE, List.of(VehicleLightState.class)),
|
||||
Map.entry(VehicleProperty.HAZARD_LIGHTS_STATE, List.of(VehicleLightState.class)),
|
||||
Map.entry(VehicleProperty.HEADLIGHTS_SWITCH, List.of(VehicleLightSwitch.class)),
|
||||
Map.entry(VehicleProperty.HIGH_BEAM_LIGHTS_SWITCH, List.of(VehicleLightSwitch.class)),
|
||||
Map.entry(VehicleProperty.FOG_LIGHTS_SWITCH, List.of(VehicleLightSwitch.class)),
|
||||
Map.entry(VehicleProperty.HAZARD_LIGHTS_SWITCH, List.of(VehicleLightSwitch.class)),
|
||||
Map.entry(VehicleProperty.CABIN_LIGHTS_STATE, List.of(VehicleLightState.class)),
|
||||
Map.entry(VehicleProperty.CABIN_LIGHTS_SWITCH, List.of(VehicleLightSwitch.class)),
|
||||
Map.entry(VehicleProperty.READING_LIGHTS_STATE, List.of(VehicleLightState.class)),
|
||||
Map.entry(VehicleProperty.READING_LIGHTS_SWITCH, List.of(VehicleLightSwitch.class)),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_LIGHTS_STATE, List.of(VehicleLightState.class)),
|
||||
Map.entry(VehicleProperty.STEERING_WHEEL_LIGHTS_SWITCH, List.of(VehicleLightSwitch.class)),
|
||||
Map.entry(VehicleProperty.ELECTRONIC_TOLL_COLLECTION_CARD_TYPE, List.of(ElectronicTollCollectionCardType.class)),
|
||||
Map.entry(VehicleProperty.ELECTRONIC_TOLL_COLLECTION_CARD_STATUS, List.of(ElectronicTollCollectionCardStatus.class)),
|
||||
Map.entry(VehicleProperty.FRONT_FOG_LIGHTS_STATE, List.of(VehicleLightState.class)),
|
||||
Map.entry(VehicleProperty.FRONT_FOG_LIGHTS_SWITCH, List.of(VehicleLightSwitch.class)),
|
||||
Map.entry(VehicleProperty.REAR_FOG_LIGHTS_STATE, List.of(VehicleLightState.class)),
|
||||
Map.entry(VehicleProperty.REAR_FOG_LIGHTS_SWITCH, List.of(VehicleLightSwitch.class)),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_STATE, List.of(EvChargeState.class)),
|
||||
Map.entry(VehicleProperty.EV_REGENERATIVE_BRAKING_STATE, List.of(EvRegenerativeBrakingState.class)),
|
||||
Map.entry(VehicleProperty.TRAILER_PRESENT, List.of(TrailerState.class)),
|
||||
Map.entry(VehicleProperty.GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT, List.of(GsrComplianceRequirementType.class)),
|
||||
Map.entry(VehicleProperty.SHUTDOWN_REQUEST, List.of(VehicleApPowerStateShutdownParam.class)),
|
||||
Map.entry(VehicleProperty.VEHICLE_DRIVING_AUTOMATION_CURRENT_LEVEL, List.of(VehicleAutonomousState.class)),
|
||||
Map.entry(VehicleProperty.CAMERA_SERVICE_CURRENT_STATE, List.of(CameraServiceState.class)),
|
||||
Map.entry(VehicleProperty.AUTOMATIC_EMERGENCY_BRAKING_STATE, List.of(AutomaticEmergencyBrakingState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.FORWARD_COLLISION_WARNING_STATE, List.of(ForwardCollisionWarningState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.BLIND_SPOT_WARNING_STATE, List.of(BlindSpotWarningState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.LANE_DEPARTURE_WARNING_STATE, List.of(LaneDepartureWarningState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.LANE_KEEP_ASSIST_STATE, List.of(LaneKeepAssistState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.LANE_CENTERING_ASSIST_COMMAND, List.of(LaneCenteringAssistCommand.class)),
|
||||
Map.entry(VehicleProperty.LANE_CENTERING_ASSIST_STATE, List.of(LaneCenteringAssistState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.EMERGENCY_LANE_KEEP_ASSIST_STATE, List.of(EmergencyLaneKeepAssistState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_TYPE, List.of(CruiseControlType.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_STATE, List.of(CruiseControlState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_COMMAND, List.of(CruiseControlCommand.class)),
|
||||
Map.entry(VehicleProperty.HANDS_ON_DETECTION_DRIVER_STATE, List.of(HandsOnDetectionDriverState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.HANDS_ON_DETECTION_WARNING, List.of(HandsOnDetectionWarning.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.DRIVER_DROWSINESS_ATTENTION_STATE, List.of(DriverDrowsinessAttentionState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.DRIVER_DROWSINESS_ATTENTION_WARNING, List.of(DriverDrowsinessAttentionWarning.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.DRIVER_DISTRACTION_STATE, List.of(DriverDistractionState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.DRIVER_DISTRACTION_WARNING, List.of(DriverDistractionWarning.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.LOW_SPEED_COLLISION_WARNING_STATE, List.of(LowSpeedCollisionWarningState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.CROSS_TRAFFIC_MONITORING_WARNING_STATE, List.of(CrossTrafficMonitoringWarningState.class, ErrorState.class)),
|
||||
Map.entry(VehicleProperty.LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE, List.of(LowSpeedAutomaticEmergencyBrakingState.class, ErrorState.class))
|
||||
);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Copyright (C) 2023 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DO NOT EDIT MANUALLY!!!
|
||||
*
|
||||
* Generated by tools/generate_annotation_enums.py.
|
||||
*/
|
||||
|
||||
// clang-format off
|
||||
|
||||
package android.hardware.automotive.vehicle;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public final class UnitsForVehicleProperty {
|
||||
|
||||
public static final Map<Integer, Integer> values = Map.ofEntries(
|
||||
Map.entry(VehicleProperty.INFO_MODEL_YEAR, VehicleUnit.YEAR),
|
||||
Map.entry(VehicleProperty.INFO_FUEL_CAPACITY, VehicleUnit.MILLILITER),
|
||||
Map.entry(VehicleProperty.INFO_EV_BATTERY_CAPACITY, VehicleUnit.WATT_HOUR),
|
||||
Map.entry(VehicleProperty.INFO_EXTERIOR_DIMENSIONS, VehicleUnit.MILLIMETER),
|
||||
Map.entry(VehicleProperty.PERF_ODOMETER, VehicleUnit.KILOMETER),
|
||||
Map.entry(VehicleProperty.PERF_VEHICLE_SPEED, VehicleUnit.METER_PER_SEC),
|
||||
Map.entry(VehicleProperty.PERF_VEHICLE_SPEED_DISPLAY, VehicleUnit.METER_PER_SEC),
|
||||
Map.entry(VehicleProperty.PERF_STEERING_ANGLE, VehicleUnit.DEGREES),
|
||||
Map.entry(VehicleProperty.PERF_REAR_STEERING_ANGLE, VehicleUnit.DEGREES),
|
||||
Map.entry(VehicleProperty.ENGINE_COOLANT_TEMP, VehicleUnit.CELSIUS),
|
||||
Map.entry(VehicleProperty.ENGINE_OIL_TEMP, VehicleUnit.CELSIUS),
|
||||
Map.entry(VehicleProperty.ENGINE_RPM, VehicleUnit.RPM),
|
||||
Map.entry(VehicleProperty.FUEL_LEVEL, VehicleUnit.MILLILITER),
|
||||
Map.entry(VehicleProperty.EV_BATTERY_LEVEL, VehicleUnit.WATT_HOUR),
|
||||
Map.entry(VehicleProperty.EV_CURRENT_BATTERY_CAPACITY, VehicleUnit.WATT_HOUR),
|
||||
Map.entry(VehicleProperty.EV_BATTERY_INSTANTANEOUS_CHARGE_RATE, VehicleUnit.MILLIWATTS),
|
||||
Map.entry(VehicleProperty.RANGE_REMAINING, VehicleUnit.METER),
|
||||
Map.entry(VehicleProperty.EV_BATTERY_AVERAGE_TEMPERATURE, VehicleUnit.CELSIUS),
|
||||
Map.entry(VehicleProperty.TIRE_PRESSURE, VehicleUnit.KILOPASCAL),
|
||||
Map.entry(VehicleProperty.CRITICALLY_LOW_TIRE_PRESSURE, VehicleUnit.KILOPASCAL),
|
||||
Map.entry(VehicleProperty.HVAC_TEMPERATURE_CURRENT, VehicleUnit.CELSIUS),
|
||||
Map.entry(VehicleProperty.HVAC_TEMPERATURE_SET, VehicleUnit.CELSIUS),
|
||||
Map.entry(VehicleProperty.EXTERNAL_CAR_TIME, VehicleUnit.MILLI_SECS),
|
||||
Map.entry(VehicleProperty.ANDROID_EPOCH_TIME, VehicleUnit.MILLI_SECS),
|
||||
Map.entry(VehicleProperty.ENV_OUTSIDE_TEMPERATURE, VehicleUnit.CELSIUS),
|
||||
Map.entry(VehicleProperty.WINDSHIELD_WIPERS_PERIOD, VehicleUnit.MILLI_SECS),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_CURRENT_DRAW_LIMIT, VehicleUnit.AMPERE),
|
||||
Map.entry(VehicleProperty.EV_CHARGE_TIME_REMAINING, VehicleUnit.SECS),
|
||||
Map.entry(VehicleProperty.CRUISE_CONTROL_TARGET_SPEED, VehicleUnit.METER_PER_SEC),
|
||||
Map.entry(VehicleProperty.ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP, VehicleUnit.MILLI_SECS),
|
||||
Map.entry(VehicleProperty.ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE, VehicleUnit.MILLIMETER)
|
||||
);
|
||||
|
||||
}
|
||||
@@ -27,7 +27,7 @@ cc_library {
|
||||
defaults: ["VehicleHalDefaults"],
|
||||
static_libs: ["VehicleHalUtils"],
|
||||
header_libs: [
|
||||
"IVehicleGeneratedHeaders",
|
||||
"IVehicleGeneratedHeaders-V3",
|
||||
],
|
||||
shared_libs: ["libjsoncpp"],
|
||||
}
|
||||
@@ -44,7 +44,7 @@ cc_library {
|
||||
defaults: ["VehicleHalDefaults"],
|
||||
static_libs: ["VehicleHalUtils"],
|
||||
header_libs: [
|
||||
"IVehicleGeneratedHeaders",
|
||||
"IVehicleGeneratedHeaders-V3",
|
||||
"libbinder_headers",
|
||||
],
|
||||
cflags: ["-DENABLE_VEHICLE_HAL_TEST_PROPERTIES"],
|
||||
@@ -60,7 +60,7 @@ cc_library_headers {
|
||||
defaults: ["VehicleHalDefaults"],
|
||||
static_libs: ["VehicleHalUtils"],
|
||||
header_libs: [
|
||||
"IVehicleGeneratedHeaders",
|
||||
"IVehicleGeneratedHeaders-V3",
|
||||
],
|
||||
shared_libs: ["libjsoncpp"],
|
||||
}
|
||||
|
||||
@@ -104,6 +104,8 @@ const std::unordered_map<std::string, int> CONSTANTS_BY_NAME = {
|
||||
{"HVAC_ALL", HVAC_ALL},
|
||||
{"HVAC_LEFT", HVAC_LEFT},
|
||||
{"HVAC_RIGHT", HVAC_RIGHT},
|
||||
{"HVAC_FRONT_ROW", HVAC_FRONT_ROW},
|
||||
{"HVAC_REAR_ROW", HVAC_REAR_ROW},
|
||||
{"WINDOW_1_LEFT", WINDOW_1_LEFT},
|
||||
{"WINDOW_1_RIGHT", WINDOW_1_RIGHT},
|
||||
{"WINDOW_2_LEFT", WINDOW_2_LEFT},
|
||||
|
||||
@@ -2033,19 +2033,10 @@
|
||||
},
|
||||
"areas": [
|
||||
{
|
||||
"areaId": "Constants::SEAT_1_LEFT"
|
||||
"areaId": "Constants::HVAC_FRONT_ROW"
|
||||
},
|
||||
{
|
||||
"areaId": "Constants::SEAT_1_RIGHT"
|
||||
},
|
||||
{
|
||||
"areaId": "Constants::SEAT_2_LEFT"
|
||||
},
|
||||
{
|
||||
"areaId": "Constants::SEAT_2_RIGHT"
|
||||
},
|
||||
{
|
||||
"areaId": "Constants::SEAT_2_CENTER"
|
||||
"areaId": "Constants::HVAC_REAR_ROW"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -31,7 +31,7 @@ cc_test {
|
||||
"libgtest",
|
||||
],
|
||||
header_libs: [
|
||||
"IVehicleGeneratedHeaders",
|
||||
"IVehicleGeneratedHeaders-V3",
|
||||
],
|
||||
shared_libs: [
|
||||
"libjsoncpp",
|
||||
@@ -57,7 +57,7 @@ cc_test {
|
||||
"-DENABLE_VEHICLE_HAL_TEST_PROPERTIES",
|
||||
],
|
||||
header_libs: [
|
||||
"IVehicleGeneratedHeaders",
|
||||
"IVehicleGeneratedHeaders-V3",
|
||||
],
|
||||
shared_libs: [
|
||||
"libjsoncpp",
|
||||
|
||||
@@ -1875,7 +1875,7 @@ std::string FakeVehicleHardware::dumpListProperties() {
|
||||
for (const auto& areaConfig : config.areaConfigs) {
|
||||
areaIds.push_back(areaConfig.areaId);
|
||||
}
|
||||
ss << rowNumber++ << ": " << propIdToString(config.prop) << ", propID: " << std::showbase
|
||||
ss << rowNumber++ << ": " << PROP_ID_TO_CSTR(config.prop) << ", propID: " << std::showbase
|
||||
<< std::hex << config.prop << std::noshowbase << std::dec
|
||||
<< ", areaIDs: " << vecToStringOfHexValues(areaIds) << std::endl;
|
||||
}
|
||||
|
||||
@@ -97,6 +97,8 @@ constexpr int ALL_WHEELS =
|
||||
constexpr int HVAC_LEFT = SEAT_1_LEFT | SEAT_2_LEFT | SEAT_2_CENTER;
|
||||
constexpr int HVAC_RIGHT = SEAT_1_RIGHT | SEAT_2_RIGHT;
|
||||
constexpr int HVAC_ALL = HVAC_LEFT | HVAC_RIGHT;
|
||||
constexpr int HVAC_FRONT_ROW = SEAT_1_LEFT | SEAT_1_RIGHT;
|
||||
constexpr int HVAC_REAR_ROW = SEAT_2_LEFT | SEAT_2_CENTER | SEAT_2_RIGHT;
|
||||
|
||||
} // namespace vehicle
|
||||
} // namespace automotive
|
||||
|
||||
@@ -153,10 +153,9 @@ VhalResult<void> VehiclePropertyStore::writeValue(VehiclePropValuePool::Recyclab
|
||||
propValue->status = oldStatus;
|
||||
}
|
||||
|
||||
// areaId and propId must be the same between valueToUpdate and propValue.
|
||||
valueUpdated = (valueToUpdate->value != propValue->value ||
|
||||
valueToUpdate->status != propValue->status ||
|
||||
valueToUpdate->prop != propValue->prop ||
|
||||
valueToUpdate->areaId != propValue->areaId);
|
||||
valueToUpdate->status != propValue->status);
|
||||
} else if (!updateStatus) {
|
||||
propValue->status = VehiclePropertyStatus::AVAILABLE;
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ cc_library {
|
||||
],
|
||||
header_libs: [
|
||||
"IVehicleHardware",
|
||||
"IVehicleGeneratedHeaders",
|
||||
"IVehicleGeneratedHeaders-V3",
|
||||
],
|
||||
shared_libs: [
|
||||
"libbinder_ndk",
|
||||
|
||||
@@ -42,10 +42,11 @@ namespace hardware {
|
||||
namespace automotive {
|
||||
namespace vehicle {
|
||||
|
||||
class DefaultVehicleHal final : public aidl::android::hardware::automotive::vehicle::BnVehicle {
|
||||
namespace aidlvhal = ::aidl::android::hardware::automotive::vehicle;
|
||||
|
||||
class DefaultVehicleHal final : public aidlvhal::BnVehicle {
|
||||
public:
|
||||
using CallbackType =
|
||||
std::shared_ptr<aidl::android::hardware::automotive::vehicle::IVehicleCallback>;
|
||||
using CallbackType = std::shared_ptr<aidlvhal::IVehicleCallback>;
|
||||
|
||||
explicit DefaultVehicleHal(std::unique_ptr<IVehicleHardware> hardware);
|
||||
|
||||
@@ -54,26 +55,16 @@ class DefaultVehicleHal final : public aidl::android::hardware::automotive::vehi
|
||||
|
||||
~DefaultVehicleHal();
|
||||
|
||||
ndk::ScopedAStatus getAllPropConfigs(
|
||||
aidl::android::hardware::automotive::vehicle::VehiclePropConfigs* returnConfigs)
|
||||
override;
|
||||
ndk::ScopedAStatus getValues(
|
||||
const CallbackType& callback,
|
||||
const aidl::android::hardware::automotive::vehicle::GetValueRequests& requests)
|
||||
override;
|
||||
ndk::ScopedAStatus setValues(
|
||||
const CallbackType& callback,
|
||||
const aidl::android::hardware::automotive::vehicle::SetValueRequests& requests)
|
||||
override;
|
||||
ndk::ScopedAStatus getPropConfigs(
|
||||
const std::vector<int32_t>& props,
|
||||
aidl::android::hardware::automotive::vehicle::VehiclePropConfigs* returnConfigs)
|
||||
override;
|
||||
ndk::ScopedAStatus subscribe(
|
||||
const CallbackType& callback,
|
||||
const std::vector<aidl::android::hardware::automotive::vehicle::SubscribeOptions>&
|
||||
options,
|
||||
int32_t maxSharedMemoryFileCount) override;
|
||||
ndk::ScopedAStatus getAllPropConfigs(aidlvhal::VehiclePropConfigs* returnConfigs) override;
|
||||
ndk::ScopedAStatus getValues(const CallbackType& callback,
|
||||
const aidlvhal::GetValueRequests& requests) override;
|
||||
ndk::ScopedAStatus setValues(const CallbackType& callback,
|
||||
const aidlvhal::SetValueRequests& requests) override;
|
||||
ndk::ScopedAStatus getPropConfigs(const std::vector<int32_t>& props,
|
||||
aidlvhal::VehiclePropConfigs* returnConfigs) override;
|
||||
ndk::ScopedAStatus subscribe(const CallbackType& callback,
|
||||
const std::vector<aidlvhal::SubscribeOptions>& options,
|
||||
int32_t maxSharedMemoryFileCount) override;
|
||||
ndk::ScopedAStatus unsubscribe(const CallbackType& callback,
|
||||
const std::vector<int32_t>& propIds) override;
|
||||
ndk::ScopedAStatus returnSharedMemory(const CallbackType& callback,
|
||||
@@ -86,12 +77,8 @@ class DefaultVehicleHal final : public aidl::android::hardware::automotive::vehi
|
||||
// friend class for unit testing.
|
||||
friend class DefaultVehicleHalTest;
|
||||
|
||||
using GetValuesClient =
|
||||
GetSetValuesClient<aidl::android::hardware::automotive::vehicle::GetValueResult,
|
||||
aidl::android::hardware::automotive::vehicle::GetValueResults>;
|
||||
using SetValuesClient =
|
||||
GetSetValuesClient<aidl::android::hardware::automotive::vehicle::SetValueResult,
|
||||
aidl::android::hardware::automotive::vehicle::SetValueResults>;
|
||||
using GetValuesClient = GetSetValuesClient<aidlvhal::GetValueResult, aidlvhal::GetValueResults>;
|
||||
using SetValuesClient = GetSetValuesClient<aidlvhal::SetValueResult, aidlvhal::SetValueResults>;
|
||||
|
||||
// A wrapper for binder lifecycle operations to enable stubbing for test.
|
||||
class BinderLifecycleInterface {
|
||||
@@ -137,28 +124,27 @@ class DefaultVehicleHal final : public aidl::android::hardware::automotive::vehi
|
||||
bool mShouldRefreshPropertyConfigs;
|
||||
std::unique_ptr<IVehicleHardware> mVehicleHardware;
|
||||
|
||||
// mConfigsByPropId and mConfigFile are only modified during initialization, so no need to
|
||||
// lock guard them.
|
||||
std::unordered_map<int32_t, aidl::android::hardware::automotive::vehicle::VehiclePropConfig>
|
||||
mConfigsByPropId;
|
||||
// Only modified in constructor, so thread-safe.
|
||||
std::unique_ptr<ndk::ScopedFileDescriptor> mConfigFile;
|
||||
// PendingRequestPool is thread-safe.
|
||||
std::shared_ptr<PendingRequestPool> mPendingRequestPool;
|
||||
// SubscriptionManager is thread-safe.
|
||||
std::shared_ptr<SubscriptionManager> mSubscriptionManager;
|
||||
// ConcurrentQueue is thread-safe.
|
||||
std::shared_ptr<ConcurrentQueue<aidl::android::hardware::automotive::vehicle::VehiclePropValue>>
|
||||
mBatchedEventQueue;
|
||||
std::shared_ptr<ConcurrentQueue<aidlvhal::VehiclePropValue>> mBatchedEventQueue;
|
||||
// BatchingConsumer is thread-safe.
|
||||
std::shared_ptr<
|
||||
BatchingConsumer<aidl::android::hardware::automotive::vehicle::VehiclePropValue>>
|
||||
std::shared_ptr<BatchingConsumer<aidlvhal::VehiclePropValue>>
|
||||
mPropertyChangeEventsBatchingConsumer;
|
||||
// Only set once during initialization.
|
||||
std::chrono::nanoseconds mEventBatchingWindow;
|
||||
// Only used for testing.
|
||||
int32_t mTestInterfaceVersion = 0;
|
||||
|
||||
// mConfigsByPropId and mConfigFile is lazy initialized.
|
||||
mutable std::mutex mConfigInitLock;
|
||||
mutable bool mConfigInit GUARDED_BY(mConfigInitLock) = false;
|
||||
mutable std::unordered_map<int32_t, aidlvhal::VehiclePropConfig> mConfigsByPropId
|
||||
GUARDED_BY(mConfigInitLock);
|
||||
mutable std::unique_ptr<ndk::ScopedFileDescriptor> mConfigFile GUARDED_BY(mConfigInitLock);
|
||||
|
||||
std::mutex mLock;
|
||||
std::unordered_map<const AIBinder*, std::unique_ptr<OnBinderDiedContext>> mOnBinderDiedContexts
|
||||
GUARDED_BY(mLock);
|
||||
@@ -182,32 +168,23 @@ class DefaultVehicleHal final : public aidl::android::hardware::automotive::vehi
|
||||
// A thread to handle onBinderDied or onBinderUnlinked event.
|
||||
std::thread mOnBinderDiedUnlinkedHandlerThread;
|
||||
|
||||
android::base::Result<void> checkProperty(
|
||||
const aidl::android::hardware::automotive::vehicle::VehiclePropValue& propValue);
|
||||
android::base::Result<void> checkProperty(const aidlvhal::VehiclePropValue& propValue);
|
||||
|
||||
android::base::Result<std::vector<int64_t>> checkDuplicateRequests(
|
||||
const std::vector<aidl::android::hardware::automotive::vehicle::GetValueRequest>&
|
||||
requests);
|
||||
const std::vector<aidlvhal::GetValueRequest>& requests);
|
||||
|
||||
android::base::Result<std::vector<int64_t>> checkDuplicateRequests(
|
||||
const std::vector<aidl::android::hardware::automotive::vehicle::SetValueRequest>&
|
||||
requests);
|
||||
VhalResult<void> checkSubscribeOptions(
|
||||
const std::vector<aidl::android::hardware::automotive::vehicle::SubscribeOptions>&
|
||||
options);
|
||||
const std::vector<aidlvhal::SetValueRequest>& requests);
|
||||
VhalResult<void> checkSubscribeOptions(const std::vector<aidlvhal::SubscribeOptions>& options);
|
||||
|
||||
VhalResult<void> checkPermissionHelper(
|
||||
const aidl::android::hardware::automotive::vehicle::VehiclePropValue& value,
|
||||
aidl::android::hardware::automotive::vehicle::VehiclePropertyAccess accessToTest) const;
|
||||
VhalResult<void> checkPermissionHelper(const aidlvhal::VehiclePropValue& value,
|
||||
aidlvhal::VehiclePropertyAccess accessToTest) const;
|
||||
|
||||
VhalResult<void> checkReadPermission(
|
||||
const aidl::android::hardware::automotive::vehicle::VehiclePropValue& value) const;
|
||||
VhalResult<void> checkReadPermission(const aidlvhal::VehiclePropValue& value) const;
|
||||
|
||||
VhalResult<void> checkWritePermission(
|
||||
const aidl::android::hardware::automotive::vehicle::VehiclePropValue& value) const;
|
||||
VhalResult<void> checkWritePermission(const aidlvhal::VehiclePropValue& value) const;
|
||||
|
||||
android::base::Result<const aidl::android::hardware::automotive::vehicle::VehiclePropConfig*>
|
||||
getConfig(int32_t propId) const;
|
||||
android::base::Result<const aidlvhal::VehiclePropConfig*> getConfig(int32_t propId) const;
|
||||
|
||||
void onBinderDiedWithContext(const AIBinder* clientId);
|
||||
|
||||
@@ -219,7 +196,7 @@ class DefaultVehicleHal final : public aidl::android::hardware::automotive::vehi
|
||||
|
||||
bool checkDumpPermission();
|
||||
|
||||
bool getAllPropConfigsFromHardware();
|
||||
bool getAllPropConfigsFromHardwareLocked() const REQUIRES(mConfigInitLock);
|
||||
|
||||
// The looping handler function to process all onBinderDied or onBinderUnlinked events in
|
||||
// mBinderEvents.
|
||||
@@ -228,19 +205,19 @@ class DefaultVehicleHal final : public aidl::android::hardware::automotive::vehi
|
||||
size_t countSubscribeClients();
|
||||
|
||||
// Handles the property change events in batch.
|
||||
void handleBatchedPropertyEvents(
|
||||
std::vector<aidl::android::hardware::automotive::vehicle::VehiclePropValue>&&
|
||||
batchedEvents);
|
||||
void handleBatchedPropertyEvents(std::vector<aidlvhal::VehiclePropValue>&& batchedEvents);
|
||||
|
||||
int32_t getVhalInterfaceVersion();
|
||||
int32_t getVhalInterfaceVersion() const;
|
||||
|
||||
// Gets mConfigsByPropId, lazy init it if necessary.
|
||||
const std::unordered_map<int32_t, aidlvhal::VehiclePropConfig>& getConfigsByPropId() const;
|
||||
// Gets mConfigFile, lazy init it if necessary.
|
||||
const ndk::ScopedFileDescriptor* getConfigFile() const;
|
||||
|
||||
// Puts the property change events into a queue so that they can handled in batch.
|
||||
static void batchPropertyChangeEvent(
|
||||
const std::weak_ptr<ConcurrentQueue<
|
||||
aidl::android::hardware::automotive::vehicle::VehiclePropValue>>&
|
||||
batchedEventQueue,
|
||||
std::vector<aidl::android::hardware::automotive::vehicle::VehiclePropValue>&&
|
||||
updatedValues);
|
||||
const std::weak_ptr<ConcurrentQueue<aidlvhal::VehiclePropValue>>& batchedEventQueue,
|
||||
std::vector<aidlvhal::VehiclePropValue>&& updatedValues);
|
||||
|
||||
// Gets or creates a {@code T} object for the client to or from {@code clients}.
|
||||
template <class T>
|
||||
@@ -248,10 +225,8 @@ class DefaultVehicleHal final : public aidl::android::hardware::automotive::vehi
|
||||
std::unordered_map<const AIBinder*, std::shared_ptr<T>>* clients,
|
||||
const CallbackType& callback, std::shared_ptr<PendingRequestPool> pendingRequestPool);
|
||||
|
||||
static void onPropertyChangeEvent(
|
||||
const std::weak_ptr<SubscriptionManager>& subscriptionManager,
|
||||
std::vector<aidl::android::hardware::automotive::vehicle::VehiclePropValue>&&
|
||||
updatedValues);
|
||||
static void onPropertyChangeEvent(const std::weak_ptr<SubscriptionManager>& subscriptionManager,
|
||||
std::vector<aidlvhal::VehiclePropValue>&& updatedValues);
|
||||
|
||||
static void onPropertySetErrorEvent(
|
||||
const std::weak_ptr<SubscriptionManager>& subscriptionManager,
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <VehicleUtils.h>
|
||||
#include <VersionForVehicleProperty.h>
|
||||
|
||||
#include <android-base/logging.h>
|
||||
#include <android-base/result.h>
|
||||
#include <android-base/stringprintf.h>
|
||||
#include <android/binder_ibinder.h>
|
||||
@@ -71,6 +72,7 @@ using ::android::base::StringPrintf;
|
||||
|
||||
using ::ndk::ScopedAIBinder_DeathRecipient;
|
||||
using ::ndk::ScopedAStatus;
|
||||
using ::ndk::ScopedFileDescriptor;
|
||||
|
||||
std::string toString(const std::unordered_set<int64_t>& values) {
|
||||
std::string str = "";
|
||||
@@ -103,10 +105,7 @@ DefaultVehicleHal::DefaultVehicleHal(std::unique_ptr<IVehicleHardware> vehicleHa
|
||||
: mVehicleHardware(std::move(vehicleHardware)),
|
||||
mPendingRequestPool(std::make_shared<PendingRequestPool>(TIMEOUT_IN_NANO)),
|
||||
mTestInterfaceVersion(testInterfaceVersion) {
|
||||
if (!getAllPropConfigsFromHardware()) {
|
||||
return;
|
||||
}
|
||||
|
||||
ALOGD("DefaultVehicleHal init");
|
||||
IVehicleHardware* vehicleHardwarePtr = mVehicleHardware.get();
|
||||
mSubscriptionManager = std::make_shared<SubscriptionManager>(vehicleHardwarePtr);
|
||||
mEventBatchingWindow = mVehicleHardware->getPropertyOnChangeEventBatchingWindow();
|
||||
@@ -319,16 +318,18 @@ void DefaultVehicleHal::setTimeout(int64_t timeoutInNano) {
|
||||
mPendingRequestPool = std::make_unique<PendingRequestPool>(timeoutInNano);
|
||||
}
|
||||
|
||||
int32_t DefaultVehicleHal::getVhalInterfaceVersion() {
|
||||
int32_t DefaultVehicleHal::getVhalInterfaceVersion() const {
|
||||
if (mTestInterfaceVersion != 0) {
|
||||
return mTestInterfaceVersion;
|
||||
}
|
||||
int32_t myVersion = 0;
|
||||
getInterfaceVersion(&myVersion);
|
||||
// getInterfaceVersion is in-reality a const method.
|
||||
const_cast<DefaultVehicleHal*>(this)->getInterfaceVersion(&myVersion);
|
||||
return myVersion;
|
||||
}
|
||||
|
||||
bool DefaultVehicleHal::getAllPropConfigsFromHardware() {
|
||||
bool DefaultVehicleHal::getAllPropConfigsFromHardwareLocked() const {
|
||||
ALOGD("Get all property configs from hardware");
|
||||
auto configs = mVehicleHardware->getAllPropertyConfigs();
|
||||
std::vector<VehiclePropConfig> filteredConfigs;
|
||||
int32_t myVersion = getVhalInterfaceVersion();
|
||||
@@ -373,22 +374,46 @@ bool DefaultVehicleHal::getAllPropConfigsFromHardware() {
|
||||
return true;
|
||||
}
|
||||
|
||||
const ScopedFileDescriptor* DefaultVehicleHal::getConfigFile() const {
|
||||
std::scoped_lock lockGuard(mConfigInitLock);
|
||||
if (!mConfigInit) {
|
||||
CHECK(getAllPropConfigsFromHardwareLocked())
|
||||
<< "Failed to get property configs from hardware";
|
||||
mConfigInit = true;
|
||||
}
|
||||
return mConfigFile.get();
|
||||
}
|
||||
|
||||
const std::unordered_map<int32_t, VehiclePropConfig>& DefaultVehicleHal::getConfigsByPropId()
|
||||
const {
|
||||
std::scoped_lock lockGuard(mConfigInitLock);
|
||||
if (!mConfigInit) {
|
||||
CHECK(getAllPropConfigsFromHardwareLocked())
|
||||
<< "Failed to get property configs from hardware";
|
||||
mConfigInit = true;
|
||||
}
|
||||
return mConfigsByPropId;
|
||||
}
|
||||
|
||||
ScopedAStatus DefaultVehicleHal::getAllPropConfigs(VehiclePropConfigs* output) {
|
||||
if (mConfigFile != nullptr) {
|
||||
const ScopedFileDescriptor* configFile = getConfigFile();
|
||||
const auto& configsByPropId = getConfigsByPropId();
|
||||
if (configFile != nullptr) {
|
||||
output->payloads.clear();
|
||||
output->sharedMemoryFd.set(dup(mConfigFile->get()));
|
||||
output->sharedMemoryFd.set(dup(configFile->get()));
|
||||
return ScopedAStatus::ok();
|
||||
}
|
||||
output->payloads.reserve(mConfigsByPropId.size());
|
||||
for (const auto& [_, config] : mConfigsByPropId) {
|
||||
output->payloads.reserve(configsByPropId.size());
|
||||
for (const auto& [_, config] : configsByPropId) {
|
||||
output->payloads.push_back(config);
|
||||
}
|
||||
return ScopedAStatus::ok();
|
||||
}
|
||||
|
||||
Result<const VehiclePropConfig*> DefaultVehicleHal::getConfig(int32_t propId) const {
|
||||
auto it = mConfigsByPropId.find(propId);
|
||||
if (it == mConfigsByPropId.end()) {
|
||||
const auto& configsByPropId = getConfigsByPropId();
|
||||
auto it = configsByPropId.find(propId);
|
||||
if (it == configsByPropId.end()) {
|
||||
return Error() << "no config for property, ID: " << propId;
|
||||
}
|
||||
return &(it->second);
|
||||
@@ -634,9 +659,11 @@ ScopedAStatus DefaultVehicleHal::setValues(const CallbackType& callback,
|
||||
ScopedAStatus DefaultVehicleHal::getPropConfigs(const std::vector<int32_t>& props,
|
||||
VehiclePropConfigs* output) {
|
||||
std::vector<VehiclePropConfig> configs;
|
||||
const auto& configsByPropId = getConfigsByPropId();
|
||||
for (int32_t prop : props) {
|
||||
if (mConfigsByPropId.find(prop) != mConfigsByPropId.end()) {
|
||||
configs.push_back(mConfigsByPropId[prop]);
|
||||
auto it = configsByPropId.find(prop);
|
||||
if (it != configsByPropId.end()) {
|
||||
configs.push_back(it->second);
|
||||
} else {
|
||||
return ScopedAStatus::fromServiceSpecificErrorWithMessage(
|
||||
toInt(StatusCode::INVALID_ARG),
|
||||
@@ -665,13 +692,15 @@ bool areaConfigsHaveRequiredAccess(const std::vector<VehicleAreaConfig>& areaCon
|
||||
|
||||
VhalResult<void> DefaultVehicleHal::checkSubscribeOptions(
|
||||
const std::vector<SubscribeOptions>& options) {
|
||||
const auto& configsByPropId = getConfigsByPropId();
|
||||
for (const auto& option : options) {
|
||||
int32_t propId = option.propId;
|
||||
if (mConfigsByPropId.find(propId) == mConfigsByPropId.end()) {
|
||||
auto it = configsByPropId.find(propId);
|
||||
if (it == configsByPropId.end()) {
|
||||
return StatusError(StatusCode::INVALID_ARG)
|
||||
<< StringPrintf("no config for property, ID: %" PRId32, propId);
|
||||
}
|
||||
const VehiclePropConfig& config = mConfigsByPropId[propId];
|
||||
const VehiclePropConfig& config = it->second;
|
||||
std::vector<VehicleAreaConfig> areaConfigs;
|
||||
if (option.areaIds.empty()) {
|
||||
areaConfigs = config.areaConfigs;
|
||||
@@ -744,10 +773,11 @@ ScopedAStatus DefaultVehicleHal::subscribe(const CallbackType& callback,
|
||||
}
|
||||
std::vector<SubscribeOptions> onChangeSubscriptions;
|
||||
std::vector<SubscribeOptions> continuousSubscriptions;
|
||||
const auto& configsByPropId = getConfigsByPropId();
|
||||
for (const auto& option : options) {
|
||||
int32_t propId = option.propId;
|
||||
// We have already validate config exists.
|
||||
const VehiclePropConfig& config = mConfigsByPropId[propId];
|
||||
const VehiclePropConfig& config = configsByPropId.at(propId);
|
||||
|
||||
SubscribeOptions optionCopy = option;
|
||||
// If areaIds is empty, subscribe to all areas.
|
||||
@@ -871,7 +901,7 @@ VhalResult<void> DefaultVehicleHal::checkPermissionHelper(
|
||||
(areaConfig == nullptr || !hasRequiredAccess(areaConfig->access, accessToTest))) {
|
||||
return StatusError(StatusCode::ACCESS_DENIED)
|
||||
<< StringPrintf("Property %" PRId32 " does not have the following access: %" PRId32,
|
||||
propId, accessToTest);
|
||||
propId, static_cast<int32_t>(accessToTest));
|
||||
}
|
||||
return {};
|
||||
}
|
||||
@@ -936,17 +966,19 @@ binder_status_t DefaultVehicleHal::dump(int fd, const char** args, uint32_t numA
|
||||
}
|
||||
DumpResult result = mVehicleHardware->dump(options);
|
||||
if (result.refreshPropertyConfigs) {
|
||||
getAllPropConfigsFromHardware();
|
||||
std::scoped_lock lockGuard(mConfigInitLock);
|
||||
getAllPropConfigsFromHardwareLocked();
|
||||
}
|
||||
dprintf(fd, "%s", (result.buffer + "\n").c_str());
|
||||
if (!result.callerShouldDumpState) {
|
||||
return STATUS_OK;
|
||||
}
|
||||
dprintf(fd, "Vehicle HAL State: \n");
|
||||
const auto& configsByPropId = getConfigsByPropId();
|
||||
{
|
||||
std::scoped_lock<std::mutex> lockGuard(mLock);
|
||||
dprintf(fd, "Interface version: %" PRId32 "\n", getVhalInterfaceVersion());
|
||||
dprintf(fd, "Containing %zu property configs\n", mConfigsByPropId.size());
|
||||
dprintf(fd, "Containing %zu property configs\n", configsByPropId.size());
|
||||
dprintf(fd, "Currently have %zu getValues clients\n", mGetValuesClients.size());
|
||||
dprintf(fd, "Currently have %zu setValues clients\n", mSetValuesClients.size());
|
||||
dprintf(fd, "Currently have %zu subscribe clients\n", countSubscribeClients());
|
||||
|
||||
@@ -40,6 +40,7 @@ using ::android::base::Result;
|
||||
using ::android::base::StringPrintf;
|
||||
using ::ndk::ScopedAStatus;
|
||||
|
||||
constexpr float EPSILON = 0.0000001;
|
||||
constexpr float ONE_SECOND_IN_NANOS = 1'000'000'000.;
|
||||
|
||||
SubscribeOptions newSubscribeOptions(int32_t propId, int32_t areaId, float sampleRateHz,
|
||||
@@ -88,7 +89,7 @@ bool SubscriptionManager::checkResolution(float resolution) {
|
||||
}
|
||||
|
||||
float log = std::log10(resolution);
|
||||
return log == (int)log;
|
||||
return std::abs(log - std::round(log)) < EPSILON;
|
||||
}
|
||||
|
||||
void ContSubConfigs::refreshCombinedConfig() {
|
||||
@@ -433,6 +434,9 @@ SubscriptionManager::getSubscribedClients(std::vector<VehiclePropValue>&& update
|
||||
}
|
||||
|
||||
for (const auto& [client, callback] : mClientsByPropIdAreaId[propIdAreaId]) {
|
||||
// if propId is on-change, propIdAreaId will not exist in mContSubConfigsByPropIdArea,
|
||||
// returning an empty ContSubConfigs value for subConfigs i.e. with resolution = 0 and
|
||||
// enableVur = false.
|
||||
auto& subConfigs = mContSubConfigsByPropIdArea[propIdAreaId];
|
||||
// Clients must be sent different VehiclePropValues with different levels of granularity
|
||||
// as requested by the client using resolution.
|
||||
|
||||
@@ -521,6 +521,8 @@ TEST_F(SubscriptionManagerTest, testCheckSampleRateHzInvalidZero) {
|
||||
}
|
||||
|
||||
TEST_F(SubscriptionManagerTest, testCheckResolutionValid) {
|
||||
ASSERT_TRUE(SubscriptionManager::checkResolution(0.0));
|
||||
ASSERT_TRUE(SubscriptionManager::checkResolution(0.1));
|
||||
ASSERT_TRUE(SubscriptionManager::checkResolution(1.0));
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ aidl_interface {
|
||||
// This HAL was originally part of android.hardware.automotive.vehicle
|
||||
"android/hardware/automotive/vehicle/*.aidl",
|
||||
],
|
||||
frozen: true,
|
||||
frozen: false,
|
||||
stability: "vintf",
|
||||
backend: {
|
||||
cpp: {
|
||||
|
||||
@@ -262,6 +262,7 @@ enum VehicleProperty {
|
||||
CLUSTER_HEARTBEAT = (((0x0F4B + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.MIXED) /* 299896651 */,
|
||||
VEHICLE_DRIVING_AUTOMATION_CURRENT_LEVEL = (((0x0F4C + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289410892 */,
|
||||
CAMERA_SERVICE_CURRENT_STATE = (((0x0F4D + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 289476429 */,
|
||||
PER_DISPLAY_MAX_BRIGHTNESS = (((0x0F4E + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32_VEC) /* 289476430 */,
|
||||
AUTOMATIC_EMERGENCY_BRAKING_ENABLED = (((0x1000 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313920 */,
|
||||
AUTOMATIC_EMERGENCY_BRAKING_STATE = (((0x1001 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.INT32) /* 289411073 */,
|
||||
FORWARD_COLLISION_WARNING_ENABLED = (((0x1002 + android.hardware.automotive.vehicle.VehiclePropertyGroup.SYSTEM) + android.hardware.automotive.vehicle.VehicleArea.GLOBAL) + android.hardware.automotive.vehicle.VehiclePropertyType.BOOLEAN) /* 287313922 */,
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the state of Automatic Emergency Braking (AEB).
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the state of Blind Spot Warning State (BSW).
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the state of Cross Traffic Monitoring Warning system.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -20,6 +20,9 @@ package android.hardware.automotive.vehicle;
|
||||
* Used to enumerate the Cruise Control (CC) commands.
|
||||
*
|
||||
* This enum could be extended in future releases to include additional feature states.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -20,6 +20,9 @@ package android.hardware.automotive.vehicle;
|
||||
* Used to enumerate the current state of Cruise Control (CC).
|
||||
*
|
||||
* This enum could be extended in future releases to include additional feature states.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -20,6 +20,9 @@ package android.hardware.automotive.vehicle;
|
||||
* Used to enumerate the current type of Cruise Control (CC).
|
||||
*
|
||||
* This enum could be extended in future releases to include additional feature states.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -20,6 +20,9 @@ package android.hardware.automotive.vehicle;
|
||||
* Used to enumerate the current state of driver distraction monitoring.
|
||||
*
|
||||
* This enum could be extended in future releases to include additional feature states.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the current warning state of the driver distraction monitoring system.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -20,6 +20,9 @@ package android.hardware.automotive.vehicle;
|
||||
* Used to enumerate the current state of driver drowsiness and attention monitoring.
|
||||
*
|
||||
* This enum could be extended in future releases to include additional feature states.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -19,6 +19,9 @@ package android.hardware.automotive.vehicle;
|
||||
/**
|
||||
* Used to enumerate the current warning state of the driver drowsiness and attention monitoring
|
||||
* system.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the state of Electronic Stability Control (ESC).
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used by ELECTRONIC_TOLL_COLLECTION_CARD_STATUS.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used by ELECTRONIC_TOLL_COLLECTION_CARD_TYPE.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -20,6 +20,9 @@ package android.hardware.automotive.vehicle;
|
||||
* Used by emergency lane keep assist to enumerate state.
|
||||
*
|
||||
* This enum could be extended in future releases to include additional feature states.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -19,6 +19,9 @@ package android.hardware.automotive.vehicle;
|
||||
/**
|
||||
* Used to enumerate the possible error states. For version 2 of this interface, ErrorState is used
|
||||
* by ADAS STATE properties, but its use may be expanded in future releases.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used by EV charging properties to enumerate the current state of the battery charging.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -28,16 +28,65 @@ enum EvConnectorType {
|
||||
* type.
|
||||
*/
|
||||
UNKNOWN = 0,
|
||||
/**
|
||||
* IEC 62196 Type 1 connector
|
||||
*
|
||||
* Also known as the "Yazaki connector" or "J1772 connector".
|
||||
*/
|
||||
IEC_TYPE_1_AC = 1,
|
||||
/**
|
||||
* IEC 62196 Type 2 connector
|
||||
*
|
||||
* Also known as the "Mennekes connector".
|
||||
*/
|
||||
IEC_TYPE_2_AC = 2,
|
||||
/**
|
||||
* IEC 62196 Type 3 connector
|
||||
*
|
||||
* Also known as the "Scame connector".
|
||||
*/
|
||||
IEC_TYPE_3_AC = 3,
|
||||
/**
|
||||
* IEC 62196 Type AA connector
|
||||
*
|
||||
* Also known as the "Chademo connector".
|
||||
*/
|
||||
IEC_TYPE_4_DC = 4,
|
||||
/**
|
||||
* IEC 62196 Type EE connector
|
||||
*
|
||||
* Also known as the “CCS1 connector” or “Combo1 connector".
|
||||
*/
|
||||
IEC_TYPE_1_CCS_DC = 5,
|
||||
/**
|
||||
* IEC 62196 Type EE connector
|
||||
*
|
||||
* Also known as the “CCS2 connector” or “Combo2 connector”.
|
||||
*/
|
||||
IEC_TYPE_2_CCS_DC = 6,
|
||||
/**
|
||||
* DO NOT USE
|
||||
*
|
||||
* Connector of Tesla Roadster.
|
||||
*/
|
||||
TESLA_ROADSTER = 7,
|
||||
/**
|
||||
* DO NOT USE
|
||||
* Use TESLA_SUPERCHARGER instead.
|
||||
*
|
||||
* High Power Wall Charger of Tesla.
|
||||
*/
|
||||
TESLA_HPWC = 8,
|
||||
/**
|
||||
* SAE J3400 connector
|
||||
*
|
||||
* Also known as the "North American Charging Standard" (NACS)
|
||||
* or the "Tesla charging standard" connector.
|
||||
*/
|
||||
TESLA_SUPERCHARGER = 9,
|
||||
/** GBT_AC Fast Charging Standard */
|
||||
GBT_AC = 10,
|
||||
/** GBT_DC Fast Charging Standard */
|
||||
GBT_DC = 11,
|
||||
/**
|
||||
* Connector type to use when no other types apply. Before using this
|
||||
|
||||
@@ -19,6 +19,9 @@ package android.hardware.automotive.vehicle;
|
||||
/**
|
||||
* Used by the regenerative braking property to enumerate the current state
|
||||
* of the regenerative braking.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -20,6 +20,9 @@ package android.hardware.automotive.vehicle;
|
||||
* Used by EV_STOPPING_MODE to enumerate the current state of the stopping mode.
|
||||
*
|
||||
* This enum may be extended to include more states in the future.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the state of Forward Collision Warning State (FCW).
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the current driver state of Hands On Detection (HOD).
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the current warning state of Hands On Detection (HOD).
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the various impact sensor locations on the car.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used by Lane Centering Assist (LCA) to enumerate commands.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the state of Lane Centering Assist (LCA).
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the state of Lane Departure Warning (LDW).
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the state of Lane Keep Assist (LKA).
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the state of Low Speed Automatic Emergency Braking.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the state of Low Speed Collision Warning State.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the current state of VehicleProperty#TRAILER_PRESENT.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the various airbag locations per seat.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -19,6 +19,9 @@ package android.hardware.automotive.vehicle;
|
||||
/**
|
||||
* Used to enumerate the various level of automation that can be expressed by the
|
||||
* VEHICLE_DRIVING_AUTOMATION_CURRENT_LEVEL property.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Various gears which can be selected by user and chosen in system.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Bit flags for fan direction
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -16,6 +16,12 @@
|
||||
|
||||
package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the different states the ignition of the vehicle can be in.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
enum VehicleIgnitionState {
|
||||
@@ -28,6 +34,10 @@ enum VehicleIgnitionState {
|
||||
* Steering wheel is not locked, engine and all accessories are OFF. If
|
||||
* car can be in LOCK and OFF state at the same time than HAL must report
|
||||
* LOCK state.
|
||||
*
|
||||
* If IGNITION_STATE is implemented on a BEV, then this state must
|
||||
* communicate that the BEV's High Voltage battery is disconnected and thus
|
||||
* the vehicle is OFF.
|
||||
*/
|
||||
OFF,
|
||||
/**
|
||||
@@ -38,6 +48,10 @@ enum VehicleIgnitionState {
|
||||
/**
|
||||
* Ignition is in state ON. Accessories and instrument cluster available,
|
||||
* engine might be running or ready to be started.
|
||||
*
|
||||
* If IGNITION_STATE is implemented on a BEV, then this state must
|
||||
* communicate that the BEV's High Voltage battery is connected and thus the
|
||||
* vehicle is ON.
|
||||
*/
|
||||
ON,
|
||||
/**
|
||||
|
||||
@@ -21,6 +21,9 @@ package android.hardware.automotive.vehicle;
|
||||
*
|
||||
* Most XXX_LIGHTS_STATE properties will only report ON and OFF states. Only
|
||||
* the HEADLIGHTS_STATE property will report DAYTIME_RUNNING.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -22,6 +22,9 @@ package android.hardware.automotive.vehicle;
|
||||
* XXX_LIGHTS_SWITCH properties report the switch settings that the user
|
||||
* selects. The switch setting may be decoupled from the state reported if the
|
||||
* user selects AUTOMATIC.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the current level of VehicleProperty#ENGINE_OIL_LEVEL.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -59,6 +59,8 @@ enum VehicleProperty {
|
||||
/**
|
||||
* Manufacturer of vehicle
|
||||
*
|
||||
* This property must communicate the vehicle's public brand name.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.STATIC
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @version 2
|
||||
@@ -68,6 +70,8 @@ enum VehicleProperty {
|
||||
/**
|
||||
* Model of vehicle
|
||||
*
|
||||
* This property must communicate the vehicle's public model name.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.STATIC
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @version 2
|
||||
@@ -87,6 +91,11 @@ enum VehicleProperty {
|
||||
/**
|
||||
* Fuel capacity of the vehicle in milliliters
|
||||
*
|
||||
* This property must communicate the maximum amount of the fuel that can be stored in the
|
||||
* vehicle in milliliters. This property does not apply to electric vehicles. That is, if
|
||||
* INFO_FUEL_TYPE only contains FuelType::FUEL_TYPE_ELECTRIC, this property must not be
|
||||
* implemented. For EVs, implement INFO_EV_BATTERY_CAPACITY.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.STATIC
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @unit VehicleUnit.MILLILITER
|
||||
@@ -102,7 +111,7 @@ enum VehicleProperty {
|
||||
* An FHEV (Fully Hybrid Electric Vehicle) must not include FuelType::FUEL_TYPE_ELECTRIC in
|
||||
* INFO_FUEL_TYPE's INT32_VEC value. So INFO_FUEL_TYPE can be populated as such:
|
||||
* int32Values = { FuelType::FUEL_TYPE_UNLEADED }
|
||||
* On the other hand, a PHEV (Partially Hybrid Electric Vehicle) is plug in rechargeable, and
|
||||
* On the other hand, a PHEV (Plug-in Hybrid Electric Vehicle) is plug in rechargeable, and
|
||||
* hence should include FuelType::FUEL_TYPE_ELECTRIC in INFO_FUEL_TYPE's INT32_VEC value. So
|
||||
* INFO_FUEL_TYPE can be populated as such:
|
||||
* int32Values = { FuelType::FUEL_TYPE_UNLEADED, FuelType::FUEL_TYPE_ELECTRIC }
|
||||
@@ -115,12 +124,13 @@ enum VehicleProperty {
|
||||
INFO_FUEL_TYPE = 0x0105 + 0x10000000 + 0x01000000
|
||||
+ 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC
|
||||
/**
|
||||
* Nominal battery capacity for EV or hybrid vehicle
|
||||
* Nominal usable battery capacity for EV or hybrid vehicle
|
||||
*
|
||||
* Returns the nominal battery capacity, if EV or hybrid. This is the battery capacity when the
|
||||
* vehicle is new. This value might be different from EV_CURRENT_BATTERY_CAPACITY because
|
||||
* EV_CURRENT_BATTERY_CAPACITY returns the real-time battery capacity taking into account
|
||||
* factors such as battery aging and temperature dependency.
|
||||
* Returns the nominal battery capacity, if EV or hybrid. This is the total usable battery
|
||||
* capacity when the vehicle is new. This value might be different from
|
||||
* EV_CURRENT_BATTERY_CAPACITY because EV_CURRENT_BATTERY_CAPACITY returns the real-time usable
|
||||
* battery capacity taking into account factors such as battery aging and temperature
|
||||
* dependency.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.STATIC
|
||||
* @access VehiclePropertyAccess.READ
|
||||
@@ -132,6 +142,9 @@ enum VehicleProperty {
|
||||
/**
|
||||
* List of connectors this EV may use
|
||||
*
|
||||
* If the vehicle has multiple charging ports, this property must return all possible connector
|
||||
* types that can be used by at least one charging port on the vehicle.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.STATIC
|
||||
* @data_enum EvConnectorType
|
||||
* @access VehiclePropertyAccess.READ
|
||||
@@ -142,6 +155,11 @@ enum VehicleProperty {
|
||||
/**
|
||||
* Fuel door location
|
||||
*
|
||||
* This property must communicate the location of the fuel door on the vehicle. This property
|
||||
* does not apply to electric vehicles. That is, if INFO_FUEL_TYPE only contains
|
||||
* FuelType::FUEL_TYPE_ELECTRIC, this property must not be implemented. For EVs, implement
|
||||
* INFO_EV_PORT_LOCATION or INFO_MULTI_EV_PORT_LOCATIONS.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.STATIC
|
||||
* @data_enum PortLocationType
|
||||
* @access VehiclePropertyAccess.READ
|
||||
@@ -152,6 +170,11 @@ enum VehicleProperty {
|
||||
/**
|
||||
* EV port location
|
||||
*
|
||||
* This property must communicate the location of the charging port on the EV using the
|
||||
* PortLocationType enum. If there are multiple ports available on the vehicle, this property
|
||||
* must return the port that allows the fastest charging. To communicate all port locations,
|
||||
* use INFO_MULTI_EV_PORT_LOCATIONS.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.STATIC
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @data_enum PortLocationType
|
||||
@@ -196,7 +219,10 @@ enum VehicleProperty {
|
||||
* Port locations are defined in PortLocationType.
|
||||
* For example, a car has one port in front left and one port in rear left:
|
||||
* int32Values[0] = PortLocationType::FRONT_LEFT
|
||||
* int32Values[0] = PortLocationType::REAR_LEFT
|
||||
* int32Values[1] = PortLocationType::REAR_LEFT
|
||||
*
|
||||
* If only one port exists on the vehicle, this property's value should list just one element.
|
||||
* See INFO_EV_PORT_LOCATION for describing just one port location.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.STATIC
|
||||
* @access VehiclePropertyAccess.READ
|
||||
@@ -249,6 +275,10 @@ enum VehicleProperty {
|
||||
*
|
||||
* Angle is in degrees. Left is negative.
|
||||
*
|
||||
* This property is independent of the angle of the steering wheel. This property must
|
||||
* communicate the angle of the front wheels with respect to the vehicle, not the angle of the
|
||||
* steering wheel.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.CONTINUOUS
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @unit VehicleUnit.DEGREES
|
||||
@@ -261,6 +291,10 @@ enum VehicleProperty {
|
||||
*
|
||||
* Angle is in degrees. Left is negative.
|
||||
*
|
||||
* This property is independent of the angle of the steering wheel. This property must
|
||||
* communicate the angle of the rear wheels with respect to the vehicle, not the angle of the
|
||||
* steering wheel.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.CONTINUOUS
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @unit VehicleUnit.DEGREES
|
||||
@@ -350,9 +384,14 @@ enum VehicleProperty {
|
||||
WHEEL_TICK = 0x0306 + 0x10000000 + 0x01000000
|
||||
+ 0x00510000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT64_VEC
|
||||
/**
|
||||
* Fuel remaining in the vehicle, in milliliters
|
||||
* Fuel level in milliliters
|
||||
*
|
||||
* Value may not exceed INFO_FUEL_CAPACITY
|
||||
* This property must communicate the current amount of fuel remaining in the vehicle in
|
||||
* milliliters. This property does not apply to electric vehicles. That is, if INFO_FUEL_TYPE
|
||||
* only contains FuelType::FUEL_TYPE_ELECTRIC, this property must not be implemented. For EVs,
|
||||
* implement EV_BATTERY_LEVEL.
|
||||
*
|
||||
* Value may not exceed INFO_FUEL_CAPACITY.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.CONTINUOUS
|
||||
* @access VehiclePropertyAccess.READ
|
||||
@@ -364,6 +403,11 @@ enum VehicleProperty {
|
||||
/**
|
||||
* Fuel door open
|
||||
*
|
||||
* This property must communicate whether the fuel door on the vehicle is open or not. This
|
||||
* property does not apply to electric vehicles. That is, if INFO_FUEL_TYPE only contains
|
||||
* FuelType::FUEL_TYPE_ELECTRIC, this property must not be implemented. For EVs, implement
|
||||
* EV_CHARGE_PORT_OPEN.
|
||||
*
|
||||
* This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to
|
||||
* implement it as VehiclePropertyAccess.READ only.
|
||||
*
|
||||
@@ -389,12 +433,13 @@ enum VehicleProperty {
|
||||
EV_BATTERY_LEVEL = 0x0309 + 0x10000000 + 0x01000000
|
||||
+ 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:FLOAT
|
||||
/**
|
||||
* Current battery capacity for EV or hybrid vehicle
|
||||
* Current usable battery capacity for EV or hybrid vehicle
|
||||
*
|
||||
* Returns the actual value of battery capacity, if EV or hybrid. This property captures the
|
||||
* real-time battery capacity taking into account factors such as battery aging and temperature
|
||||
* dependency. Therefore, this value might be different from INFO_EV_BATTERY_CAPACITY because
|
||||
* INFO_EV_BATTERY_CAPACITY returns the nominal battery capacity from when the vehicle was new.
|
||||
* real-time usable battery capacity taking into account factors such as battery aging and
|
||||
* temperature dependency. Therefore, this value might be different from
|
||||
* INFO_EV_BATTERY_CAPACITY because INFO_EV_BATTERY_CAPACITY returns the nominal battery
|
||||
* capacity from when the vehicle was new.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.ON_CHANGE
|
||||
* @access VehiclePropertyAccess.READ
|
||||
@@ -406,6 +451,9 @@ enum VehicleProperty {
|
||||
/**
|
||||
* EV charge port open
|
||||
*
|
||||
* If the vehicle has multiple charging ports, this property must return true if any of the
|
||||
* charge ports are open.
|
||||
*
|
||||
* This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to
|
||||
* implement it as VehiclePropertyAccess.READ only.
|
||||
*
|
||||
@@ -419,6 +467,9 @@ enum VehicleProperty {
|
||||
/**
|
||||
* EV charge port connected
|
||||
*
|
||||
* If the vehicle has multiple charging ports, this property must return true if any of the
|
||||
* charge ports are connected.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.ON_CHANGE
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @version 2
|
||||
@@ -625,8 +676,12 @@ enum VehicleProperty {
|
||||
* The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All values between
|
||||
* minInt32Value and maxInt32Value must be supported. The minInt32Value must be 0.
|
||||
*
|
||||
* The maxInt32Value indicates the maximum amount of energy regenerated from braking. The
|
||||
* minInt32Value indicates no regenerative braking.
|
||||
* The maxInt32Value indicates the setting for the maximum amount of energy regenerated from
|
||||
* braking. The minInt32Value indicates the setting for no regenerative braking.
|
||||
*
|
||||
* This property is a more granular form of EV_REGENERATIVE_BRAKING_STATE. It allows the user to
|
||||
* set a more specific level of regenerative braking if the states in EvRegenerativeBrakingState
|
||||
* are not granular enough for the OEM.
|
||||
*
|
||||
* This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to
|
||||
* implement it as VehiclePropertyAccess.READ only.
|
||||
@@ -772,7 +827,7 @@ enum VehicleProperty {
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @data_enum ElectronicStabilityControlState
|
||||
* @data_enum ErrorState
|
||||
* @version 2
|
||||
* @version 3
|
||||
*/
|
||||
ELECTRONIC_STABILITY_CONTROL_STATE =
|
||||
0x040F + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.INT32,
|
||||
@@ -868,10 +923,18 @@ enum VehicleProperty {
|
||||
HVAC_TEMPERATURE_CURRENT = 0x0502 + 0x10000000 + 0x05000000
|
||||
+ 0x00600000, // VehiclePropertyGroup:SYSTEM,VehicleArea:SEAT,VehiclePropertyType:FLOAT
|
||||
/**
|
||||
* HVAC, target temperature set.
|
||||
* HVAC target temperature set in Celsius.
|
||||
*
|
||||
* The minFloatValue and maxFloatValue in VehicleAreaConfig must be defined.
|
||||
*
|
||||
* The minFloatValue indicates the minimum temperature setting in Celsius.
|
||||
* The maxFloatValue indicates the maximum temperature setting in Celsius.
|
||||
*
|
||||
* If all the values between minFloatValue and maxFloatValue are not supported, the configArray
|
||||
* can be used to list the valid temperature values that can be set. It also describes a lookup
|
||||
* table to convert the temperature from Celsius to Fahrenheit and vice versa for this vehicle.
|
||||
* The configArray must be defined if standard unit conversion is not supported on this vehicle.
|
||||
*
|
||||
* The configArray is used to indicate the valid values for HVAC in Fahrenheit and Celsius.
|
||||
* Android might use it in the HVAC app UI.
|
||||
* The configArray is set as follows:
|
||||
* configArray[0] = [the lower bound of the supported temperature in Celsius] * 10.
|
||||
* configArray[1] = [the upper bound of the supported temperature in Celsius] * 10.
|
||||
@@ -879,14 +942,35 @@ enum VehicleProperty {
|
||||
* configArray[3] = [the lower bound of the supported temperature in Fahrenheit] * 10.
|
||||
* configArray[4] = [the upper bound of the supported temperature in Fahrenheit] * 10.
|
||||
* configArray[5] = [the increment in Fahrenheit] * 10.
|
||||
*
|
||||
* The minFloatValue and maxFloatValue in VehicleAreaConfig must be equal to configArray[0] and
|
||||
* configArray[1] respectively.
|
||||
*
|
||||
* For example, if the vehicle supports temperature values as:
|
||||
* [16.0, 16.5, 17.0 ,..., 28.0] in Celsius
|
||||
* [60.5, 61.5, 62.5 ,..., 85.5] in Fahrenheit.
|
||||
* The configArray should be configArray = {160, 280, 5, 605, 825, 10}.
|
||||
* [60.5, 61.5, 62.5 ,..., 84.5] in Fahrenheit
|
||||
* The configArray should be configArray = {160, 280, 5, 605, 845, 10}.
|
||||
*
|
||||
* If the vehicle supports HVAC_TEMPERATURE_VALUE_SUGGESTION, the application can use
|
||||
* that property to get the suggested value before setting HVAC_TEMPERATURE_SET. Otherwise,
|
||||
* the application may choose the value in HVAC_TEMPERATURE_SET configArray by itself.
|
||||
* Ideally, the ratio of the Celsius increment to the Fahrenheit increment should be as close to
|
||||
* the actual ratio of 1 degree Celsius to 1.8 degrees Fahrenheit.
|
||||
*
|
||||
* There must be a one to one mapping of all Celsius values to Fahrenheit values defined by the
|
||||
* configArray. The configArray will be used by clients to convert this property's temperature
|
||||
* from Celsius to Fahrenheit. Also, it will let clients know what Celsius value to set the
|
||||
* property to achieve their desired Fahreneheit value for the system. If the ECU does not have
|
||||
* a one to one mapping of all Celsius values to Fahrenheit values, then the config array should
|
||||
* only define the list of Celsius and Fahrenheit values that do have a one to one mapping.
|
||||
*
|
||||
* For example, if the ECU supports Celsius values from 16 to 28 and Fahrenheit values from 60
|
||||
* to 85 both with an increment of 1, then one possible configArray would be {160, 280, 10, 600,
|
||||
* 840, 20}. In this case, 85 would not be a supported temperature.
|
||||
*
|
||||
* Any value set in between a valid value should be rounded to the closest valid value.
|
||||
*
|
||||
* It is highly recommended that the OEM also implement the HVAC_TEMPERATURE_VALUE_SUGGESTION
|
||||
* vehicle property because it provides applications a simple method for determining temperature
|
||||
* values that can be set for this vehicle and for converting values between Celsius and
|
||||
* Fahrenheit.
|
||||
*
|
||||
* This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to
|
||||
* implement it as VehiclePropertyAccess.READ only.
|
||||
@@ -1295,7 +1379,22 @@ enum VehicleProperty {
|
||||
*
|
||||
* An application calls set(VehiclePropValue propValue) with the requested value and unit for
|
||||
* the value. OEMs need to return the suggested values in floatValues[2] and floatValues[3] by
|
||||
* onPropertyEvent() callbacks.
|
||||
* onPropertyEvent() callbacks. The suggested values must conform to the values that can be
|
||||
* derived from the HVAC_TEMPERATURE_SET configArray. In other words, the suggested values and
|
||||
* the table of values from the configArray should be the same. It is recommended for the OEM to
|
||||
* add custom logic in their VHAL implementation in order to avoid making requests to the HVAC
|
||||
* ECU.
|
||||
*
|
||||
* The logic can be as follows:
|
||||
* For converting the temperature from celsius to fahrenheit use the following:
|
||||
* // Given tempC and the configArray
|
||||
* float minTempC = configArray[0] / 10.0;
|
||||
* float temperatureIncrementCelsius = configArray[2] / 10.0;
|
||||
* float minTempF = configArray[3] / 10.0;
|
||||
* float temperatureIncrementFahrenheit = configArray[5] / 10.0;
|
||||
* // Round to the closest increment
|
||||
* int numIncrements = round((tempC - minTempC) / temperatureIncrementCelsius);
|
||||
* tempF = temperatureIncrementFahrenheit * numIncrements + minTempF;
|
||||
*
|
||||
* For example, when a user uses the voice assistant to set HVAC temperature to 66.2 in
|
||||
* Fahrenheit.
|
||||
@@ -1557,6 +1656,11 @@ enum VehicleProperty {
|
||||
/**
|
||||
* Outside temperature
|
||||
*
|
||||
* This property must communicate the temperature reading of the environment outside the
|
||||
* vehicle. If there are multiple sensors for measuring the outside temperature, this property
|
||||
* should be populated with the mean or a meaningful weighted average of the readings that will
|
||||
* best represent the temperature of the outside environment.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.CONTINUOUS
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @unit VehicleUnit.CELSIUS
|
||||
@@ -1630,8 +1734,13 @@ enum VehicleProperty {
|
||||
* change display brightness from Settings, but that must not be reflected
|
||||
* to other displays.
|
||||
*
|
||||
* If this is writable, writing this property must cause an on property
|
||||
* change event even if the new display brightness is the same as the
|
||||
* current value.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.ON_CHANGE
|
||||
* @access VehiclePropertyAccess.READ_WRITE
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @version 2
|
||||
*/
|
||||
DISPLAY_BRIGHTNESS = 0x0A03 + 0x10000000 + 0x01000000
|
||||
@@ -1648,9 +1757,24 @@ enum VehicleProperty {
|
||||
* implemented. If both are available, PER_DISPLAY_BRIGHTNESS is used by
|
||||
* AAOS.
|
||||
*
|
||||
* If this is supported, PER_DISPLAY_MAX_BRIGHTNESS must be supported to represent the max
|
||||
* display brightness for each display. Otherwise, the max display brightness is by default 1.
|
||||
* The VehicleAreaConfig.maxInt32Value must not be used to represent max display brightness,
|
||||
* because maxInt32Value is defined to be the max value for all the elements inside the integer
|
||||
* value, which includes display port and brightness. So it is not meaningful.
|
||||
*
|
||||
* The display port uniquely identifies a physical connector on the device
|
||||
* for display output, ranging from 0 to 255.
|
||||
*
|
||||
* Writing this property must cause an on property change event that
|
||||
* contains the same [display port, brightness] tuple even if the new
|
||||
* display brightness is the same as the current value.
|
||||
*
|
||||
* To get the display brightness for a specific display port, the
|
||||
* GetValueRequest must contain a VehiclePropValue, which contains one
|
||||
* int32Value: displayPort. Getting this property without specifying the
|
||||
* the display port is undefined behavior.
|
||||
*
|
||||
* int32Values[0] : display port
|
||||
* int32Values[1] : brightness
|
||||
*
|
||||
@@ -2909,7 +3033,7 @@ enum VehicleProperty {
|
||||
* @change_mode VehiclePropertyChangeMode.ON_CHANGE
|
||||
* @access VehiclePropertyAccess.READ_WRITE
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @version 3
|
||||
* @version 2
|
||||
*/
|
||||
SEAT_AIRBAG_ENABLED =
|
||||
0x0B9E + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.BOOLEAN,
|
||||
@@ -2932,7 +3056,7 @@ enum VehicleProperty {
|
||||
* @change_mode VehiclePropertyChangeMode.ON_CHANGE
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @data_enum VehicleAirbagLocation
|
||||
* @version 2
|
||||
* @version 3
|
||||
*/
|
||||
SEAT_AIRBAGS_DEPLOYED =
|
||||
0x0BA5 + VehiclePropertyGroup.SYSTEM + VehicleArea.SEAT + VehiclePropertyType.INT32,
|
||||
@@ -3182,9 +3306,9 @@ enum VehicleProperty {
|
||||
WINDOW_MOVE = 0x0BC1 + 0x10000000 + 0x03000000
|
||||
+ 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:WINDOW,VehiclePropertyType:INT32
|
||||
/**
|
||||
* Window Lock
|
||||
* Window Child Lock
|
||||
*
|
||||
* True indicates windows are locked and can't be moved.
|
||||
* True indicates the window is child-locked.
|
||||
*
|
||||
* This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to
|
||||
* implement it as VehiclePropertyAccess.READ only.
|
||||
@@ -4822,6 +4946,10 @@ enum VehicleProperty {
|
||||
*
|
||||
* Returns the current charging state of the car.
|
||||
*
|
||||
* If the vehicle has a target charge percentage other than 100, this property must return
|
||||
* EvChargeState::STATE_FULLY_CHARGED when the battery charge level has reached the target
|
||||
* level. See EV_CHARGE_PERCENT_LIMIT for more context.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.ON_CHANGE
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @data_enum EvChargeState
|
||||
@@ -4861,10 +4989,13 @@ enum VehicleProperty {
|
||||
+ 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32
|
||||
|
||||
/**
|
||||
* Regenerative braking or one-pedal drive state of the car
|
||||
* Regenerative braking or one-pedal drive setting of the car
|
||||
*
|
||||
* Returns the current state associated with the regenerative braking
|
||||
* setting in the car
|
||||
* Returns the current setting associated with the regenerative braking setting in the car
|
||||
*
|
||||
* If the OEM requires more setting than those provided in EvRegenerativeBrakingState, the
|
||||
* EV_BRAKE_REGENERATION_LEVEL property can be used instead, which provides a more granular
|
||||
* way of providing the same information.
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.ON_CHANGE
|
||||
* @access VehiclePropertyAccess.READ
|
||||
@@ -5089,6 +5220,27 @@ enum VehicleProperty {
|
||||
CAMERA_SERVICE_CURRENT_STATE = 0x0F4D + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL
|
||||
+ VehiclePropertyType.INT32_VEC,
|
||||
|
||||
/**
|
||||
* Property to represent max brightness of the displays which are controlled separately.
|
||||
*
|
||||
* This is only used if PER_DISPLAY_BRIGHTNESS is supported.
|
||||
*
|
||||
* The display port uniquely identifies a physical connector on the device
|
||||
* for display output, ranging from 0 to 255.
|
||||
*
|
||||
* int32Values[0] : display port number
|
||||
* int32Values[1] : max brightness for display port number specified at int32Values[0]
|
||||
* int32Values[2] : display port number
|
||||
* int32Values[3] : max brightness for display port number specified at int32Values[2]
|
||||
* ...
|
||||
*
|
||||
* @change_mode VehiclePropertyChangeMode.STATIC
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @version 3
|
||||
*/
|
||||
PER_DISPLAY_MAX_BRIGHTNESS = 0x0F4E + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL
|
||||
+ VehiclePropertyType.INT32_VEC,
|
||||
|
||||
/***********************************************************************************************
|
||||
* Start of ADAS Properties
|
||||
*
|
||||
@@ -5868,7 +6020,7 @@ enum VehicleProperty {
|
||||
* @change_mode VehiclePropertyChangeMode.ON_CHANGE
|
||||
* @access VehiclePropertyAccess.READ_WRITE
|
||||
* @access VehiclePropertyAccess.READ
|
||||
* @version 2
|
||||
* @version 3
|
||||
*/
|
||||
DRIVER_DISTRACTION_WARNING_ENABLED =
|
||||
0x101F + VehiclePropertyGroup.SYSTEM + VehicleArea.GLOBAL + VehiclePropertyType.BOOLEAN,
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used by seat occupancy to enumerate the current occupancy state of the seat.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the current state of VehicleProperty#WINDSHIELD_WIPERS_STATE.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -18,6 +18,9 @@ package android.hardware.automotive.vehicle;
|
||||
|
||||
/**
|
||||
* Used to enumerate the current position of VehicleProperty#WINDSHIELD_WIPERS_SWITCH.
|
||||
*
|
||||
* Through the use of VehicleAreaConfig#supportedEnumValues, OEMs may specify they only support a
|
||||
* subset of the enums that are defined here.
|
||||
*/
|
||||
@VintfStability
|
||||
@Backing(type="int")
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
"""A script to generate Java files and CPP header files based on annotations in VehicleProperty.aidl
|
||||
|
||||
Need ANDROID_BUILD_TOP environmental variable to be set. This script will update
|
||||
ChangeModeForVehicleProperty.h and AccessForVehicleProperty.h under generated_lib/cpp and
|
||||
ChangeModeForVehicleProperty.h and AccessForVehicleProperty.h under generated_lib/version/cpp and
|
||||
ChangeModeForVehicleProperty.java, AccessForVehicleProperty.java, EnumForVehicleProperty.java
|
||||
UnitsForVehicleProperty.java under generated_lib/java.
|
||||
UnitsForVehicleProperty.java under generated_lib/version/java.
|
||||
|
||||
Usage:
|
||||
$ python generate_annotation_enums.py
|
||||
@@ -31,22 +31,20 @@ import re
|
||||
import sys
|
||||
import tempfile
|
||||
|
||||
# Keep this updated with the latest in-development property version.
|
||||
PROPERTY_VERSION = '4'
|
||||
|
||||
PROP_AIDL_FILE_PATH = ('hardware/interfaces/automotive/vehicle/aidl_property/android/hardware/' +
|
||||
'automotive/vehicle/VehicleProperty.aidl')
|
||||
CHANGE_MODE_CPP_FILE_PATH = ('hardware/interfaces/automotive/vehicle/aidl/generated_lib/cpp/' +
|
||||
'ChangeModeForVehicleProperty.h')
|
||||
ACCESS_CPP_FILE_PATH = ('hardware/interfaces/automotive/vehicle/aidl/generated_lib/cpp/' +
|
||||
'AccessForVehicleProperty.h')
|
||||
CHANGE_MODE_JAVA_FILE_PATH = ('hardware/interfaces/automotive/vehicle/aidl/generated_lib/java/' +
|
||||
'ChangeModeForVehicleProperty.java')
|
||||
ACCESS_JAVA_FILE_PATH = ('hardware/interfaces/automotive/vehicle/aidl/generated_lib/java/' +
|
||||
'AccessForVehicleProperty.java')
|
||||
ENUM_JAVA_FILE_PATH = ('hardware/interfaces/automotive/vehicle/aidl/generated_lib/java/' +
|
||||
'EnumForVehicleProperty.java')
|
||||
UNITS_JAVA_FILE_PATH = ('hardware/interfaces/automotive/vehicle/aidl/generated_lib/java/' +
|
||||
'UnitsForVehicleProperty.java')
|
||||
VERSION_CPP_FILE_PATH = ('hardware/interfaces/automotive/vehicle/aidl/generated_lib/cpp/' +
|
||||
'VersionForVehicleProperty.h')
|
||||
GENERATED_LIB = ('hardware/interfaces/automotive/vehicle/aidl/generated_lib/' + PROPERTY_VERSION +
|
||||
'/')
|
||||
CHANGE_MODE_CPP_FILE_PATH = GENERATED_LIB + '/cpp/ChangeModeForVehicleProperty.h'
|
||||
ACCESS_CPP_FILE_PATH = GENERATED_LIB + '/cpp/AccessForVehicleProperty.h'
|
||||
CHANGE_MODE_JAVA_FILE_PATH = GENERATED_LIB + '/java/ChangeModeForVehicleProperty.java'
|
||||
ACCESS_JAVA_FILE_PATH = GENERATED_LIB + '/java/AccessForVehicleProperty.java'
|
||||
ENUM_JAVA_FILE_PATH = GENERATED_LIB + '/java/EnumForVehicleProperty.java'
|
||||
UNITS_JAVA_FILE_PATH = GENERATED_LIB + '/java/UnitsForVehicleProperty.java'
|
||||
VERSION_CPP_FILE_PATH = GENERATED_LIB + '/cpp/VersionForVehicleProperty.h'
|
||||
SCRIPT_PATH = 'hardware/interfaces/automotive/vehicle/tools/generate_annotation_enums.py'
|
||||
|
||||
TAB = ' '
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user